尽管fat32文件系统格式广为流传,但长久以来,windows用户心中一直存在一个疑惑——为何其默认只支持32gb的分区大小。随着时光的流转,我们来到了2023年。已经退休的微软工程师dave plummer,在他的youtube频道“dave's garage”中分享了一段往日历程,解答了这一问题——那就是他自己当时定下了这样的限制。
(视频截图来自:dave's garage / youtube)
尽管在理论上,fat32可以支持高达16tb的分区卷大小,但windows自带的格式化工具却将分区大小默认限制在了32gb。这样的做法让人感到有些许的突兀。
过去的岁月里,许多用户曾为突破这一限制而绞尽脑汁,不得不依赖第三方软件或者命令行工具来更改预设值。
回首往昔,dave plummer在他的视频中透露出当年情景:
据悉,在上个世纪末的某个时期,plummer曾参与windows95 shell的移植工作至windows nt,其中便涉及到了重新制作windows的格式化工具。
在一个小时的ui设计讨论中,开发团队最终决定在保持经典风格的同时做出一些创新。他们设计了一个格式化对话框,以此为起点开始了对文件系统格式的限制设定。
在讲述这段“历史之笔”时,dave plummer提到他的初衷是为windows用户提供尽可能的优质支持。
若当时默认的簇大小设置得过大,则会导致磁盘空间的严重浪费。比如设置为32kb时,即使是仅有几个字节的“hello, world!”程序也会占据完整的32kb存储空间。
在深思熟虑之后,dave最终决定将fat32文件系统的卷上限固定在32gb。而在当年,市场上的大容量存储卡主要以16mb版本为主。
尽管如今有言论将fat32的32gb限制与比尔·盖茨曾经的“640kb足够用”的观点相提并论进行调侃,但我们必须明白的是,这个限制更多是windows界面上的一种“暂时设定”。
虽然如今看起来并非完美无缺,但那时的设计方案确实经受了时间的考验。直至ntfs文件系统格式后来居上并成为主流之前,它都有效地运行了大约25年之久。
有趣的是,即使在windows nt 4.0原生并不支持fat32(直到后续打上service pack补丁后),wintel也需要借助第三方驱动程序来提供对fat32的支持。