命令:mke2fs mke2fs [选项] 文件系统 磁盘盘符=

选项:

-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磁盘格式化的基础分享:

$ sudo umount /dev/sda1

# 必须先卸载该分区

$ sudo mkfs.vfat -F 32 /dev/sda1 # -F 参数必须大写,参数有 12,16 和 32,分别对应 FAT12,FAT16,FAT32。

$ sudo apt-get install ntfsprogs

$ 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%可是不小的数目啊!

『解决方法』

$ 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。当然你可以根据自己喜好设定。

$ sudo tune2fs -m 0.05 /dev/sda2 # 这个例子是转换 /dev/sda2 分区的super user保留区,同样设定为0.05,在提醒一次,是0.05%,也就是万分之5。

您可能感兴趣的文章:

  • LINUX磁盘分区、格式化、挂载、卸载详细过程
  • 实现批量linux格式化硬盘和挂载硬盘脚本分享
  • linux中Centos7增加swap分区详解
  • 详细解读linux下swap分区的作用
  • linux下查看swap分区被哪些进程占用实现脚本
  • Linux系统磁盘格式化以及手动增加swap分区