点击访问 Linux 命令大全 >>
所有的磁盘在使用前都必须经过格式化,格式化就是在目标磁盘上建立文件系统的过程。在 Linux 下,mkfs 命令用于完成这一操作。但是,mkfs 本身并不执行建立文件系统的工作,而是调用相关的程序。这些程序包括 mkdosfs、mke2fs、mkfs.minix 等。
mkfs 命令语法:
[root@localhost ~]# mkfs
用法:
mkfs [选项] [-t <类型>] [文件系统选项] <设备> [<大小>]
选项:
-t, --type=<类型> 文件系统类型;若不指定,将使用 ext2
fs-options 实际文件系统构建程序的参数
<设备> 要使用设备的路径
<大小> 要使用设备上的块数
-V, --verbose 解释正在进行的操作;
多次指定 -V 将导致空运行(dry-run)
-V, --version 显示版本信息并退出
将 -V 作为 --version 选项时必须是惟一选项
-h, --help 显示此帮助并退出
更多信息请参阅 mkfs(8)。实例:为虚拟机 VMWare 多添加一块硬盘,然后在 Linux 中使用 fsmk 命令创建文件系统,最后再次使用 mount 将文件系统挂载到 /mnt/sdb 下面。详细步骤如下:
(1)打开虚拟机设置页面,点击“添加(A)...”按钮,如下图:

(2)在添加硬件向导中选择“硬盘”,然后点击“下一步”按钮。如下图:

(3)选择默认“SCSI”,然后点击“下一步”按钮。如下图:

(4)选择“创建新虚拟磁盘”选项,然后点击“下一步”按钮。如下图:

(5)设置磁盘容量,这里设置为 10GB,然后点击“下一步”按钮。如下:

(6)指定磁盘文件保存位置,然后点击“完成”按钮。如下图:

(7)到这里,成功添加了一个10GB容量的硬盘2,如下图:

(8)我们去启动 Linux 系统,启动成功后在 VMWare 右下角会出现两个硬盘图标,如下图:

(9)在 Linux 系统中,通过 mkfs 创建一个文件系统,通过 -t 选项指定文件系统,mkfs 会调用特定的程序对磁盘进行格式化。详细步骤如下:
a、使用 ls 和 grep 查看系统中所有的 sd 文件。如下:
[root@localhost ~]# ls /dev/ | grep ^sd
sda
sda1
sda2
sdbb、根据上面的结果,明显可以得知 sdb 就是我们刚刚添加的设备;此时,就可以使用 mkfs 创建文件系统。如下:
[root@localhost ~]# mkfs -t ext3 /dev/sdb
mke2fs 1.42.9 (28-Dec-2013)
/dev/sdb is entire device, not just one partition!
无论如何也要继续? (y,n) y
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
655360 inodes, 2621440 blocks
131072 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2684354560
80 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成c、设备创建完成后,可以使用 df -hT 查看我们刚刚创建的文件系统。如下:
[root@localhost ~]# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 17G 1.3G 16G 8% /
devtmpfs devtmpfs 898M 0 898M 0% /dev
tmpfs tmpfs 910M 0 910M 0% /dev/shm
tmpfs tmpfs 910M 9.6M 901M 2% /run
tmpfs tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 146M 869M 15% /boot
tmpfs tmpfs 182M 0 182M 0% /run/user/0上面我们并没有看见 /dev/sdb,这是因为我们没有将 /dev/sdb 挂载到目录。
d、将 /dev/sdb 挂载到 /mnt/sdb 目录,如下:
[root@localhost ~]# mkdir /mnt/sdb
[root@localhost ~]# mount /dev/sdb /mnt/sdb/e、再次使用 df -hT 查看我们刚刚创建的文件系统。如下:
[root@localhost ~]# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 17G 1.3G 16G 8% /
devtmpfs devtmpfs 898M 0 898M 0% /dev
tmpfs tmpfs 910M 0 910M 0% /dev/shm
tmpfs tmpfs 910M 9.6M 901M 2% /run
tmpfs tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 146M 869M 15% /boot
tmpfs tmpfs 182M 0 182M 0% /run/user/0
/dev/sdb ext3 9.8G 23M 9.2G 1% /mnt/sdb上面最后一行就是我们刚刚创建的磁盘。
f、进入到 /dev/sdb 设备的挂载目录 /mnt/sdb,然后创建文件。查看目录的详细信息,如下:
[root@localhost ~]# cd /mnt/sdb/
[root@localhost sdb]# touch readme.txt
[root@localhost sdb]# ll
总用量 16
drwx------. 2 root root 16384 8月 5 06:03 lost+found
-rw-r--r--. 1 root root 0 8月 5 06:04 readme.txt
[root@localhost sdb]#另外,可以使用 -c 选项来检查指定设备上损坏的块。
注意:如果硬盘分区已经挂载到文件系统中,那么在格式化之前必须用 umount 命令卸载该分区。