Linux命令-磁盘分区及格式化

磁盘的组成:盘片、磁头、机械臂、主轴马达。

   盘片的组成:磁头划过的一个个同心圆称为磁道(track);从圆心向外画直线,可将磁道划分为若干的弧段,成为扇区(sector),是磁盘的最小组成单元,大小512byte。

   盘片上下两面各有一个磁头,每张盘片同一位置的磁道,组成了柱面(cylinder ):

    磁盘容量=磁头数*柱面(磁道)数*每柱面(磁道)扇区数*每扇区字节数

    每个磁道和柱面又进行了编号,比如n磁道m柱面,在这里有一个非常重要的位置,即:0磁道0扇区。这是MBR的存放位置,即Master Boot Record,主引导记录,大小为512byte。

   MBR的512byte中,446byte为bootloader占用,64byte为分区表占用(16byte表示一个分区,所以做多只能有4个主分区),以及2byte的结束标志(55AA)。


磁盘在Linux系统下是以什么形式存在的?

Linux哲学之一就是“一切皆文件”,同样,磁盘在Linux中也表现为文件,即/dev目录下:

    IDE,ATA:/dev/hd[a-z]

    SATA,SCSI,USB,SAS:sd[a-z]


1.分区

   磁盘分区能够让我们安全有效的管理文件、在不同分区创建不同的文件系统,那么Linux下如何分区呢?

命令:fdisk

   fdisk -l: 列出当前系统的分区信息;


   fdisk -l DEVICE : 显示DEVICE的分区信息

    fdisk DEVICE : 为DEVICE创建分区

    有fdisk -l可以看到当前系统有一块硬盘没有分区:/dev/sdb。下面我们以/dev/sdb为例,进行分区:

   fdisk是一个交互式命令,键入m,查看帮助信息:

    键入n创建新的分区:

   此处,我选择了创建primary主分区,选择分区号1,开始柱面(选择默认第一个柱面),结束柱面(以+Number K/M/G,此处+2G),由此可以看出分区的最小单位是“柱面”:

   键入p,查看分区信息:

   按照上述操作再次新建3个主分区,并查看分区表:

   MBR中64byte记录分区表,每个分区占用16byte,最多4个主分区,理论上我们不能再新建任何分区:

   果然不能新建任何分区了,并提示删除一些分区;

   键入d,删除分区,选择4号分区:

   如果我们需要大于4个分区,就需要新建扩展分区,并在扩展分区下新建逻辑分区了:

   当然,扩展分区不能格式化,也就不能为用户所使用,这就需要在扩展分区下新建逻辑分区了:

   第一个逻辑分区肯定是从第5个分区号开始的,如果磁盘空间够大,还可以继续划分逻辑分区,但是就命令fdisk来说,最好划分小于等于15个分区。

   完成分区划分后,键入w保存分区设置,否则,前面所有的设置都无效了:


   通过fdisk -l可以查看系统的分区情况:

   同样,使用fdisk -l /dev/sdb查看设备分区信息:

   分区完成后,内核并没有探测到新的分区,可以通过reboot或者命令手动让内核探测新的分区:

   RHEL 5:partprobe

   RHEL 6:partx -a /dev/[sh]d[a-z]

   查看内核识别的分区信息:cat /proc/partitons

   上述只是简单的分区操作,分区还有很多特殊的设置,在此只做简单的描述,以后用到时,再补充至此:

           q:不保存退出
           l:各分区类型所对应的systemID
               82:Linux swap,交换分区
               83:Linux
               85:Linux Extended
               8e:LVM
               fd:softRAID
           t:修改某指定分区的systemID
           a:设定可启动标记

2.格式化

   格式化就是创建文件系统的过程,分区后只有经过格式化才能有效的组织文件。

   linux内核默认支持的文件系统有:ext,xfs。

   下面我们以ext为例,进行格式化的讲解。

命令1:mkfs

   mkfs [options] /dev/[sh]d[a-z]

   option:

       -t fstype :指定文件系统类型

   命令blkid /dev/part查看指定分区的UUID,type,Label:

   命令提示符下,键入mkfs,按两次下Tab,会列出包含mkfs的命令,如下:

   还可以用mkfs.ext4格式化分区,效果和mkfs -t ext4一样,其实,mkfs -t 就是调用mkfs.fstype命令来实现的。

   使用mkfs格式化的要点:

    1、文件系统必须被内核支持,即该文件系统已经整合进系统

    2、必须有相应的创建文件系统的命令,即mkfs.fstype。

   所以存在哪种mkfs.fstype才能使用-t fstype创建相应的文件系统。


命令2:mke2fs

   mke2fs [options] /dev/[sh]d[a-z]

   option:

       -t [ext2|ext3|ext4] 指定文件系统类型

       -b [1024|2048|4096] 指定块大小

       -L label 设置卷标

       -m Num 预留给管理使用的空间占总空间的百分比,默认是预留5%

       -r #  预留给管理使用的块的个数

   查看fstype,label设置:

   查看block size设置:

   查看-m设置:

   mke2fs不指定文件系统类型,默认创建ext2的文件系统:

   mke2fs的配置文件:/etc/mke2fs.conf。可以通过修改其配置文件,实现mke2fs默认属性等设置。


   mke2fs也是调用mkfs.fstype来实现其功能的,那么mkfs也可以实现指定选项来设置卷标、块大小、预留百分比等:



命令3:tune2fs

   tune2fs [options] /dev/[sh]d[a-z]

   option:

       -l 显示文件系统超级块

       -L label 修改卷标

       -m Num 修改预留给管理使用的空间占总体空间的百分比

       -r # 修改预留给管理使用的块个数

    如果需要改变文件系统类型和块大小,只能通过重新格式化,指定相应参数即可。


   大家有没有注意fstype=ext3,前面的SEC_TYPE=ext2:

   或许,由下面两个例子,可以得出什么信息:

   mount是用来挂在文件系统的,下篇会介绍。

   使用mount -t fstype挂在文件系统并指定挂载类型时,ext4的文件系统挂载为ext3格式的文件系统是不能成功的,但是,反之则可以成功;而ext3的文件系统挂载为ext2格式的文件系统成功,但是,反之则不成功。












本文出自 “大灰狼” 博客,请务必保留此出处http://huifei1314.blog.51cto.com/4681402/1409297

Linux命令-磁盘分区及格式化,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。