我已经搜索了互联网,但找不到任何令人信服的答案;
文件系统VFAT和FAT32是否相同,或者它们之间有任何区别?
Answers:
从http://technet.microsoft.com/zh-cn/library/cc750354.aspx复制
什么是FAT?
FAT听起来像文件系统的一个奇怪名称,但实际上它是File Allocation Table的首字母缩写。FAT于1981年推出,从计算机的角度讲是古老的。由于年代久远,大多数操作系统(包括Microsoft WindowsNT®,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's 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
。