补充说明
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,应优先格式化分区。