虽然 FAT32 文件系统格式已经相当普及,但 Windows 用户多年来仍有一个巨大的疑问 —— 为何默认只支持 32GB 的分区大小?随着时间走入 2021 年,现已退休的微软工程师 Dave Plummer 终于在 YouTube 自频道(Dave's Garage)的最新一期节目中给出了解答 —— 因为当年就是他要求这样限制的。
视频截图(来自:Dave's Garage / YouTube)
考虑到 FAT32 理论支持 16TB 的分区卷大小,Windows自带格式化工具的默认 32GB 限制似乎有些武断。
当年为了突破这一限制,许多用户宁可借助第三方软件、或者命令行工具来覆盖预设值。
回顾历史,Dave Plummer 在这期视频中给予了解释:
据悉,上世纪末那几年,Plummer 参与了将 Windows95 Shell 移植到 Windows NT 工作,其中就包括重制 电脑Windows 格式化工具。
之所以提出这样的要求,是因为 NT 内核与 Win95 系统有很大的不同,因而底层的 API 也必须彻底替换并完全重写。
于是在一个小时的 UI 创意探讨阶段,开发团队就想到了源于经典、但又不大相同的格式化对话框。
在谈到这一“天才设计”时,Dave Plummer 表示当时自己想的是如何为 Windows 用户带来良好的潜在支持。
如果默认的簇大小偏大,磁盘空间的浪费代价会有些大。比如在设置成 32KB 的时候,即便是小到几个字节的“Hello,World!”程序,也会占用完整的 32KB 存储空间。
权衡利弊之后,Dave 最终决定将 FAT32 文件系统格式的卷上限设置为 32GB 。而当年市面上的大容量存储卡,也普遍只有 16MB 的版本。
Secret History of Windows Format _ by Original Microsoft Author Davepl(via)
虽然经常被拿来和比尔·盖茨的“640KB 足够用”经典语录一起吐槽,但 FAT32 的 32GB 限制其实也只是 Windows UI 上的“临时限制”。
庆幸的是,尽管仍不完美,但相关方案还是足够良好地维持了 25 年的时间,直到 NTFS 文件系统格式接替 FAT32 成为主流。
有趣的是,Windows NT 4.0 其实并不原生支持 FAT32(直到打上了 Service Pack 补丁),且 Wintel 电脑联盟电脑 也需要借助第电脑 三方驱动程序,才能为 FAT32 提供支持。
电脑