在用户的强烈批评声中,微软一边承认并修复 Windows 11 中频繁出现的各种问题,一边持续宣称正在改善系统性能。 最近,微软刚刚承认其发布的一次更新破坏了 Windows 11“开始”菜单中一项关键功能,导致部分用户的开始菜单无法正常工作,这一问题显然出在微软自身。 但与此同时,微软资深工程师 Raymond Chen 近期却在另一篇文章中,将不少 Windows 体验问题归咎于用户错误,认为许多看似系统“翻车”的情况,其实往往源自用户操作不当或第三方软件行为不规范。
Chen 在最新一篇博文中回顾了从 Windows 3.1 过渡到 Windows 95 的年代,尤其是两代系统之间在兼容性上的巨大冲突,试图说明今天的 Windows 11 兼容性困境,远称不上微软桌面系统历史上最糟糕的一段。 他透露,当年有相当一部分为 Windows 3.1 编写的程序几乎与旧系统内部实现“绑死”在一起,根本无法顺利迁移到 Windows 95。 问题的根源在于,一些开发者并未严格使用文档化的官方 API,而是选择将系统句柄强行转换为指针,直接操作系统内部数据结构,这种“捷径”在 Windows 3.1 所采用的 16 位堆管理下尚能运行,但在 Windows 95 引入适用于用户界面和图形对象的 32 位堆之后,这类做法便完全失灵。
也正因为如此,至少在兼容性这一项上,今天的 Windows 11 用户并没有想象中那样“悲惨”:除了微软自己制定的一系列严苛硬件门槛之外,大多数用户并未遭遇当年那种大面积、结构性的兼容性灾难。 对不熟悉历史的用户来说,Windows 95 相比 Windows 3.1 在视觉上是一次巨大飞跃,引入了更完善的图形用户界面,需要更多硬件资源支撑,因此整体架构必须升级为 32 位设计,也在技术层面进一步放大了旧软件与新系统之间的鸿沟。
Chen 指出,微软当年曾尝试通过“打补丁”的方式尽量平滑过渡:系统内置了一套机制,用于帮助旧版应用在新平台上运行,并通过各种“兼容性怪癖”处理逻辑,来适配那些写法各异的老程序。 不过,有些案例几乎无解——比如有一款程序会做非常严苛的系统版本检查:如果检测结果并非 Windows 3.0、3.1 或 2.1,它就直接认定当前一定是 Windows 2.0,从逻辑设计上就把 Windows 95 拒之门外,这样的程序在架构上注定不可能兼容新系统。 此外,还有不少应用之所以在 Windows 95 下崩溃或失效,是因为它们绕过官方 API,采取不受支持的方式直接与系统内部交互,而这种行为在新架构中几乎注定会出问题。
从工程视角看,这些崩溃与数据损坏并不完全是微软本身的过错,但就普通用户而言,“不好用”就是不好用,责任归属并不会改变糟糕体验本身。 今天许多用户将 Windows 11 视为“史上最差”Windows,很大程度上也可能是受了对过去版本的怀旧滤镜影响,忽略了当年那些动辄导致系统混乱甚至无法启动的兼容性灾难。 正如一位 Neowin 读者 leonsk29 在评论中所提醒的那样,人们往往倾向于只记得旧系统的美好一面,却忘了曾经为各种兼容性问题焦头烂额的岁月。


