专栏名称: 运维
关注互联网运维技术,分享知识
目录
相关文章推荐
运维  ·  再见,CDN 巨头:Akamai 宣布 ... ·  昨天  
51好读  ›  专栏  ›  运维

微软在Win11解除30年旧限制,前工程师:经典的东西不能随便动!

运维  · 公众号  · 运维  · 2024-08-25 12:28

主要观点总结

微软在最新Windows 11测试版中解除了对FAT32格式化的容量限制,将支持最大2TB的分区。这项改变源于一位工程师的临时决定,已沿用了近30年。如今,微软为何才更改这一限制,引发了广泛讨论。同时,这也反映出FAT32在现代Windows用户中的使用现状。

关键观点总结

关键观点1: 微软解除FAT32格式化容量限制

微软在Windows 11中解除了对FAT32格式化的32GB容量限制,现在支持最大2TB的分区。这一变化将影响使用FAT32系统的用户,使他们更容易格式化USB驱动器或闪存卡。

关键观点2: 历史背景

FAT32文件系统的容量限制由来已久,源于一位工程师的临时决定,这个决定被微软使用了近30年。如今这位工程师对此表示后悔,认为这是一个缺乏远见的错误。

关键观点3: 影响及现状

虽然大多数现代Windows用户都在使用NTFS,但FAT32仍然用于较旧设备的闪存驱动器和SD卡。微软解除这一限制使得创建大容量的FAT32驱动器变得更容易,无需依赖第三方软件。但微软仅限于在命令行中解除限制,图形用户界面(GUI)仍然保留原有的限制。

关键观点4: 微软更改的原因

关于微软为何现在解除这一限制,有多种猜测。一种可能是微软为了推广更现代的文件系统exFAT而做出的改变。另一种可能是为了应对即将发布的Windows 12庞大的安装媒体需求,因为该版本可能需要更大的安装介质。此外,也有用户认为这可能是为了应对各种硬件设备生产的需求。


正文

本文经授权转自公众号CSDN(ID:CSDNnews)

整理 | 苏宓

Windows 中一个沿用近 30 年的限制,终于被微软想起来要修改了?

近日,微软发布了一篇博客文章分享了最新的 Windows 11 Canary 测试版本功能更新细节,其中有一条关于存储(Storage)的变化引起了众人的注意——“当使用 format 命令从命令行格式化磁盘时,我们将 FAT32 的大小限制从 32GB 增加到了 2TB”。

这个改动说大也不大,但是对用户的影响也不小。有用户表示:

  • 这让我抓狂了很多年,但我已经很久没有遇到这个问题了(自从换了 Linux 和 Apple 电脑之后)我忘了这对我们其他人来说仍然是一个问题。

1、工程师的随意之举,被用了 30 年?

众所周知,FAT32 是一种文件系统,用于在驱动器上存储和管理数据。最早作为 FAT(文件分配表)在 1977 年为软盘开发,之后逐步扩展为 FAT12、FAT16,并在 1996 年由微软推出 FAT32,以支持越来越大的驱动器容量。这意味着 FAT32 已经存在将近 30 年了。

一直以来,微软在 Windows 中对 FAT32 驱动器施加了 32GB 的容量限制,尽管 FAT32 文件系统理论上可以支持高达 16TB 的容量。实际上,你可以用其他工具或系统格式化一个大于 32GB 的 FAT32 驱动器,并在 Windows 中使用它,但 Windows 的内置格式化工具限制了自己格式化 FAT32 驱动器的最大容量为 32GB。

那么,这种限制究竟从何而来?

最初,许多人认为 FAT32 的 32GB 限制是受二十多年前互联网时代物理设备的限制所致。直到微软的一位已退休工程师 Dave Plummer 现身回应——“这是我某天早上武断做出的决定”,这才让大家明白了这一限制的真正来源。

