必须先卸载目标分区并确认设备路径准确,再用sudo mkfs.ext4 /dev/sdb1格式化为ext4文件系统,可选加-l设卷标、-m调预留空间,必要时用wipefs -a清除旧签名后重建。

直接用 mkfs.ext4 命令格式化目标分区即可,但必须确保它未被挂载,且设备路径准确——选错设备会清空整个分区的数据。
确认并卸载目标分区
格式化前,分区不能处于挂载状态,否则命令会拒绝执行或引发异常。
- 运行 lsblk 或 lsblk -f 查看所有块设备及其挂载点,找到你要操作的分区(例如 /dev/sdb1),确认其 MOUNTPOINT 列为空
- 如果已挂载(比如显示为 /media/mydisk),先执行 sudo umount /dev/sdb1
- 不确定是否残留挂载?可加 -l 参数强制卸载:sudo umount -l /dev/sdb1
执行 ext4 格式化
最常用、最直接的方式是调用专用命令 mkfs.ext4,它会自动创建超级块、inode 表等必要结构。
- 基础命令:sudo mkfs.ext4 /dev/sdb1
- 想加卷标(方便识别):sudo mkfs.ext4 -L "data" /dev/sdb1
- 减少预留空间(默认保留 5% 给 root,大容量盘可调低):sudo mkfs.ext4 -m 1 /dev/sdb1(设为 1%)
- 遇到 “device is busy” 提示?说明还有进程在访问该设备,可用 lsof +D /mount/point 或 fuser -v /mount/point 查找并终止
处理旧文件系统残留签名
若磁盘曾用作其他系统(如 Windows NTFS、旧 Linux LVM),可能残留元数据签名,导致 mkfs 报错或挂载异常。
- 先清除旧签名:sudo wipefs -a /dev/sdb1
- 再重新格式化:sudo mkfs.ext4 /dev/sdb1
- 注意:wipefs -a 会擦除所有已知文件系统签名,不破坏分区表本身,相对安全
验证与后续使用
格式化完成后,建议快速验证是否成功,并为后续挂载做好准备。
- 查看新文件系统信息:sudo dumpe2fs -h /dev/sdb1 | grep -E "Filesystem volume name|Block count|Free blocks"
- 获取 UUID(推荐用于挂载,比设备名更稳定):sudo blkid /dev/sdb1
- 临时挂载测试:sudo mkdir -p /mnt/test && sudo mount /dev/sdb1 /mnt/test
- 如需开机自动挂载,把 UUID 和挂载点写入 /etc/fstab,例如:
UUID=xxxx-xxxx /mnt/data ext4 defaults 0 2











