。微软的一次更新,却让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自检失败:违反安全策略
△图源:Reddit/paku1234
Debian、Ubuntu等多个发行版本,无论新旧都遭殃,甚至U盘和光盘启动也出现了类似的情况。
这背后的直接原因是微软新发布的补丁。
补丁修复是两年前曝光的一个漏洞,代号为CVE-2022-2601,CVSS严重程度评分为8.6(最高10)。
该漏洞与GRUB有关,GRUB是一种开源引导加载程序,用于启动许多Linux设备。
利用这一漏洞,黑客可以绕过安全启动机制,这是一套行业标准,以确保操作系统在启动过程中不会加载恶意固件或软件。
微软在CVE-20220-2601的公告中解释说,SBAT(一种用于屏蔽启动路径中各种组件的Linux机制)将安装在此漏洞的更新中。
这样,Windows设备上的安全启动就会降低使用该漏洞的GRUB包攻击的概率。
与此同时,微软还发誓,配备Linux的设备不会受到此次更新的影响。
△早期GRUB界面
但事与愿违,不仅Linux出现故障,还有其他程序也受到SBAT的影响“戕害”。
有网友表示,自己的软件具有网络引导功能,因为也使用了GRUB,按照更新后也不会运行。
要解决,必须禁止系统中所有设备的安全启动,或删除SBAT文件。
有用户对微软的这波操作感到困惑,质疑微软为什么要修复一个不属于Windows的、自己也“一无所知”的模块。
微软的回复是现实的“打脸”
对于这一波故障,微软的回应如下:
当检测到Linux启动选项时,此更新不会被应用。 众所周知,一些辅助启动方案会给一些客户带来问题,包括使用“过时的”Linux加载程序。 我们正在与Linux合作伙伴合作,调查问题原因及解决方案
事实上,与CVE-20220-2601发布时的公告内容基本相同:
SBAT值不适用于同时配备Windows和Linux的双启动系统,理论上也不会影响这些系统。 旧Linux发行版本可能无法启动,如果发生这种情况,请与您的Linux供应商合作获取更新。
但微软的说法有些自打自脸。——如果不是双系统,单用Linux自然不会出现这种故障。
也有人提出灵魂问题——如果只使用Windows,谁会装GRUB啊?
抓马的事情,实际情况并不像微软说的那样影响老Linux。一些故障系统是新版本(如Ubuntun) 24.04、Debian 12.6.0)。
但也有网友评论说,微软其实并没有撒谎,因为Linux安装补丁后无法启动,所以不是双系统。
此外,一些热心网民提出了应急补救措施——
首先进入BIOS关闭安全启动,目的是先进入Linux系统。
然后使用命令行将导致故障的SBAT策略删除,然后重启使设置生效。
最后,再次进入BIOS重新开启安全启动,问题暂时解决。
责任编辑:若风
文章内容报告
还没有评论,来说两句吧...