在回忆开发这一功能时,Dave Plummer 还专门发了一个 YouTube 视频来分享整个经过:当时的他参与了将 Windows 95 的外壳移植到 Windows NT 的工作。这其中包括对 Windows 格式化工具的重新设计(由于 Windows 95 系统与 Windows NT 差异很大,“格式化工具”必须完全重写然后进行替换)。除了处理底层的 API 部分,他还快速制作了经典的层叠格式化对话框。

同时,他也在思考为未来大量的 Windows 用户提供什么样的簇大小。

简单来看,簇是存储数据的基本单位,FAT32 对一个卷中簇的总数有固定的限制。将簇设置得非常大,会导致卷也很大,但这会浪费很多空间。例如,如果选择 32KB 的簇大小,那么即使是非常小的文件,比如一个简单的“Hello, World”程序,也会占用整整 32KB 的空间。

「我们把这种浪费叫做“空闲”」,Plummer 在视频中解释道(https://www.youtube.com/@DavesGarage/videos),「这是使用 FAT32 格式化卷时不可避免的空间浪费。问题是,簇大小要设置多大才算大?在什么情况下你会觉得‘这样太浪费了,不能允许这么做’?这就是我当时需要做出的决定。」

当时,Plummer 在市面上能找到的最大内存卡只有 16MB 容量。“也许我把它的大小乘以一千。然后为了保险起见再翻倍,我想这样足够满足 NT 4.0 的需求了。我设定了 32GB 作为限制,然后就继续我的工作了”,Plummer 说道。

Plummer 进一步解释称,他的 32GB 限制只是暂时的,之后会根据 Windows GUI 修改而更新。

殊不知,当时这个临时、有些随意性的决定被微软一用就是近三十年的时间,直至现在也没有改。

Dave Plummer 曾有些后悔地说道,“这是我犯下的,一个不能被原谅的致命错误...... 归根结底,这是一个简单的缺乏远见的问题,再加上临时解决办法变成永久性解决方案的老问题”。

此后在现代 Windows 版本中,我们仍在使用这一限制。

2、带来的影响

如今,微软正在解除这一限制,Windows 11 上的 FAT32 格式将支持最大 2TB 的分区,这一变化将使用户在使用 FAT32 系统时更容易格式化 USB 驱动器或闪存卡。

不过值得注意的是,截至目前,这只能通过命令行中的 format 命令来实现;如果使用驱动器格式化对话框,限制显然没有改变。同时,虽然 FAT32 驱动器的最大容量提升到了 2TB,但 FAT32 中单个文件的最大大小仍然是 4GB。

对于此番微软做出的变更,Dave Plummer 再次现身评论道:“微软正在移除 FAT32 分区的 32GB 限制,但仅限于通过命令行操作。对我来说这是个新闻,因为我以为命令行已经没有这个限制了!不过,图形用户界面(GUI)仍然会保持我那个 1994 年的 32GB 人工限制。你可不能随便动经典的东西 :-)”

3、微软为什么现在才想起来更改?

现实来看,如今大多数 Windows 用户都在使用 NTFS,实际上除了在用于较旧设备的闪存驱动器和 SD 卡上,几乎没有必要使用 FAT32。

不过,现在在 Windows 中可以创建现代容量的 FAT32 驱动器,而不需要依赖第三方软件,这还是很不错的。

也有不少人仍希望,微软可以在即将发布的 Windows 11 版本中更新格式化 GUI,使每个人都能更轻松地创建完整的 FAT32 分区。

那要问为什么微软突然在最新的 Windows 11 测试版中有了这项更改,也网友猜测或许微软接下来有“大动作”,其表示:

但究竟为什么,直到现在,微软才终于移除了这个有些人为且故意设定的限制呢?

Windows 中的 FAT32 格式有容量限制,这个问题一直存在。exFAT是一种比FAT32更现代的文件系统,但它的推广和兼容性进展非常慢(例如,exFAT 直到 2019 年才不再是微软专有的,谷歌甚至在较新的 Pixel 设备上直到 2022 年/Android 13 才开始正式支持),这些问题困扰了我们许多年,甚至超过了十年。无论是 Windows 格式化的移动存储 USB 闪存驱





请到「今天看啥」查看全文