Linux磁盘格式化命令详解
命令:mke2fs mke2fs [选项] 文件系统 磁盘盘符=
注释:
1、磁盘虽然分好区了,但是还不能用,还需要在这每一个分区上格式化,所谓格式化,其实就是安装文件系统,Windows下的文件系统有Fat32、NTFS,CentOS使用的文件系统为ext,之前centOS5版本使用ext3作为默认的文件系统,而CentOS6使用ext4作为默认的文件系统;
2、当用man查询这四个命令的帮助文档时,你会发现我们看到了同一个帮助文档,这说明四个命令是一样的;
3、指定文件系统格式为ext4,该命令等同于mkfs ext4 /dev/sdb5,以后我们遇到余姚格式磁盘分区的时候,直接指定格式化为ext4即可,也可以根据操作系统的版本来决定格式化什么格式;
选项:
-b:分区时设定每个数据块占用空间大小,目前支持1024、2048以及4096 bytes每个块;
-i:设定inode的大小;
-N:设定inode数量,有时使用默认的inode数不够用,所以要自定设定inode数量;
-c:在格式化前先检测一下磁盘是否有问题,加上这个选项后会非常慢;
-L:预设该分区的标签label;
-j:建立ext3格式的分区,如果使用mkfs.ext3就不用加这个选项了;
-t:用来指定什么类型的文件系统,可以是ext2、ext3也可以是ext4;
-m:格式化时,指定预留给管理员的磁盘比例,是一个百分比,只针对mke2fs命令;
例如:mke2fs -t ext4 -b 4096 /dev/sdb5
注意:其中一个指标是“块的大小=4096”这里涉及到一个“块”的概念,磁盘在被格式化的时候会预先规定好每一个块的大小,然后再把所有的空间分割成一个一个的小块,存数据的时候也是一个快一个快的去写入,所以如果你的磁盘存的都是特别小特别小的文件,比如说1k或者2k,那么建议在格式化磁盘的时候指定块数值小一点,ext文件系统默认块的大小为4096,也就是4k,在格式化的时候,可以指定块大小为1024、2048或者4096(它们是成倍增加的),虽然格式化的时候可以指定块大小超过4096,但是一旦超过4096则不能正常挂载;
指定块的大小: mke2fs -t ext4 -b 8192 /dev/sdb5
注意:可以使用-L来指定标签,标签会在挂载磁盘的时候使用,另外也可以写到配置文件里,关于格式化的这一部分,我建议除非有需求,否则不需要指定块的大小,也就是说,你只需要记住这两个选项:-t和-L即可。
更多关于Linux磁盘格式化的基础分享:
基本功,格式化命令,以格式化 /dev/sda1 分区为例:
$ sudo umount /dev/sda1
# 必须先卸载该分区
# 格式化为 FAT 分区
$ sudo mkfs.vfat -F 32 /dev/sda1 # -F 参数必须大写,参数有 12,16 和 32,分别对应 FAT12,FAT16,FAT32。
# 格式化为 NTFS 分区,先要安装ntfsprogs,以 Ubuntu / Debian 为例:
$ sudo apt-get install ntfsprogs
#然后执行格式化命令,以格式化 /dev/sda1 分区为例:
$ sudo umount /dev/sda1 # 必须先卸载该分区
$ sudo mkfs.ntfs /dev/sda1 # 格式化为ntfs速度有点慢。
# 格式化为ext4/3/2 , 以格式化 /dev/sda1 分区为例:
$ sudo umount /dev/sda1 # 必须先卸载该分区
$ sudo mkfs.ext4 /dev/sda1 # 格式化为ext4分区
$ sudo mkfs.ext3 /dev/sda1 # 格式化为ext3分区
$ sudo mkfs.ext2 /dev/sda1 # 格式化为ext2分区
由于ext系列的分区都有一个给super user的保留空间,必须占用一定的百分比,默认5%,这么一来格式化容量小的分区还不觉得,5%也没多少,但是如果是几百G,1T的分区就会有问题,in this case,5%可是不小的数目啊!
『解决方法』
一、针对将要格式化的分区,以ext3为例:
$ sudo umount /dev/sda1 # 必须先卸载该分区,这里要格式化的是 /dev/sda1 分区。
$ sudo mkfs.ext3 -m 0.05 /dev/sda1 # 注意-m后的参数,设定的已经是百分位,这里设定为0.05,是0.05%,也就是万分之5!
好了,这样以1T的分区为例,1T=1024GB=1048576MB(都是乘以1024的关系),1048576MB*0.0005=524.288MB。
也就是说设定-m参数之后,保留区大概是524MB。当然你可以根据自己喜好设定。
二、对已经格式化完毕的分区,并且不想擦出分区中的数据,可以使用tune2fs -m的方法:
# 这条命令无须先卸载分区。
$ sudo tune2fs -m 0.05 /dev/sda2 # 这个例子是转换 /dev/sda2 分区的super user保留区,同样设定为0.05,在提醒一次,是0.05%,也就是万分之5。