Linux基础教程:关于mkfs

实际操作下:

我们把/dev/sdb1格式化成ext4文件系统。
[root@rhel6 sjb]# mkfs -t ext4 /dev/sdb1
mke2fs 1.41.12 (17-May-2010)
文件系统标签=                                          ------默认没有卷标
操作系统:Linux                             
块大小=4096 (log=0)                                -------默认块大小为4k
分块大小=4096 (log=0)
Stride=0 blocks, Stripe width=0 blocks
28112 inodes, 112420 blocks                      -------inode,block数量
5621 blocks (5.00%) reserved for the super user  ----为超级用户保留5%的块
第一个数据块=1                                        -------起始块
Maximum filesystem blocks=67371008
14 block groups                                 
8192 blocks per group, 8192 fragments per group  ---每个组有8192个块
2008 inodes per group                                  -------每个组有2008个inode
Superblock backups stored on blocks:          -------用于备份superblock的区块
        8193, 24577, 40961, 57345, 73729

正在写入inode表: 完成
Creating journal (4096 blocks): 完成            --------表示有日志记录,vfat,ext2无日志记录
Writing superblocks and filesystem accounting information: 完成

This filesystem will be automatically checked every 39 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
这个文件系统将在39次挂载或180天后执行磁盘检查。可以用tune2fs -c 或-i来改变这个默认设定。-c代表设立执行检查的最大挂载次数,0或-1代表无挂载次数限制。-i设立最大时间。0表示无时间限制。
 

其实也可以用mkfs.ext4来格式化为ext4分区,同样也可以用它来格式化为ext3分区。我们将/dev/sdb3格式化为ext3。

[root@rhel6 sjb]# mkfs.ext3 /dev/sdb3
mke2fs 1.41.12 (17-May-2010)
文件系统标签=
操作系统:Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
655776 inodes, 2622611 blocks
131130 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2688548864
81 block groups
32768 blocks per group, 32768 fragments per group
8096 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

This filesystem will be automatically checked every 31 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
 

我们用mkfs.vfat /dev/sdb5来将sdb5格式化为vfat。
[root@rhel6 sjb]# mkfs.vfat /dev/sdb5
mkfs.vfat 3.0.9 (31 Jan 2010)


一般我们使用默认参数就行了,如果想要指定一些参数,如block大小,inode的大小,文件系统,卷标等。可以使用这些参数来指定
-c快速读取检测磁盘,-c -c 读取和写入来检测磁盘。
-i 指定每个inode的大小。
-T 指定文件系统格式,如ext4,ext3,vfat。
-L 指定卷标

我们也可以用mke2fs来格式化/devsdb6,格式为vfat,卷标为winshare,block为1024.并且快速检测磁盘
[root@rhel6 sjb]# mke2fs -b 1024 -T vfat -c -L winshare /dev/sdb6
mke2fs 1.41.12 (17-May-2010)
文件系统标签=winshare                        -------可以看到卷标为winshare
操作系统:Linux
块大小=1024 (log=0)                            -------可以看到块大小变为了1024
分块大小=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
253440 inodes, 4048348 blocks
202417 blocks (5.00%) reserved for the super user
第一个数据块=1
Maximum filesystem blocks=71303168
495 block groups
8192 blocks per group, 8192 fragments per group
512 inodes per group
Superblock backups stored on blocks:
        8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409, 663553,
        1024001, 1990657, 2809857

Checking for bad blocks (read-only test): 完成            ----执行读取测试
正在写入inode表: 完成
Writing superblocks and filesystem accounting information: 完成

This filesystem will be automatically checked every 37 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.


我们把上面三个盘挂载后再看看。
[root@rhel6 sjb]# mount /dev/sdb1 /media/sdb1
[root@rhel6 sjb]# mount /dev/sdb3 /media/sdb3
[root@rhel6 sjb]# mount /dev/sdb6 /media/sdb6
[root@rhel6 sjb]# df -hT
文件系统    类型      容量  已用  可用 已用%% 挂载点
/dev/sda5    ext4    12G  1.6G  9.7G  15% /
tmpfs        tmpfs    250M    0  250M  0% /dev/shm
/dev/sda1    ext4  1008M  52M  906M  6% /boot
/dev/sda2    ext4    5.0G  151M  4.6G  4% /home
/dev/sdb1    ext4    107M  5.6M  96M  6% /media/sdb1
/dev/sdb3    ext3    9.9G  151M  9.3G  2% /media/sdb3
/dev/sdb5    vfat    5.1G  4.0K  5.1G  1% /media/sdb5
/dev/sdb6    ext2    3.8G  3.3M  3.7G  1% /media/sdb6
为什么sdb6是ext2? 不是明明指定了-T vfat吗?通过man mke2fs 知道,它是加载的/etc/mke2fs.conf文件,我们再通过查找mke2fs.conf文件,会发现里面根本没有vfat这一项,所以,当然就不能格式化为vfat了。为什么会是ext2呢?同样,mke2fs.conf里面的[default]选项告诉了我们,默认是格式化为ext2系统的!所以就成了ext2了。

相关推荐