36kr 2024年08月22日
微软“闯祸”Linux躺枪:更新之后,Linux打不开了
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

微软最近发布的一款安全补丁,旨在修复一个与GRUB相关的漏洞,却意外地导致大量安装了Windows+Linux双系统的用户无法启动Linux系统。该补丁安装了SBAT机制,用于屏蔽启动路径中的恶意组件,但它也影响了Linux启动程序,导致系统报错。虽然微软表示该更新理论上不会影响双系统,但实际情况却与之相悖,引发了用户广泛的争议。

😁微软发布的安全补丁旨在修复CVE-2022-2601漏洞,该漏洞允许黑客绕过安全启动机制,但该补丁也意外地影响了Linux启动程序。 该补丁安装了SBAT机制,用于屏蔽启动路径中的恶意组件,但它与Linux启动程序GRUB存在冲突,导致系统无法正常启动。 许多用户在安装了该补丁后,发现Linux系统无法启动,并出现了“出现严重错误”的报错信息。 这影响了多个Linux发行版本,包括Debian、Ubuntu等,无论新旧版本都可能出现故障,甚至U盘和光盘启动也受到影响。

😥微软声称该更新不会影响双系统,但实际情况却并非如此。 许多用户反馈,他们的Windows+Linux双系统在安装了该补丁后,Linux系统无法启动。 微软对此的回应是,该更新不会应用于检测到Linux启动选项的系统,并表示旧版Linux发行版可能无法启动。 然而,许多用户反馈,他们使用的是新版Linux发行版本,例如Ubuntu 24.04和Debian 12.6.0,也出现了故障。

💡用户可以尝试以下方法来解决问题: 首先进入BIOS关闭安全启动,然后利用命令行删除引发故障的SBAT策略,最后重新打开安全启动。 微软表示正在与Linux合作伙伴合作,调查问题原因和解决方案。 一些网友建议,双系统用户可以通过虚拟机的方式来运行Linux系统,以避免类似问题。

🤔微软此举引发了用户对安全更新机制的质疑。 一些用户认为,微软应该在发布更新之前进行更充分的测试,以确保不会影响其他操作系统。 也有一些用户认为,微软在处理安全问题时,应该更加关注用户体验,避免对用户造成不必要的困扰。

😬微软此次事件再次引发了人们对Windows和Linux兼容性的担忧。 尽管微软表示正在与Linux合作伙伴合作解决问题,但用户仍然希望微软能够更加重视Linux用户的体验。 微软也需要反思,如何在确保安全性的同时,避免对其他操作系统造成负面影响。

微软的一次更新,却让Linux躺枪了。

大量Linux用户称,安装了微软的更新后,自己的Linux系统无法启动了。

受到微软更新影响的Linux用户,都是安装了Windows+Linux双系统。

突如其来的无法启动,让不少用户焦急万分,急忙发帖寻找解决方案。

结果,类似的反馈在Reddit和多个Linux社区铺天盖地出现。

出了这样的事后,有网友感慨,微软不可能针对Linux做事无巨细的测试,双系统还是通过虚拟机实现更加保险。

还有网友认为这并非是个意外。

毕竟在之前微软就试过通过安全启动阻止Windows 10用户启动其他操作系统。

作为替代方案,微软还推出了WLS,从而能够在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的“戕害”。

有网友表示,自己的软件带有网络引导功能,由于也利用了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

本文来自微信公众号“量子位”,作者:克雷西 ,36氪经授权发布。

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

微软 Linux 双系统 安全更新 GRUB SBAT 漏洞
相关文章