Linux 命令速查
文件管理 man mkfs.msdos

mkfs.msdos

创建 FAT12/FAT16/FAT32 文件系统(U 盘常用)。

返回

补充说明

mkfs.msdos 即 mkfs.msdos,与 mkfs.vfat、mkfs.fat 是同一个程序,来自 dosfstools 套件。它用于创建 FAT 系列文件系统,是 U 盘、SD 卡、EFI 系统分区(ESP)以及跨平台交换介质的事实标准。

程序会根据分区大小自动选择 FAT12/16/32,也可以用 -F 强制指定。FAT32 兼容性最好,但单个文件最大只能到 4GiB 减 1 字节;FAT16 的卷容量与文件数限制更严格。UEFI 启动要求 ESP 为 FAT32(很小的 ESP 可用 FAT16)。

格式化会清空分区。创建后建议用 dosfsck(fsck.vfat)检查,并用 mlabel 或 mkfs 的 -n 设置卷标。Linux 挂载类型为 vfat。

语法

mkfs.msdos [选项] 设备 [块数]

选项

  • -F 12|16|32:强制指定 FAT 位数
  • -n 标签:设置卷标,最长 11 个字符
  • -S 字节:设置逻辑扇区大小
  • -s 扇区数:设置每簇扇区数
  • -a:不按簇边界对齐数据区(兼容旧设备)
  • -c:创建前检查坏块
  • -v:输出详细信息
  • -I:忽略“整盘设备”的警告,强制格式化
  • -C:创建一个文件作为文件系统镜像
  • --invariant:使用固定的 UUID 与时间戳,便于可复现构建

实例

# 把 U 盘分区格式化为 FAT32 并设置卷标
sudo mkfs.msdos -F 32 -n USBDRIVE /dev/sdb1

# 创建 64MB 的 FAT 镜像文件
mkfs.msdos -C disk.img 65536

# 制作 EFI 系统分区
sudo mkfs.vfat -F 32 -n EFI /dev/sdb1

# 检查文件系统
sudo dosfsck -a /dev/sdb1

注意事项

  • 写入前必须卸载分区,否则可能得到损坏的文件系统。
  • FAT32 单文件上限为 4GiB-1,存放镜像或视频时要注意拆分。
  • 卷标建议只用大写字母、数字和下划线,避免跨系统显示异常。
  • 不要对整盘设备随意使用 -I,应优先格式化分区。

参考链接