Board logo

标题: [其他] 为什么FAT32格式有时候可以超过32GB? [打印本页]

作者: 帝斯特罗    时间: 2016-9-22 15:10     标题: 为什么FAT32格式有时候可以超过32GB?

求原因

[attach]875433[/attach]

[ 本帖最后由 帝斯特罗 于 2016-9-22 15:13 编辑 ]
作者: aweiwei    时间: 2016-9-22 15:20

posted by wap, platform: MAC OS X
难道不可以么?
作者: gogogo    时间: 2016-9-22 15:22

posted by wap, platform: LG
是因为windows只能创建最多32g的fat32盘

本帖最后由 gogogo 于 2016-9-22 15:29 通过手机版编辑
作者: ppst    时间: 2016-9-22 15:23

posted by wap, platform: Chrome
最大卷大小 8 TB ,用分区软件分就行了,XP支持的。
作者: Hopeless    时间: 2016-9-22 15:23

posted by wap, platform: Galaxy S7 Edge
fat32最大支持的分区是2T。。。。
作者: dansary    时间: 2016-9-22 15:25

楼上正解……
作者: 帝斯特罗    时间: 2016-9-22 15:26

我格式化的时候怎么只能格式化32GB?
作者: 帝斯特罗    时间: 2016-9-22 15:29

我明白了,我在XP下格式化的,XP只能管FAT32的32GB,对吧?
作者: SONYPS3    时间: 2016-9-22 15:30

posted by wap, platform: Samsung
对~~
作者: 532    时间: 2016-9-22 15:33

第三方分区软件+1
作者: 0瞎子0    时间: 2016-9-22 16:00

fat32还是fat。。。。。。

百度一下很难
作者: 328928249    时间: 2016-9-22 16:07

posted by wap, platform: 小米NOTE
用了软件。。wiiu破解用sd卡只能用这格式。。但是我64g的卡不行。。
作者: 洛克狼    时间: 2016-9-22 16:34

posted by wap, platform: iPhone
第三方格式化软件,64GB轻松格
作者: 江南恐龙    时间: 2016-9-22 22:12

posted by wap, platform: Chrome
我64g的卡都是格的fat32
作者: xphi    时间: 2016-9-22 22:19

通常认为这是微软故意设置的限制,因为从Windows2000开始Fat32格式化工具才有32G的限制,Windows98都可以格式化出大约127G的Fat32卷,大约是28位簇空间和512字节簇大小限制的上限(2^28*512 = 128G)。

Windows 2000以后放开了更大的簇大小,最大可以到64k,即单卷理论大小可以到16T(2^28*64k = 16T),不过微软限制了自己的格式化工具最大只能格式化32G的卷而且对原因语焉不详,所以都认为这是微软为了推NTFS有意压制Fat32。
作者: 月宫雅    时间: 2016-9-22 22:31

posted by wap, platform: Android
引用:
原帖由 @xphi  于 2016-9-22 22:19 发表
通常认为这是微软故意设置的限制,因为从Windows2000开始Fat32格式化工具才有32G的限制,Windows98都可以格式化出大约127G的Fat32卷,大约是28位簇空间和512字节簇大小限制的上限(2^28*512 = 128G)。

Windows 2000以后放开了更大的簇大小,最大可以到64k,即单卷理论大小可以到16T(2^28*64k = 16T),不过微软限制了自己的格式化工具最大只能格式化32G的卷而且对原因语焉不详,所以都认为这是微软为了推NTFS有意压制Fat32。
比较赞同,当初微软做出这个限制确实有推NTFS的考虑,不过现在拿到新硬盘你会格成FAT32么?4G最大文件限制就够你喝一壶的了……后来微软为啥专门出一个给U盘用的exFAT文件格式而且改专门给XP出支持补丁?不就是随着技术的发展FAT32上的4G最大文件限制…
作者: EraserKing    时间: 2016-9-22 22:37

这个是Windows的强行限制……对于大于32GB的FAT32分区,Windows可能有兼容性问题,因此自从Windows XP起便不再支持。至少不给官方支持,你用第三方软件弄出来的,有问题活该。
Windows XP也是最后一个可以把OS安装到FAT32分区上的Windows。假如你想把它装到一个大于32GB的分区上会怎么样呢?直接不给装。

实际上,从技术上来看,FAT32的最大支持大小非常大。
FAT32使用32位(2^32)存储簇的数量&每簇的扇区数,那么对于一个标准扇区的驱动器来说,每扇区512字节,总容量为512*2^32字节,即2TB。对于一个高级格式化扇区的驱动器来说(不懂的自己去搜),每扇区为4KB,同理可得总容量最大为16TB……
看着很美好是吧?但是对于单个文件大小来说,最大限制为2^32-1字节,即4GB-1字节……这个没办法突破。给FAT32下了死刑。
作者: EraserKing    时间: 2016-9-22 22:42

引用:
原帖由 xphi 于 2016-9-22 22:19 发表
通常认为这是微软故意设置的限制,因为从Windows2000开始Fat32格式化工具才有32G的限制,Windows98都可以格式化出大约127G的Fat32卷,大约是28位簇空间和512字节簇大小限制的上限(2^28*512 = 128G)。

Windows 2 ...
还是兼容性问题
多年以前见过有总结的 一堆程序不兼容 于是直接BAN掉
况且4GB文件大小是死结
NTFS从设计上来说也确实先进很多
作者: xphi    时间: 2016-9-22 22:48

引用:
原帖由 EraserKing 于 2016-9-22 22:37 发表
这个是Windows的强行限制……对于大于32GB的FAT32分区,Windows可能有兼容性问题,因此自从Windows XP起便不再支持。至少不给官方支持,你用第三方软件弄出来的,有问题活该。
Windows XP也是最后一个可以把OS安装到 ...
2T和16T这个数字对,不过算法有错误。

2T是由于MBR分区表最大只支持单分区2T,其实和Fat无关;Fat32簇地址其实只有28位,高4位是保留的,但是单簇最大可以到64K,所以算出来也正好是16T,此外一般都最大只会用32K的簇大小,所以前面也有人说单卷理论上限是8T。
作者: EraserKing    时间: 2016-9-22 23:20

引用:
原帖由 xphi 于 2016-9-22 22:48 发表


2T和16T这个数字对,不过算法有错误。

2T是由于MBR分区表最大只支持单分区2T,其实和Fat无关;Fat32簇地址其实只有28位,高4位是保留的,但是单簇最大可以到64K,所以算出来也正好是16T,此外一般都最大只会用 ...
年代过于久远,具体怎么算的确实是错了。

FAT32的簇地址是32位中的28位
FAT32分区的Boot Sector中,有两个参数决定了簇大小
第一个,扇区大小(2字节),第二个,每簇的扇区数(1字节)
对于前者,一般是512
对于后者,有效值为2^0~2^7中的2的各次幂,即1 2 4 8 16 32 64 128
由此可知,分区的最大大小为2^28(簇数)* 128(每簇扇区数)* 512(扇区大小)=2^28 * 2^7 * 2^9或者2^12 = 2^44 = 16TB




欢迎光临 TGFC Lifestyle (http://club.tgfcer.com/) Powered by Discuz! 6.0.0