1988年,这项改进通过 MS-DOS 4.0得到广泛应用。现在分区大小受限于每个簇的8位有符号扇区计
数,它最大能达到2的64次方 ,对于一个常用的有32KB个簇每扇区512字节的硬盘来说,将FAT16分
区大小的“明显”限制扩 充到2GB。在磁光碟媒体上, 它能使用1或者2KB的扇区,这样大小限制也就
成比例地增大。
后来,Windows NT通过将每个簇的扇区 数当作无符号数将最大的簇大小增加到 64KB。然而这个格
式 与当时其它任何格式的FAT都不兼容,并且这样的操作会产生大量的内部碎片。Windows 98也支
持这种格式的读写操作,但是它的磁盘管理工具不支持这种格式。
Windows 95设计人员的 一个用户体验目标就是:除了传统的8.3文件名以外,在新操作系统中使用长
文件名(LFN)。长文件名通过在目录条目排列时,使用一个工作区来实现(参见下面)。按照
Windows 95VxD设备驱动程序的命名规则,这个新扩充的文件系统通常称为VFAT。
有 意思的是,VFAT驱动在早于Windows 95的Windows for Groups 3.11中就已经出现,但它仅仅用于
实现32位文件访问,一个绕过DOS的视窗自带高性能保护模式文件管理系统,它能够直接使用BIOS
或者更好的32位磁盘访问,如Windows自带的保护模式磁盘驱动程序。它是一个后门;微软为
Windows for Groups 3.11所作的广告说32位文件访问基于“芝加哥项目的32位文件系统”。
在Windows NT中,FAT文件系统对于长文件名的支持从3.5版就已经开始了。在MS-DOS 7.0以后的
版本中,则可使用类似DOSLFN这样的软件使得DIR等命令显示出长文件名。
为 了解决FAT16对于卷大小的限制同时让DOS的实模式在非必要情况下不减少可用 常规内存状况下
处理这种格式,微软公司决定实施新一代的FAT,它被称为FAT32,带有32位的簇数,目前用了其中
的28位。
理论上,这将支持总数 达268,435,438(<2
28
)的簇,允许 磁盘容量达到8TB。然而,由于微软公司
scandisk工具的限制,FAT32不能大于4,177,920(<2
22
)个簇,这将卷的容量限制在了124.55GB,除
非不再使用“scandisk”。
[4]
FAT32 随 着 Windows 95 OSR2 发 布 , 尽 管 需 要 重 新 格 式 化 才 能 使 用 这 种 格 式 并 且 DriveSpace
3(Windows 95 OSR2和Windows 98所带版本)从来都不支援这种格式。Windows 98提供了一个工具
用 来在不丢失数据的情况下将现有的硬盘从FAT16转到FAT32格式。在NT产品线上对于它的支援从
Windows 2000开始。
Windows 2000和Windows XP能够读写任何大小 的FAT32文件系统,但是这些平台 上的格式化程序只
能创建最大32GB的FAT32文件系统。Thompson and Thompson(2003)写道“奇怪的是微 软公 司说 这
种 现象是故意设计的”
[5]
微软公司知识库文章184006
[4]
的确 是这么说的,但是没有提出任何关于这
个限制的合理解释。Peter Norton的观点是“微软公司在有意地削弱FAT32文件系统”
[6]
。
在Windows Embedded CE 6.0中引入,Windows XP SP3 以及 Windows Vista SP1也引入了exFAT的支
持。在很多方面exFAT有了相当大的改进,特別適合用於快閃記憶體。
长 文件名 (VFAT, LFN)
FAT32
exFAT
第 三方支 持