[指南]微軟發布Windows-Linux雙系統無法啟動的完整修復方案
早期微軟發布的2024-08 例行安全更新導致Windows-Linux 雙系統無法啟動引起關注,該問題實際上在7 月份微軟已經發現並且添加到已知問題列表中,但可能很多用戶沒注意結果安裝更新後Linux 系統無法正常啟動。
問題根源在原本微軟發布的補丁不應該針對雙系統,但檢測機制由於未能識別到Linux 系統,導致補丁錯誤部署安全啟動高級定位並導致Linux 無法啟動。
但這個問題也不是影響所有Linux 系統,對於較新的Linux 系統不受影響,如果用戶使用的版本比較老舊則會出現無法啟動,現在微軟也發布了詳細的解決方案。
以下是完整的操作指南:
停用安全啟動:進入BIOS 設定先停用安全啟動,如不會設定可以聯絡主機板製造商客服諮詢
刪除SBAT 更新:
在停用安全啟動後使用者可以進入Linux 系統,此時重新啟動系統進入Linux 並開啟終端管理器並執行以下命令
sudo mokutil --set-sbat-policy delete
此操作需要root 權限因此在執行時可能會提示輸入你的帳號密碼,請按提示操作,操作完成後重啟Linux 系統(此時仍然不要開啟安全啟動)
驗證SBAT 刪除和撤銷:
再次進入Linux 系統後進入終端機並執行以下命令:
mokutil --list-sbat-revocations
如果提示沒有任何可以撤銷的內容則代表已經完成設置,此時再次重啟系統進入BIOS 並開啟安全啟動,開啟安全啟動後重新進入Linux 系統並打開終端應用執行如下命令:
mokutil --sb-state
此指令用來檢查安全啟動是否已經正常開啟,如果輸出結果顯示SecureBoot enabled 則代表開啟成功,如未成功請重複前面的開啟步驟。
停用Windows 更新:
再次重新啟動並進入Windows 系統,開啟管理員模式的命令提示字元執行以下命令即可停用有關SBAT 的相關應用程式:
reg add HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecureBootSBAT /v OptOut /d 1 /t REG_DWORD
最後完成以上操作後建議前往Linux 系統並檢查最新更新,目前微軟也在和Linux 開發人員合作解決這個問題,後續再安裝更新應該不會再出現類似問題。