为什么 FAT 分区的最大容量取决于我们选择的簇大小?

为什么 FAT 分区的最大容量取决于我们选择的簇大小?

例如:最大卷为 8 TiB(32 KiB 簇)和 16 TiB(64 KiB 簇)

答案1

文件系统将数据分成称为是最小的可寻址单元。但是,可寻址的最大簇数是固定的(取决于地址使用的位数),因此,如果簇较大,则最大分区大小也会较大

在 FAT16 中,地址长度为 16 位,因此最多有 ~2 16 个簇(略少,因为有些地址是为特殊目的保留的)。例如,对于 2KB 簇,最大卷大小将为 ~2 16 × 2KB = 2 16 × 2•2 10 = 2 27字节 = 128MB。同样,对于 64KB 簇,最大可能的 FAT16 卷为 4GB

在 FAT32 中地址为28位长(非 32 位)。32KB 簇的最大大小约为 2 28 × 32KB = 2 28 × 32•2 10 = 2 43字节 = 8TB

答案2

因为 FAT 是按照整个簇(而不是字节)来分配空间的,所以限制来自于数字卷上的簇数。(例如,FAT32 有一个 28 位字段用于存储簇号,因此它最多只能使用 228 个。)

因此在公式中……

卷大小 = 簇数 * 簇大小

...相同的簇数乘以不同的簇大小,将得到不同的总大小。


请注意FAT 文件系统受制于以下限制:物理磁盘扇区(通常为 512b 或 4K)的 32 位字段和逻辑 FAT 簇(大小可变)的 28 位字段。文件系统大小限制始终是两个限制中的最小值,因此在 512b 扇区磁盘上,无论 FAT 簇有多大,您仍然会被限制在 2TiB 的最大值。

相关内容