为什么FAT32只限于2 ^ 28个簇以下?


31

使用FAT16时,最大群集大小为32K时,最大分区大小为2GB。

通过将可寻址单元的数量乘以群集大小来计算。

(2 16个分配单位)*(2 15字节/群集)= 2 GiB

但是对于FAT32,当我执行相同的计算时,使用2 个32个群集时,我得到的数字比最大8 TiB大得多。

(2 32分配单位)*(集群大小)

如果使用512字节的群集大小,则已经达到2 TiB。

微软在XP TechNet文章中

FAT32卷上的最大群集数量为268,435,445,每个群集最大为32 KB,以及文件分配表(FAT)所需的空间。

这样最大群集大小为2 28-11

鉴于FAT16中的簇数为2 16,为什么FAT32中的最大簇数为2 28 -11而不是2 32

Answers:


49

FAT32 仅使用28位而不使用32位。“保留4位以备将来使用”。

因此,一个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。


3
太好了:D那正是我想找出的。此外,谷歌搜索FAT28还表明尽管它们“保留以备将来使用”,但它们从未真正使用过。
QMord

56
这就是“未来”的通常含义。
罗素·波罗戈夫

2
@RussellBorogove,即使40年后?
Pacerier,2015年

12
@Pacerier欢迎使用软件。最好腾出空间来减轻任何意外!
古斯多

5
@Pacerier:FAT32只有20岁了……
Daniele Torino
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.