微軟“闖禍”Linux躺槍:更新之后,Linux打不開了
微軟的一次更新,卻讓Linux躺槍了。
大量Linux用戶稱,安裝了微軟的更新后,自己的Linux系統(tǒng)無法啟動了。
受到微軟更新影響的Linux用戶,都是安裝了Windows+Linux雙系統(tǒng)。
突如其來的無法啟動,讓不少用戶焦急萬分,急忙發(fā)帖尋找解決方案。
結(jié)果,類似的反饋在Reddit和多個Linux社區(qū)鋪天蓋地出現(xiàn)。
出了這樣的事后,有網(wǎng)友感慨,微軟不可能針對Linux做事無巨細的測試,雙系統(tǒng)還是通過虛擬機實現(xiàn)更加保險。
還有網(wǎng)友認為這并非是個意外。
畢竟在之前微軟就試過通過安全啟動阻止Windows 10用戶啟動其他操作系統(tǒng)。
作為替代方案,微軟還推出了WSL,從而能夠在Windows當中運行Linux子系統(tǒng),以滿足用戶的雙系統(tǒng)需求。
微軟修漏洞,Linux躺槍
此次事件中受到波及的,是Windows+Linux的雙系統(tǒng)用戶。
安裝更新后,這些用戶在啟動Linux時會發(fā)生報錯,提示“出現(xiàn)嚴重錯誤”。
Verifying shim SBAT data failed: Security Policy Violation.
shim SBAT數(shù)據(jù)校驗失?。哼`反安全策略
Something has gone seriously wrong: SBAT self-check failed: Security Policy Violation.
出現(xiàn)嚴重錯誤:SBAT自檢失?。哼`反安全策略
△圖源:Reddit/paku1234
Debian、Ubuntu等多個發(fā)行版本,無論新舊都遭了殃,甚至U盤和光盤啟動也出現(xiàn)了類似情況。
而這背后的直接原因,就是微軟新發(fā)布的一款補丁。
補丁修復的是兩年前曝出的一個漏洞,代號為CVE-2022-2601,CVSS嚴重程度評分為8.6(最高10)。
該漏洞與GRUB有關(guān),GRUB是啟動許多Linux設(shè)備都在用的開源引導加載程序。
利用該漏洞,黑客能夠繞過安全啟動機制,該機制是一套確保操作系統(tǒng)啟動過程中不會加載惡意固件或軟件的行業(yè)標準。
微軟在有關(guān)CVE-2022-2601的公告中解釋,針對該漏洞的更新將安裝SBAT(一種用于屏蔽啟動路徑中各種組件的Linux機制)。
這樣一來,Windows設(shè)備上的安全啟動被利用該漏洞的GRUB包攻擊的概率就會降低。
同時微軟還信誓旦旦地表示,裝有Linux的設(shè)備不會受到這次更新的影響。
△早期GRUB界面
但事與愿違,不僅Linux出現(xiàn)了故障,還有其他程序也受到了SBAT的“戕害”。
有網(wǎng)友表示,自己的軟件帶有網(wǎng)絡(luò)引導功能,由于也利用了GRUB,在按照更新后也會無法運行。
要想解決,就要把系統(tǒng)中所有設(shè)備的安全啟動全都禁用,或者刪掉SBAT文件。
有用戶對微軟的這波操作不解,質(zhì)疑為什么微軟要去修復一個本不屬于Windows、自己也“一無所知”的模塊。
微軟回復被現(xiàn)實“打臉”
對于這一波故障,微軟這邊給出的回應(yīng)是這樣的:
當檢測到Linux啟動選項時,此更新不會被應(yīng)用。
我們知道,某些輔助啟動方案會給某些客戶帶來問題,包括使用“過時的”Linux加載程序。
我們正在與Linux合作伙伴合作,調(diào)查問題原因和解決方案
實際上,基本和CVE-2022-2601發(fā)布時的公告內(nèi)容沒什么區(qū)別:
SBAT值不適用于同時裝有Windows和Linux的雙啟動系統(tǒng),理論上也不會影響這些系統(tǒng)。
版本較舊的Linux發(fā)行版可能無法啟動,如果發(fā)生這種情況,請與您的Linux供應(yīng)商合作獲取更新。
但微軟的說法多少有些自打自臉了——如果不是雙系統(tǒng),單用Linux自然也不會出現(xiàn)這種故障。
還有人發(fā)出靈魂提問——要是只用Windows,誰會裝GRUB?。?/p>
抓馬的是,實際情況也并非像微軟說的那樣影響的都是舊版Linux,出現(xiàn)故障的系統(tǒng)有一些正是新版(如Ubuntu 24.04、Debian 12.6.0)。
不過也有網(wǎng)友神評論說,微軟其實也沒說謊,因為裝完補丁之后Linux啟動不了,就不算是雙系統(tǒng)了。
另外,有熱心網(wǎng)友提出了應(yīng)急補救措施——
首先進入BIOS關(guān)閉安全啟動,目的是先進入到Linux系統(tǒng)。
之后利用命令行把引發(fā)故障的SBAT策略刪除,然后重啟讓設(shè)置生效。
最后,再次進入BIOS重新打開安全啟動,問題就暫時解決了。