绝对有料 发表于 2021-1-5 10:00

FAT32最大32GB源自25年前一个决定

上周PCEVA在直播活动中送出了金士顿牛年限量版64GB优盘,不知道获奖的玩家是否已经收到?大家在格式化大容量优盘的时候可能会发现无法选择FAT32格式,只能在NTFS和exFAT中二选一。

理论上FAT32文件系统可以管理高达16TB的容量,但实际上在Windows里只有低于32GB容量的分区才能选择格式化为FAT32,这个限制究竟从何而来?原来32GB限制和“640KB基本内存”一样,都是微软做出的、在当时看起来“已经足够用”的决定。作出这一决定的前微软工程师Dave Plummer日前在自己的油管频道回忆了这一历史。


Plummer曾在微软工作13年,于2003年Vista系统发布前夕离开微软,他给Windows系统留下了大量遗产:最初的Windows任务管理器、系统自带的ZIP压缩解压功能、XP中自带的三维弹球小游戏都包含他写的代码。今天要说的FAT32格式化容量限制也是源自Plummer当年将Windows 95 Shell移植到Windows NT时的一个决定。


在重新设计“格式化磁盘”功能的UI界面时,Plummer考虑了文件系统中的文件分配单元和空间效率问题:FAT32格式化32GB以上分区时需要使用32KB或更大的分配单元,这意味着即便是一个字节内容的文件,也会实际占用32KB甚至更多的磁盘空间。下图左侧是Windows 95系统中的格式化界面,右侧是Windows XP(源自NT内核)系统中的格式化界面。

在那个年代,最大容量的存储卡仅有16MB容量。用Plummer自己的话来说,“32KB的分配单元造成的浪费太愚蠢了,而且16MB乘以1000,然后再增大一倍,应该足够NT4.0操作系统整个生命周期使用了”。Plummer选择了32GB作为FAT32格式化的极限容量,不曾想一个临时性的设定成为了永久性解决方案,一直影响到25年后的今年。

现在看起来这个容量限制和1981年盖茨说的“640KB内存足够用“一样,他们不得不承认当年的决定缺乏远见。不过好在exFAT格式已经足够普及,大家已经不必在意FAT32是否能格式化32GB以上优盘和存储卡了。如果确实有需要,DiskGenius等其他磁盘工具也可以帮大家用FAT32格式化超过32GB的分区。

nighttob 发表于 2021-1-5 11:59

坐等未来(也许5年?)KST送4T U盘的时候,然后还能再水一波MBR,如果那个时候还有人关心MBR的话。

bssharp 发表于 2021-1-5 13:15

确实有这个限制,但理由不对。fat32完全可以用4K簇格式化出上TB的超大分区。
真正原因是Windows里的fat把总簇数限制在了4194300——结果用命令行最大可以格式化出128GB的分区。
格式化对话框里的32G是又加了一层人为限制。

红色狂想 发表于 2021-1-5 14:40

不可否认,这25年是微软帝国的黄金时代,这一时期的Windows各个版本都是经典,只有白人干活儿做事科学严谨……{:1_450:}

固特异轮胎 发表于 2021-1-5 16:01

视频源地址是这个么?
https://www.youtube.com/watch?v=bikbJPI-7Kg

pphiuyt 发表于 2021-1-5 17:09

话说存电影用什么格式更好?HDD总觉得exFAT速度快呢

NOIP117 发表于 2021-1-5 18:37

pphiuyt 发表于 2021-1-5 17:09
话说存电影用什么格式更好?HDD总觉得exFAT速度快呢
别用 EXFAT,Windows 就老老实实的用 NTFS,如果是 Server 系统就直接上 REFS;Linux 最简单就是 EXT4,当然了我们有更好的选择 ZFS,这个才是符合当下的文件系统。

NOIP117 发表于 2021-1-5 18:38

本帖最后由 NOIP117 于 2021-1-5 18:42 编辑

另外一点,不要用现在的视角去看当时的问题,25年前,几个人用的硬盘,32 GB肯定是足够用了;至于现在,新设备上完全就不应该考虑使用 FAT32 了。
Diss 前人真的没劲,而且这个决定在我看了就很符合当时的实际情况,所谓的远见很多时候,并没有什么工程意义,就像现在操作系统是 64位的了,但是也并不能完全管理 64 位空间的内存,因为用不到,就没必要。IPv6 足够有远见了,然后 RFC 版本极具扩展,10年前的设备也支持 V6,但是不支持现有协议特性;V6 国家推进了也有段时间了,然而实际情况呢,纯 V6 就没有生产环境在用,不信的自己做测试,手机可以配置只用 V6,然后再开常用的 App 试试;V6 是一个足够有远见的协议了,很多设计确实不错,但是就目前而言,就是半死不活,如果不是强推,根本没人用;根本原因就是没有经历过大的工程项目进行验证,大家心里都没底呗,那谁用啊。

whxflit 发表于 2021-1-6 13:09

refs读写校验+bitlocker 256,双重安全。

印第安纳琼斯 发表于 2021-1-7 21:14

红色狂想 发表于 2021-1-5 14:40
不可否认,这25年是微软帝国的黄金时代,这一时期的Windows各个版本都是经典,只有白人干活儿做事科学严谨 ...

你是说现在混入了咖喱么?

红色狂想 发表于 2021-1-7 22:11

印第安纳琼斯 发表于 2021-1-7 21:14
你是说现在混入了咖喱么?

何止是混入,完全已经沦为飞饼卷咖喱了{:1_571:}
页: [1]
查看完整版本: FAT32最大32GB源自25年前一个决定