微软的一次更新,却让 Linux 躺枪了。
大量 Linux 用户称,安装了微软的更新后,自己的 Linux 系统无法启动了。
受到微软更新影响的 Linux 用户,都是安装了 Windows+Linux 双系统。
突如其来的无法启动,让不少用户焦急万分,急忙发帖寻找解决方案。结果,类似的反馈在 Reddit 和多个 Linux 社区铺天盖地出现。
出了这样的事后,有网友感慨,微软不可能针对 Linux 做事无巨细的测试,双系统还是通过虚拟机实现更加保险。
还有网友认为这并非是个意外。
毕竟在之前微软就试过通过安全启动阻止 Windows 10 用户启动其他操作系统。
作为替代方案,微软还推出了 WSL,从而能够在 Windows 当中运行 Linux 子系统,以满足用户的双系统需求。
微软修漏洞,Linux 躺枪
此次事件中受到波及的,是 Windows+Linux 的双系统用户。
安装更新后,这些用户在启动 Linux 时会发生报错,提示“出现严重错误”。
Verifying shim SBAT data failed: Security Policy Violation.
shim SBAT 数据校验失败:违反安全策略
Something has gone seriously wrong: SBAT self-check failed: Security Policy Violation.
出现严重错误:SBAT 自检失败:违反安全策略
Debian、Ubuntu 等多个发行版本,无论新旧都遭了殃,甚至 U 盘和光盘启动也出现了类似情况。
而这背后的直接原因,就是微软新发布的一款补丁。
补丁修复的是两年前曝出的一个漏洞,代号为 CVE-2022-2601,CVSS 严重程度评分为 8.6(最高 10)。
该漏洞与 GRUB 有关,GRUB 是启动许多 Linux 设备都在用的开源引导加载程序。
利用该漏洞,黑客能够绕过安全启动机制,该机制是一套确保操作系统启动过程中不会加载恶意固件或软件的行业标准。
微软在有关 CVE-20220-2601 的公告中解释,针对该漏洞的更新将安装 SBAT(一种用于屏蔽启动路径中各种组件的 Linux 机制)。
这样一来,Windows 设备上的安全启动被利用该漏洞的 GRUB 包攻击的概率就会降低。
同时微软还信誓旦旦地表示,装有 Linux 的设备不会受到这次更新的影响。
但事与愿违,不仅 Linux 出现了故障,还有其他程序也受到了 SBAT 的“戕害(IT之家备注读音:qiāng hài)”。
有网友表示,自己的软件带有网络引导功能,由于也利用了 GRUB,在按照更新后也会无法运行。
要想解决,就要把系统中所有设备的安全启动全都禁用,或者删掉 SBAT 文件。
有用户对微软的这波操作不解,质疑为什么微软要去修复一个本不属于 Windows、自己也“一无所知”的模块。
微软回复被现实“打脸”
对于这一波故障,微软这边给出的回应是这样的:
当检测到 Linux 启动选项时,此更新不会被应用。
我们知道,某些辅助启动方案会给某些客户带来问题,包括使用“过时的”Linux 加载程序。
我们正在与 Linux 合作伙伴合作,调查问题原因和解决方案
实际上,基本和 CVE-20220-2601 发布时的公告内容没什么区别:
SBAT 值不适用于同时装有 Windows 和 Linux 的双启动系统,理论上也不会影响这些系统。
版本较旧的 Linux 发行版可能无法启动,如果发生这种情况,请与您的 Linux 供应商合作获取更新。
但微软的说法多少有些自打自脸了 —— 如果不是双系统,单用 Linux 自然也不会出现这种故障。
还有人发出灵魂提问 —— 要是只用 Windows,谁会装 GRUB 啊?
抓马的事,实际情况也并非像微软说的那样影响的都是旧版 Linux,出现故障的系统有一些正是新版(如 Ubuntu 24.04、Debian 12.6.0)。
不过也有网友神评论说,微软其实也没说谎,因为装完补丁之后 Linux 启动不了,就不算是双系统了。
另外,有热心网友提出了应急补救措施 ——
首先进入 BIOS 关闭安全启动,目的是先进入到 Linux 系统。
之后利用命令行把引发故障的 SBAT 策略删除,然后重启让设置生效。
最后,再次进入 BIOS 重新打开安全启动,问题就暂时解决了。
参考链接:
[1]https://arstechnica.com/security/2024/08/a-patch-microsoft-spent-2-years-preparing-is-making-a-mess-for-some-linux-users/
[2]https://news.ycombinator.com/item?id=41310217
[3]https://www.techtimes.com/articles/307222/20240821/dual-booting-windows-linux-longer-available-microsoft-s-security-update%E2%80%94why.htm
[4]https://discourse.ubuntu.com/t/sbat-revocations-boot-process/34996
本文来自微信公众号:量子位(ID:QbitAI),作者:克雷西,原标题《微软“闯祸”Linux 躺枪:更新之后,Linux 打不开了》
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。