![为什么 Linux 中的不同命令会给我不同的文件系统类型?](https://linux22.com/image/1355769/%E4%B8%BA%E4%BB%80%E4%B9%88%20Linux%20%E4%B8%AD%E7%9A%84%E4%B8%8D%E5%90%8C%E5%91%BD%E4%BB%A4%E4%BC%9A%E7%BB%99%E6%88%91%E4%B8%8D%E5%90%8C%E7%9A%84%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E7%B1%BB%E5%9E%8B%EF%BC%9F.png)
我正在尝试确定特定分区的文件系统类型。该命令fdisk -l
给出输出;
/dev/sdb1 2048 976773167 488385560 b W95 FAT32
但是命令fsck -N
给了我输出;
[/sbin/fsck.ext2 (1) -- /dev/sdb1] fsck.ext2 /dev/sdb1
同时mount
返回;
/dev/sdb1 vfat 488147168 16 488147152 1% /media/0DE3-DE95
并file -sL /dev/sdb1
显示最令人困惑的信息;
x86 boot sector, mkdosfs boot message display, code offset 0x58, OEM-ID " mkdosfs", sectors/cluster 32, Media descriptor 0xf8, heads 255, sectors 976771120 (volumes > 32 MB) , FAT (32 bit), sectors/FAT 238368, serial number 0xde3de95, label:
答案1
这些信息其实都是一致的。
FDISk 正在报告分区类型(我很确定从技术上讲您可以使用任何分区类型,但无论如何,您拥有的分区类型是正确的)。
FSCK 命令仅显示如果您没有指定其他设置,FSCK 将如何格式化磁盘。我怀疑它不会尝试读取分区类型,因此它只是猜测您可能想要什么 FS - 不正确。(这就是为什么您要使用 fsck.vfat)
Mount 显示它被格式化为 VFAT(这是 Linux 的 FAT 格式)
不确定 file 命令让您感到困惑的是什么?它告诉您它是一个 FAT 系统(FAT 来自 DOS 时代),并且它是 FAT 32。