微软“闯祸”Linux 躺枪:更新之后,Linux 打不开了
本帖最后由 patema 于 2024-8-24 13:55 编辑微软的一次更新,却让 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 重新打开安全启动,问题就暂时解决了。
参考链接:
https://arstechnica.com/security/2024/08/a-patch-microsoft-spent-2-years-preparing-is-making-a-mess-for-some-linux-users/
https://news.ycombinator.com/item?id=41310217
https://www.techtimes.com/articles/307222/20240821/dual-booting-windows-linux-longer-available-microsoft-s-security-update%E2%80%94why.htm
https://discourse.ubuntu.com/t/sbat-revocations-boot-process/34996
本文来自微信公众号:量子位(ID:QbitAI),作者:克雷西,原标题《微软“闯祸”Linux 躺枪:更新之后,Linux 打不开了》 搬之前能不能先把图片导致的重复标题去了
不关安全启动能进得去grub的吗
论坛助手,iPhone 第一次见? 我记得微软更新这个补丁之前说过会导致linux无法启动 现在还有这么多双系统用户吗原来,我以为都去用虚拟机了 macos 发表于 2024-8-24 14:04
现代grub应该是efi,efi之间互相独立,微软怎么会改到不属自己的文件的
grub?微软会贴心地把启动顺序改成windows,再安装上自己的bootloader ¿有几个 Linux 发行版买了微软的授权可以开着 Secure Boot 启动的,Arch 想开还得自己搞个 Shim 再加签名的 微软霍霍efi不是一天两天了,Linux我都是装单独固态里 这几天不在家,不知道回去更新之后会不会中招,不安desu
红帽系、SUSE系以及Debian系的本家、Ubuntu、和Mint据我所知都是原生支持微软认证secureboot的,Arch这种非主流就要有非主流的自觉啊 本帖最后由 RaidenII 于 2024-8-24 11:45 编辑
Midnight.Coup 发表于 2024-8-24 02:16
¿有几个 Linux 发行版买了微软的授权可以开着 Secure Boot 启动的,Arch 想开还得自己搞个 Shim 再加签名 ...
多啊,主流的发行版都支持
debian/ubuntu
fedora/rhel
opensuse/sles
都是repo里面有signed的shim和grub的
shim是多个发行版合作开发的,说不上每家单独买msft的授权
gentoo没用过,不清楚
arch那得自己加mok了 那如果不用GRUB引导的会不会受影响?
—— 来自 S1Fun wsl2比wsl1是更接近linux了还是远离linux了 本帖最后由 AraTurambar 于 2024-8-25 10:49 编辑
RaidenII 发表于 2024-8-25 00:41
多啊,主流的发行版都支持
debian/ubuntu
fedora/rhel
问题是现在debian这些有授权的也中招了啊。 AraTurambar 发表于 2024-8-25 10:42
问题是现在debian这些有授权的也中招了啊。
就是有 Shim 的才中招,没有的直接关了 Secure Boot Midnight.Coup 发表于 2024-8-25 10:54
就是有 Shim 的才中招,没有的直接关了 Secure Boot
微软怎么想得出revoke shim授权的,社区出了钱出了人力的。
真不怕吃官司哦? AraTurambar 发表于 2024-8-24 22:08
微软怎么想得出revoke shim授权的,社区出了钱出了人力的。
真不怕吃官司哦? ...
准确的说是把15.8之前的shim干掉了,但是主流基本还在15.7甚至更老的版本上面,而且shim这个东西更新本来就不频繁
我倒是很好奇,luks绑定到pcr7上面的人也不少(默认一般有7),禁用了sb也会导致luks tpm密钥失效,luks还不像bitlocker会强制生成recv key,这下不知道会不会有一批硬盘根本无法解密了 一直关掉secure boot
—— 来自 Xiaomi Mi 10, Android 13上的 S1Next-鹅版 v3.0.0.81-alpha 这个是更新了SBAT策略导致之前版本的grub无法启动了。算不得微软的错吧。 secure boot一向到手关 我就说我电脑怎么打不开了
页:
[1]