微软发布的 2024-08 例行安全更新会导致 Windows-Linux 双系统无法启动,因为检测机制由于未能识别到 Linux 系统,导致补丁错误部署安全启动高级定位并导致 Linux 无法启动,有点拗口,直接上解决办法。
1、禁用安全启动:
进入 BIOS 设置先禁用安全启动。
2、删除 SBAT 更新:
在禁用安全启动后重启系统进入 Linux 并打开终端管理器并执行如下命令:
sudo mokutil --set-sbat-policy delete
此操作需要 root 权限,因此在执行时会提示输入你的账号密码,请按提示操作,操作完成后重启 Linux 系统进行下一步操作。
3、验证 SBAT 删除和撤销:
再次进入 Linux 系统后进入终端并执行如下命令:
mokutil --list-sbat-revocations
如果提示没有任何可以撤销的内容则代表已经完成设置。
4、重新开启安全启动:
此时再次重启系统进入 BIOS 并开启安全启动,开启安全启动后重新进入 Linux 系统并打开终端应用执行如下命令:
mokutil --sb-state
此命令用来检查安全启动是否已经正常开启,如果输出结果显示 SecureBoot enabled 则代表开启成功,如未成功请重复前面的开启步骤。
5、禁用 Windows 更新:
再次重启并进入 Windows 系统,打开管理员模式的命令提示符执行以下命令即可禁用有关 SBAT 的相关应用:
reg add HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecureBootSBAT /v OptOut /d 1 /t REG_DWORD
更多详细信息可以参考微软官方教程。