工程師親自講述:Windows為何只支持32GB的FAT32分區(qū)?
雖然 FAT32 文件系統(tǒng)格式已經(jīng)相當(dāng)普及,但 Windows 用戶多年來(lái)仍有一個(gè)巨大的疑問(wèn) —— 為何默認(rèn)只支持 32GB 的分區(qū)大小?隨著時(shí)間走入 2021 年,現(xiàn)已退休的微軟工程師 Dave Plummer 終于在 YouTube 自頻道(Dave's Garage)的最新一期節(jié)目中給出了解答 —— 因?yàn)楫?dāng)年就是他要求這樣限制的。
視頻截圖(來(lái)自:Dave's Garage / YouTube)
考慮到 FAT32 理論支持 16TB 的分區(qū)卷大小,Windows 自帶格式化工具的默認(rèn) 32GB 限制似乎有些武斷。
當(dāng)年為了突破這一限制,許多用戶寧可借助第三方軟件、或者命令行工具來(lái)覆蓋預(yù)設(shè)值。
回顧歷史,Dave Plummer 在這期視頻中給予了解釋:
據(jù)悉,上世紀(jì)末那幾年,Plummer 參與了將 Windows95 Shell 移植到 Windows NT 工作,其中就包括重制 Windows 格式化工具。
之所以提出這樣的要求,是因?yàn)?NT 內(nèi)核與 Win95 系統(tǒng)有很大的不同,因而底層的 API 也必須徹底替換并完全重寫(xiě)。
于是在一個(gè)小時(shí)的 UI 創(chuàng)意探討階段,開(kāi)發(fā)團(tuán)隊(duì)就想到了源于經(jīng)典、但又不大相同的格式化對(duì)話框。
在談到這一“天才設(shè)計(jì)”時(shí),Dave Plummer 表示當(dāng)時(shí)自己想的是如何為 Windows 用戶帶來(lái)良好的潛在支持。
如果默認(rèn)的簇大小偏大,磁盤空間的浪費(fèi)代價(jià)會(huì)有些大。比如在設(shè)置成 32KB 的時(shí)候,即便是小到幾個(gè)字節(jié)的“Hello,World!”程序,也會(huì)占用完整的 32KB 存儲(chǔ)空間。
權(quán)衡利弊之后,Dave 最終決定將 FAT32 文件系統(tǒng)格式的卷上限設(shè)置為 32GB 。而當(dāng)年市面上的大容量存儲(chǔ)卡,也普遍只有 16MB 的版本。
Secret History of Windows Format _ by Original Microsoft Author Davepl(via)
雖然經(jīng)常被拿來(lái)和比爾·蓋茨的“640KB 足夠用”經(jīng)典語(yǔ)錄一起吐槽,但 FAT32 的 32GB 限制其實(shí)也只是 Windows UI 上的“臨時(shí)限制”。
慶幸的是,盡管仍不完美,但相關(guān)方案還是足夠良好地維持了 25 年的時(shí)間,直到 NTFS 文件系統(tǒng)格式接替 FAT32 成為主流。
有趣的是,Windows NT 4.0 其實(shí)并不原生支持 FAT32(直到打上了 Service Pack 補(bǔ)丁),且 Wintel 聯(lián)盟也需要借助第三方驅(qū)動(dòng)程序,才能為 FAT32 提供支持。