mkfs.ext2 命令是用来在 Linux 系统中创建 ext2 文件系统的工具。它能够在指定的分区上建立一个完整的 ext2 文件系统,包括块、块组描述符、inode 表格和数据块。使用该命令可以为文件系统分区指定合适的块大小、inode 数量、保留块数量等参数,并为分区创建相应的根目录和其他目录和文件。它还可以格式化某个磁盘分区、格式化一个软盘或闪存等,使得这些设备能够用于数据存储或者作为 Linux 文件系统挂载点。
命令名称
mkfs.ext2
命令功能
用于创建EXT2文件系统
命令全称
Make Filesystem EXT2
命令语法
mkfs.ext2 [options] device
mkfs.ext2 [options] device #[English]
命令参数
-m percentage #指定保留文件系统空间的百分比
-b block-size #指定块大小
-I interval-between-checks #指定检查间隔时间
-L volume-label #指定卷标
-N number-of-inodes #指定inode数量
-O feature[,...] #指定需要启用的文件系统功能
-T filesystem-type #指定文件系统类型
-t filetype #指定文件中存储的数据的类型
-j #启用ext3文件系统日志功能
-J journal-options #指定ext3文件系统日志选项
-O sparse_super #启用稀疏块功能
-O large_file #启用大文件支持功能
-O dir_index #启用目录索引功能
命令原理
linux mkfs.ext2 命令是用来创建 ext2 文件系统的命令。它的原理是将指定的磁盘分区格式化为 ext2 文件系统格式,包括创建块、inode 位图、数据块位图等数据结构,并将它们写入磁盘中。此过程会清除磁盘中的所有数据,因此要谨慎使用。
用法举例
#在/dev/sda1上创建ext2文件系统
mkfs.ext2 /dev/sda1
#在/dev/sda1上创建包含4KB块大小的ext2文件系统
mkfs.ext2 -b 4096 /dev/sda1
#在/dev/sda1上创建标记为"mylabel"的ext2文件系统
mkfs.ext2 -L "mylabel" /dev/sda1
#在/dev/sda1上创建含有坏块的ext2文件系统(忽略块检查)
mkfs.ext2 -F /dev/sda1
#在/dev/sda1上创建不包含日志功能的ext2文件系统
mkfs.ext2 -O ^has_journal /dev/sda1
#在/dev/sda1上创建不保留额外空间的ext2文件系统
mkfs.ext2 -m 0 /dev/sda1
#在/dev/sda1上创建用于小文件的ext2文件系统
mkfs.ext2 -T small /dev/sda1
#在/dev/sda1上创建启用日志功能的ext2文件系统
mkfs.ext2 -j /dev/sda1
#在/dev/sda1上创建包含惰性inode表初始化的ext2文件系统
mkfs.ext2 -E lazy_itable_init=1 /dev/sda1
#在/dev/sda1上创建512个inode的ext2文件系统
mkfs.ext2 -I 512 /dev/sda1
执行权限
需要root权限
系统路径
/sbin/mkfs.ext2
注意事项
使用该命令会格式化设备,清除所有数据。
系统自带
是
常用命令
是
命令分类
文件系统管理
参数详解
-m
指定文件系统的保留空间
#创建一个ext2文件系统,并将文件系统的保留空间设置为10%
mkfs.ext2 -m 10 /dev/sda1
#创建一个ext2文件系统并保留5个块在/dev/sdd1分区上。
mkfs.ext2 -m 5 /dev/sdd1
-I
设置文件系统的inode大小
#创建一个ext2文件系统,并将文件系统的inode大小设置为256字节
mkfs.ext2 -I 256 /dev/sda1
#创建一个inode大小为256的ext2文件系统在/dev/sdb1分区上
mkfs.ext2 -I 256 /dev/sdb1
#创建一个inode大小为1024字节的ext2文件系统
mkfs.ext2 -I 1024
#创建一个 ext2 文件系统,并使用 512 字节的 inode 位图存储算法
linux mkfs.ext2 -I 512
-L
为文件系统设置标签
#创建一个ext2文件系统,并为该文件系统设置标签为“mylabel”
mkfs.ext2 -L mylabel /dev/sda1
#创建一个标签为mylabel的ext2文件系统在/dev/sdc1分区上
mkfs.ext2 -L mylabel /dev/sdc1
#创建一个文件系统标签为mylabel的ext2文件系统
mkfs.ext2 -L mylabel
#创建一个ext2文件系统,并设置文件系统标签为myfs
mkfs.ext2 -L myfs /dev/sdb1
#创建一个名为 data 的 ext2 文件系统
linux mkfs.ext2 -L data
-O
启用指定的文件系统功能
#创建一个ext2文件系统,并启用日志功能
mkfs.ext2 -O journal_dev /dev/sda1
#将/dev/sde1分区格式化为ext2格式,并启用文件类型功能。
mkfs.ext2 -O filetype /dev/sde1
#创建一个使用sparse_super选项的ext2文件系统
mkfs.ext2 -O sparse_super
#创建一个ext2文件系统,并启用支持大文件选项
mkfs.ext2 -O large_file
#创建一个 ext2 文件系统,并启用目录索引功能
linux mkfs.ext2 -O dir_index
-v
显示创建过程中的详细信息
#创建一个ext2文件系统,并显示创建过程中的详细信息
mkfs.ext2 -v /dev/sda1
-b
指定文件系统的块大小
#创建一个块大小为4096的ext2文件系统
mkfs.ext2 -b 4096
#将/dev/sdb1分区格式化为ext2格式,并指定块大小为2048字节。
mkfs.ext2 -b 2048 /dev/sdb1
#创建一个 ext2 文件系统,并使用 1024 字节的块大小
linux mkfs.ext2 -b 1024
-c
检查磁盘中的坏块
#创建一个ext2文件系统,并检查/dev/sda1磁盘中的坏块
mkfs.ext2 -c /dev/sda1
-I interval-between-checks
设置文件系统检查的时间间隔
#创建一个ext2文件系统在/dev/sda1上,并设置为每周进行一次文件系统检查
mkfs.ext2 -I 1w /dev/sda1
#创建一个ext2文件系统在/dev/sdb1上,并设置为每月进行一次文件系统检查
mkfs.ext2 -I 1m /dev/sdb1
#创建一个ext2文件系统在/dev/sdc1上,并设置为每3天进行一次文件系统检查
mkfs.ext2 -I 3d /dev/sdc1
#创建一个ext2文件系统在/dev/sdd1上,并设置为不进行文件系统检查
mkfs.ext2 -I 0 /dev/sdd1
#创建一个ext2文件系统在/dev/sde1上,并设置为每两周进行一次文件系统检查
mkfs.ext2 -I 2w /dev/sde1
volume-label
指定文件系统的卷标名
#使用mkfs.ext2命令创建一个Ext2文件系统,并将文件系统的卷标设置为mydata。该文件系统将挂载在/dev/sdb2上。
mkfs.ext2 -L mydata /dev/sdb2
-N number-of-inodes
指定创建文件系统时预留的inode数量
#在/dev/sda1上创建ext2文件系统,并预留10000个inode数量。
sudo mkfs.ext2 -N 10000 /dev/sda1
-b block-size
指定文件系统块大小
#在/dev/sda1上创建ext2文件系统,并设置文件系统块大小为4096字节。
sudo mkfs.ext2 -b 4096 /dev/sda1
-I inode-size
指定每个inode的大小
#在/dev/sda1上创建ext2文件系统,并设置每个inode的大小为256字节。
sudo mkfs.ext2 -I 256 /dev/sda1
-O feature
启用指定的文件系统性
#在/dev/sda1上创建ext2文件系统,并启用dir_index性和filetype性。
sudo mkfs.ext2 -O dir_index,filetype /dev/sda1
-L volume-label
指定文件系统的卷标
#在/dev/sda1上创建ext2文件系统,并将卷标设置为mydisk。
sudo mkfs.ext2 -L mydisk /dev/sda1
-O test_fs
将文件系统标记为测试文件系统
#将/dev/sda1格式化为ext2文件系统,并将其标记为测试文件系统
sudo mkfs.ext2 -O test_fs /dev/sda1
-O ^has_journal
禁用ext3文件系统的日志功能
#将/dev/sdb1格式化为ext2文件系统,并禁用其日志功能,即使其在原本应该是ext3文件系统的情况下。
sudo mkfs.ext2 -O ^has_journal /dev/sdb1
-O sparse_super
使用稀疏块来减少文件系统元数据的空间占用
#将/dev/sdc1格式化为ext2文件系统,并使用稀疏块来减少元数据的空间占用。
sudo mkfs.ext2 -O sparse_super /dev/sdc1
-O dir_index
启用目录索引,加速目录操作
#将/dev/sdd1格式化为ext2文件系统,并启用目录索引功能,使目录操作更快。
sudo mkfs.ext2 -O dir_index /dev/sdd1
-O filetype
启用文件类型,可以根据文件类型设置不同的权限
#将/dev/sde1格式化为ext2文件系统,启用文件类型功能,可以根据文件类型设置不同的权限。
sudo mkfs.ext2 -O filetype /dev/sde1
-T, --type=filesystem-type
指定要创建的文件系统类型
#创建一个 ext4 文件系统在 /dev/sdb1 上
mkfs.ext2 -T ext4 /dev/sdb1
-L, --label=label
为文件系统添加一个标签名称
#创建一个 ext2 文件系统在 /dev/sdb1 上,并为它添加一个标签名称为 mylabel
mkfs.ext2 -L mylabel /dev/sdb1
-b, --block-size=size
指定块的大小,默认为 4096 字节
#创建一个 ext2 文件系统在 /dev/sdb1 上,并指定块的大小为 8192 字节
mkfs.ext2 -b 8192 /dev/sdb1
-c, --check
检查设备上的坏块,并在创建文件系统之前标记这些坏块
#检查设备 /dev/sdb1 上的坏块,并在创建 ext2 文件系统之前标记这些坏块
mkfs.ext2 -c /dev/sdb1
-F, --force
忽略信息,强制创建文件系统
#强制创建一个 ext2 文件系统在 /dev/sdb1 上,忽略信息。
mkfs.ext2 -F /dev/sdb1
-t filetype
指定创建的文件系统类型
#创建ext4类型的文件系统在/dev/sda1分区上
mkfs.ext2 -t ext4 /dev/sda1
-L label
指定文件系统的卷标
#创建文件系统并将其卷标设置为data,应用于/dev/sda1分区
mkfs.ext2 -L data /dev/sda1
-b blocksize
指定文件系统的块大小
#创建文件系统时块大小设置为4KB,应用于/dev/sda1分区
mkfs.ext2 -b 4096 /dev/sda1
-j
将文件系统格式化为ext3或ext4类型
#创建文件系统并将其格式化为ext3或ext4类型,应用于/dev/sda1分区
mkfs.ext2 -j /dev/sda1
-N
指定文件系统的inode数量。
#将/dev/sdd1分区格式化为ext2格式,并指定inode数量为10000。
mkfs.ext2 -N 10000 /dev/sdd1
#创建一个ext2文件系统,并设置inode数量为10000
mkfs.ext2 -N 10000
-J
指定创建文件系统时使用journaling功能
#在指定设备上创建一个ext2文件系统并启用journaling功能
mkfs.ext2 -J device
-J size=journal-size
指定journal的大小
#在指定设备上创建一个ext2文件系统并启用journaling功能,设置journal的大小为128MB
mkfs.ext2 -J size=128M device
-J device=journal-device
指定journal的存储设备
#在指定设备上创建一个ext2文件系统并启用journaling功能,将journal存储在/dev/sdb1设备上
mkfs.ext2 -J device=/dev/sdb1 device
-J commit=interval
设置journal的提交间隔
#在指定设备上创建一个ext2文件系统并启用journaling功能,每隔60秒提交一次journal
mkfs.ext2 -J commit=60s device
-J norecovery
禁用journal recovery
#在指定设备上创建一个ext2文件系统并启用journaling功能,禁用journal recovery功能。
mkfs.ext2 -J norecovery device
-T
指定文件系统类型
#创建一个largefile类型的ext2文件系统
mkfs.ext2 -T largefile
-F
强制格式化,不需要确认
#创建一个ext2文件系统并强制格式化硬盘/dev/sdb1,不需要用户确认。
mkfs.ext2 -F /dev/sdb1
-O ^sparse_super
禁用稀疏块
#创建一个禁用了稀疏块的 ext2 文件系统
linux mkfs.ext2 -O ^sparse_super
命令报错原因
* 文件系统已经存在,无法创建。
* 没有足够的权限创建文件系统。
* 设备不存在或无法访问。
* 分区已满,无法创建文件系统。