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

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

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

FAT32 格式化 32G 限制是个致命错误

考虑到实际上 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 所带来的限制。

原文来自:https://os.51cto.com/art/202101/639272.htm

本文地址:https://www.linuxprobe.com/fat32-32g-bug-big.html编辑:张雄,审核员:清蒸github

Linux命令大全:https://www.linuxcool.com/