|
|
本帖最后由 yn_88 于 2022-9-23 10:59 编辑
查了一下网上的说法,FAT32最大可以到多少,答案是令人迷惑的,说法非常多,有说32GB的,有说2T的,有说16T的,有说128T的,差距之大令人震惊,也没有找到权威的答案,非常混乱。
下面说一下个人见解。
32GB的说法,显然是受到 windows xp 磁盘管理器的影响,它确实只能最大分到FAT32分区为 32GB,但用diskgenius分到大于32GB的分区,winxp可以正常使用。超过32G,windows的磁盘管理器大就会建议分NTFS或exFat。
2T的说法,实际是受到MBR硬盘的影响,但这并不是FAT32本身最大的容量,MBR硬盘分区表记录有4字节的总扇区数,所以最大只能:
2^32*0.5/1024/1024/1024=2T,这是MBR硬盘的瓶颈导致的。不是FAT32的错。
如果是GPT硬盘,FAT32 所谓2T的局限马上打破了,所以有些人想当然的说,FAT32最大可以是:
2^32*32k/1024/1024/1024=128T
(FAT32用32位来表示簇号,每簇最大是32k)
这个说法对不对呢?
在我的2T硬盘上试验,用DISKGENIUS分为一个FAT32分区,结果显示每簇最大是64k,而不是网上的说法最大是32K(很遗憾,连很多专人人士也是这个说法),我亲眼看见这个观点是错误的! FAT32分区,每簇最大可以是64K,而不是32K。
解析:在分区参数中,有一字节来表是簇有多少个扇区,它必须是2的n次方,最大只能表示128个扇区,也就是64k
那么FAT32最大应该是:
2^32*64k/1024/1024/1024=256T ?
这个说法对吗?
还是不对,因为FAT32规范实际最大的簇号是0x0fffffef,也即最大是28位,而不是想当然的32位,所以FAT32在GPT硬盘条件下,最大可以为:
2^28*64k/1024/1024/1024=128T
所以,我认为FAT32最大(只能在GPT硬盘条件下达到)128T,是比较靠谱的。
|
|