工程师:FAT32 格式化 32G 限制是个不能被原谅的致命错误

白开水不加糖
 白开水不加糖
发布于 2021年01月06日
收藏 16

众所周知,在 Windows 上,只有低于 32GB 容量的分区才能选择格式化为 FAT32。但这一限制到底是出于何种原因呢?近日,已退休的前微软工程师 Dave Plummer 则在自己的 YouTube 频道回忆了其当初做出这一决定的心路历程。

FAT32 指的是文件分配表是采用 32 位二进制数记录管理的磁盘文件管理方式,因 FAT 类文件系统的核心是文件分配表,命名由此得来。FAT32 从 FAT 和 FAT16 发展而来,有着优良地稳定性和兼容性,能充分兼容 Win 9X 及以前版本、维护方便。但缺点是安全性差,且最大只能支持 32GB 分区,单个文件也只能支持最大 4GB。

考虑到实际上 FAT32 文件系统可以管理高达 16TB 的容量,Plummer 当初做出 32GB 这一限制似乎有点武断。据 Plummer 回忆称,他于上世纪末期参与了将 Windows 95 shell 移植到 Windows NT 的工作。其中的一部分工作内容就是对 Windows Format 的重做;对此,Plummer 表示“由于 Win95 系统有着明显的不同,所以它必须进行替换并完全重写”。

而在这一过程中,他曾认真过思考究竟什么样的群集大小才能为将来的 Windows 用户提供潜在的支持。然后发现,庞大的群集数量会带来同样庞大的容量,但也会造成巨大的空间占用。譬如:选择 32kb 的群集大小,即使是最小的 Hello, World 程序所需的几个字节,也会占用 32kb 甚至更多的磁盘空间 。

彼时,Plummer 能拿到手的最大的测试用存储卡的容量为 16MB。因此他想的是,如果将 16MB 乘以 1000,然后再增大一倍以备不时之需,应该是足够 NT4.0 操作系统整个生命周期使用了。

所以,他选择了 32GB 作为 FAT32 格式化的极限容量。但 Plummer 也表示,他当时打算的是将这作为一个临时化的决策;孰不料却成为了永久性解决方案,一直影响到了 25 年后的今天。“这是我犯下的,一个不能被原谅的致命错误......归根结底,这是一个简单的缺乏远见的问题,再加上临时解决办法变成永久性解决方案的老问题。”

不过好在如今 NTFS 和 exFAT 格式的普及已经破除了 FAT32 所带来的限制。

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:工程师:FAT32 格式化 32G 限制是个不能被原谅的致命错误
加载中

精彩评论

bjwzds
bjwzds
临时方案往往最终会变成永久方案也太真实了吧。。。
msscn
msscn
软盘那一丢丢容量的年代,FAT32的设计思想没什么毛病。是时代变化太快
f
fch1993
FAT32光是4GB的单文件大小限制就决定大容量没人用这个了吧。
Elric黄
Elric黄
我觉得大佬也不用自责,毕竟要在当时的历史条件下看待问题。
不羁的醒与醉
不羁的醒与醉
只能说计算机的发展速度超出了想象

最新评论(25

万事通
万事通
别人的东西,别人说了算。
牛奋Debug
牛奋Debug
现在互联网公司解决BUG的快速方法,先给一个临时方案,然后就没有然后了
程序散人
程序散人
这和现在追赶着要上线不是一个思路么?
先写死,后边再优化吧。。。

结果一个月后,靠,谁TMD的把这儿的代码写死的。
__JM_Joy__
__JM_Joy__
业务代码没人愿意主动重构
码农小胖哥
码农小胖哥
其实我们平常写代码也是这个情况,这个地方先写死实现,后面再优化,抓紧上线,后面就没有后面了。
扑棱扑棱
扑棱扑棱
就像IPv4设计时候没考虑到会这么大用量
飘摇清风
让我想起了ms dos的640k内存的越大空间
eechen
eechen
作者自己打脸自己,你让软吹瘟斗士情何以堪?
robortly
robortly
显然 这是时代的选择结果。 计算机磁盘容量进入膨胀期 显然马上会收敛了。做pe系统它依然是首选格式。
d
dwcz
FAT32,应该是没人愿意在这上费神吧。分区也不是个好方案。最主要的是产生这些东西的环境都不存在了--该抛弃了,别攒垃圾了。
返回顶部
顶部