本周早些时候,微软承认其 2024 年 8 月补丁星期二更新存在问题,该更新给在一台机器上同时运行 Windows 和 Linux 的用户带来了麻烦。从根本上说,该更新不应该针对双启动系统。然而,检测机制未能识别某些系统,导致更新错误地将安全启动高级目标设置应用到错误的系统上,并破坏了 Linux 安装。
现在,微软提供了在受影响系统上修复该问题的更多信息。如果你的 Windows-Linux 机器无法启动到 Linux,请尝试以下方法使其恢复正常:
禁用安全启动:
- 启动设备固件设置。
- 禁用安全启动(步骤因制造商而异)。
删除 SBAT 更新:
- 启动 Linux。
- 打开终端并运行以下命令:sudo mokutil --set-sbat-policy delete
- 如果出现提示,请输入 root 密码。
- 再次启动 Linux。
核实 SBAT 撤销情况:
- 在终端中运行以下命令:mokutil --list-sbat-revocations
确保列表中没有撤销。重新启用安全启动:
- 重新启动固件设置。
- 重新启用安全启动。
检查安全启动状态:
- 启动 Linux。运行以下命令:mokutil --sb-state
- 输出结果应为 “已启用 SecureBoot”。如果没有,请重试步骤 4。
防止未来在 Windows 中更新 SBAT:
- 启动 Windows。
- 以管理员身份打开 “命令提示符” 并运行:reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecureBoot\SBAT /v OptOut /d 1 /t REG_DWORD
此时,你应该可以像以前一样启动 Linux 或 Windows。现在是安装任何待定 Linux 更新的好时机,以确保系统安全。
除了提供解决方法外,微软还表示正在与 Linux 合作伙伴合作,以尽快修复该问题。
如果你错过了,下面是 Windows 10 和 11 在本月的 “补丁星期二” 期间收到的更新:
- Windows 11 version 24H2: KB5041571
- Windows 11 version 22H2 and 23H2: KB5041585
- Windows 10 version 22H2: KB5041580