上周,微软向 Windows Insiders 用户推送了新版本的 Windows 11,很快首批安装新版本的测试人员就遇到了问题,桌面、开始菜单、任务栏以及其他核心组件频繁出现崩溃和无法加载的情况。微软也快速定位问题并提供了修复注册表项的解决办法。
内置广告通信问题引发崩溃
微软没有透露该问题出现的细节,国外开发者 Daniel Aleksandersen 对此进行了深入调查,他在 Twitter 和 Reddit 上分享了该问题,得到了很多解决方案。大多数解决方案都提到了设备无法与微软服务器通信的情况。Daniel 初步判断,问题原因不是本次 Windows Update 提供的更新所造成的,而是 Windows 内置许多云服务里一个名为 IrisService 的 Windows 组件下载的小文件导致的。IrisService 是 Windows Spotlight 服务的一部分,它主要负责获取当天的 Bing 壁纸;锁屏提示、促销、建议;以及广告。
之后 Daniel 根据微软提供的解决方案,将问题缩小到一个包含序列号 JSON blob 的注册表键。该 blob 包含一个的广告,是推广微软的即时协作工具 Microsoft Teams 的广告,如果你没有设置过 Teams 上的 Windows 账户,你可以通过 Win 键 + C 的方式查看面板上的内容,与 blob 中的信息和图像完全一致。至此基本可以确定是 Teams 的广告与服务器通讯问题导致的桌面瘫痪崩溃问题。
无法移除的广告,正式版发布前仍需解决的事情
微软从 Windows 10 开始向系统推送广告,Windows 11 中也不例外。目前 Microsoft Teams 已整合在系统中,这个广告会以通知的形式弹出,即使用户关闭了所有通知,仍会收到推送。另外,当前的 Windows 系统还有很多组件会随时从云端获取内容,从 Bing 壁纸到资讯和广告,如果其中一项无法与服务器正常通信,崩溃问题就会出现。
Daniel 表示 “Insiders 版本出现问题是可以预料的,只不过没想到 Windows shell 的架构如此脆弱,会因为一个失败的云服务而停止响应,只是因为一个带有广告的 JSON blob,你的计算机就变的毫无用处。 Windows 中的广告对微软很重要,但用户根本不希望广告出现在这里,每天有数以百万计的人依赖 Windows,它需要更强大的稳定性。”
目前微软提供了修改注册表的解决办法,只能解决一时的问题,并没有做到根治,在下个月就要发布 Windows 11 正式版的情况下,微软需要提供更稳妥方案。例如将不太重要的依赖云的系统,与核心操作系统隔离,这里并不是要微软移除账户、娱乐、云游戏等有价值的云服务,只是尽量避免出现类似情况,一个广告服务通信小问题就影响到 Windows 核心组件的正常运行。
参考链接:
https://twitter.com/windowsinsider/status/1433593880541163529
关联阅读:
Windows 11 将于 10 月 5 日发布,运行 Android 应用还要再等
评论