我搜索了互联网,但找不到任何令人信服的答案;
文件系统 VFAT 和 FAT32 是否相同,或者它们之间有什么区别?
复制自http://technet.microsoft.com/en-us/library/cc750354.aspx
什么是脂肪?
FAT 可能听起来像是一个奇怪的文件系统名称,但它实际上是 File Allocation Table 的首字母缩写。FAT 于 1981 年推出,在计算机术语中是古老的。由于其年代久远,大多数操作系统(包括 Microsoft Windows NT®、Windows 98、Macintosh OS 和某些版本的 UNIX)都提供对 FAT 的支持。
FAT 文件系统将文件名限制为 8.3 命名约定,这意味着文件名在句点之前不能超过八个字符,在句点之后不能超过三个。FAT 文件系统中的文件名也必须以字母或数字开头,并且不能包含空格。文件名不区分大小写。
VFAT 怎么样?
也许您还听说过称为 VFAT 的文件系统。VFAT 是 FAT 文件系统的扩展,是在 Windows 95 中引入的。VFAT 保持与 FAT 的向后兼容性,但放宽了规则。例如,VFAT 文件名最多可以包含 255 个字符、空格和多个句点。尽管 VFAT 保留了文件名的大小写,但它并不区分大小写。
当您使用 VFAT 创建长文件名(长于 8.3)时,文件系统实际上会创建两个不同的文件名。一是实际的长文件名。此名称对 Windows 95、Windows 98 和 Windows NT(4.0 及更高版本)可见。第二个文件名称为 MS-DOS® 别名。MS-DOS 别名是长文件名的缩写形式。文件系统通过获取长文件名的前六个字符(不包括空格),后跟波浪号 [~] 和数字尾符来创建 MS-DOS 别名。例如,文件名 Brien 的 Document.txt 将具有 BRIEN'~1.txt 的别名。
VFAT 存储其长文件名的方式产生了一个有趣的副作用。当您使用 VFAT 创建长文件名时,它使用一个目录条目作为 MS-DOS 别名,并为长文件名的每 13 个字符使用另一个条目。理论上,一个长文件名最多可以占用 21 个目录条目。根目录有 512 个文件的限制,但如果您要使用根目录中的最大长度长文件名,您可以将此限制减少到仅 24 个文件。因此,您应该非常谨慎地在根目录中使用长文件名。其他目录不受此限制的影响。
您可能想知道我们为什么要讨论 VFAT。原因是它变得比 FAT 更普遍,但除了我上面提到的差异之外,VFAT 也有相同的限制。当您告诉 Windows NT 将分区格式化为 FAT 时,它实际上将分区格式化为 VFAT。在 Windows NT 4.0 下您将拥有真正的 FAT 分区的唯一情况是当您使用另一个操作系统(例如 MS-DOS)来格式化该分区时。
FAT32
FAT32 实际上是 FAT 和 VFAT 的扩展,最初是在 Windows 95 OEM Service Release 2 (OSR2) 中引入的。FAT32 极大地增强了 VFAT 文件系统,但它也有其缺点。
FAT32 的最大优势在于它极大地增加了可用硬盘空间的数量。为了说明这一点,请考虑 FAT 分区(也称为 FAT16 分区)每个分区只允许一定数量的簇。因此,随着分区大小的增加,集群大小也必须增加。例如,512-MB FAT 分区的簇大小为 8K,而 2-GB 分区的簇大小为 32K。
在您考虑到 FAT 文件系统仅在单个集群增量中工作之前,这听起来可能没什么大不了的。例如,在一个 2 GB 的分区上,一个 1 字节的文件将占据整个集群,从而消耗 32K,或者大约是文件应该消耗的空间量的 32,000 倍。此规则适用于硬盘上的每个文件,因此您可以查看可以浪费多少空间。
将分区转换为 FAT32 可减少群集大小(并克服 2 GB 分区大小限制)。对于 8 GB 或更小的分区,集群大小减少到仅 4K。可以想象,通过将分区转换为 FAT32 来恢复数百兆字节的情况并不少见,尤其是在分区包含大量小文件的情况下。
注意:引用/文章(1999)的这一部分已过时。下面更新了信息报价。
正如我所提到的,FAT32 确实有局限性。不幸的是,它与 Windows 98 和 Windows 95 的 OSR2 版本以外的任何操作系统都不兼容。但是,Windows 2000 将能够读取 FAT32 分区。
另一个缺点是您的磁盘实用程序和防病毒软件必须支持 FAT32。否则,他们可能会将新文件结构解释为错误并尝试更正它,从而破坏过程中的数据。
最后,我应该提一下,转换为 FAT32 是一个单向过程。转换为 FAT32 后,您无法将分区转换回 FAT16。因此,在转换为 FAT32 之前,您需要考虑计算机是否会在双引导环境中使用。我还应该指出,虽然其他操作系统如 Windows NT 不能直接读取 FAT32 分区,但它们可以通过网络读取它。因此,与网络上运行旧操作系统的其他计算机共享存储在 FAT32 分区上的信息是没有问题的。
Doktor-J在评论中提到的更新(类似于更新过时的答案,以防评论丢失):
我只想指出,大多数现代操作系统(WinXP/Vista/7/8、MacOS X,如果不是所有 Linux 变体的话,大多数)都可以读取 FAT32,这与倒数第二段所暗示的相反。
最初的文章写于 1999 年,发布在 Microsoft 网站上,可能与非 Microsoft 操作系统无关。
该段“排除”的操作系统可能是最初的 Windows 95、Windows NT 4.0、Windows 3.1、DOS 等。
FAT32
和FAT16
和FAT12
是文件系统类型,但vfat
和umsdos
和msdos
是驱动程序,用于在 Linux 中挂载 FAT 文件系统。驱动程序的选择决定了某些功能如何应用于文件系统。例如,安装了msdos
驱动程序的系统没有长文件名(它们使用8.3 格式)。vfat
是当今最常用的挂载 FAT32 文件系统的驱动程序。
来源:这篇维基百科文章
df
命令的输出lsblk
确实显示vfat
为文件系统类型。但sudo file -sL /dev/<partition>
显示FAT (32 bit)
文件系统是否为 FAT32。
您可以通过运行来确认vfat
是模块而不是文件系统类型modinfo vfat
。