Linux 磁盘上创建文件系统

点击访问 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
sdb

b、根据上面的结果,明显可以得知 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 命令卸载该分区。

说说我的看法
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号