如何确定最大簇大小?当 Windows 在格式化驱动器时提供选择“分配单元大小”的选项时,它如何决定显示什么大小?如果我选择 FAT,我会看到 32KiB 和 64KiB,但是 FAT32 的选项范围从 0.5KiB 到 16KiB(以 2 的幂为单位)。在 exFAT 中,选项最高可达 32MiB。
据我了解,如果您想充分利用驱动器的容量,则可能存在最小值,因为必须用有限的位数来表示簇地址,但我想不出最大值如此小的原因。
这仅仅是软件限制吗?
编辑:研究表明,FAT32 最多可以支持 2TiB 卷(或 16TiB,具体取决于簇大小)。附带问题:如果这是软件限制,那么在簇大小更高的情况下,这个限制还能更高吗?
答案1
这个硬盘有多大?
FAT 上每个簇的扇区数存储在一个 8 位字段中,在旧系统上,这是一个有符号字段,但后来改为无符号字段。由于一个字节字段中可以存储的最大 2 的幂是 128,因此簇数限制为 128 个扇区,在具有正常 512 字节(逻辑)扇区的卷上,簇大小限制为 64K。请注意,如果您选择 64K,您的文件系统将与 Windows 95 及更早版本不兼容。
FAT16 上的总簇数限制为大约 2^16(因此得名 FAT16),大概是您的卷太大而无法允许 FAT16 上较小的簇大小。
对于 FAT32,下限是每个簇一个扇区,AIUI 的上限是 64 个扇区(可以存储在一个有符号字节中的最大 2 的幂),在典型的 512 字节扇区设备上,相当于 32K。我不确定为什么格式化程序不提供 32k,也许这是格式化程序中人为设置的簇大小限制,也许它不喜欢使用适用于 FAT16 的参数进行 Fat32 格式化。