使用 FAT16 时,当最大簇大小为 32K 时,最大分区大小为 2GB。
这是通过将可寻址单元的数量乘以集群大小来计算的。
(2 16分配单元)*(2 15字节/簇)= 2 GiB
然而,对于 FAT32,当我进行相同的计算时,得到的数字比使用 2 个32簇时的最大值 8 TiB 大得多。
(2 32分配单元)*(集群大小)
如果我使用 512 字节的簇大小,那么我已经达到 2 TiB。
在 XP TechNet 文章中,Microsoft说
FAT32 卷上可能的最大簇数为 268,435,445,每个簇的最大大小为 32 KB,另外还有文件分配表 (FAT) 所需的空间。
这使得最大簇大小为 2 28 - 11。
为什么 FAT32 中的最大簇数是 2 28 -11 而不是 2 32,而 FAT16 中的最大簇数是 2 16?
答案1
FAT32
仅使用 28 位,而不是 32 位。其中四位“保留以备将来使用”。
因此,一个FAT32
分区的最大簇数为 268,435,455(2 28 -1)
尽管 VFAT 是一个聪明的系统,但它并没有解决 FAT16 的局限性。因此,Windows 95 OSR2 中出现了一个新的文件系统(而不仅仅是 VFAT 那样更好的 FAT 管理)。这个文件系统称为 FAT32,它对 FAT 条目使用 32 位值。实际上,只使用了 28 位,因为保留了 4 位以备将来使用。
随着 FAT32 文件系统的出现,每个分区的最大簇数从 65535 增加到 268,435,455(2 28 -1)。因此,FAT32 允许更大的分区(最多 8 TB)。尽管 FAT32 分区的最大理论大小为 8 TB,但 Microsoft 已自愿将其在 Windows 9x 系统上限制为 32 GB,以推广 NTFS