2024年8月的安全更新可能会影响双引导设置设备中的Linux引导

安装2024年8月13日发布的2024年08月Windows安全更新后,如果您在设备中启用了Windows和Linux的双引导设置,则可能会在引导Linux时遇到问题。由于此问题,您的设备可能无法启动Linux,并显示错误消息“验证shim SBAT数据失败:违反安全策略。出现了严重错误:SBAT自检失败:违反了安全策略。”

 

2024年8月的Windows安全更新将安全引导高级目标(SBAT)设置应用于运行Windows的设备,以阻止旧的、易受攻击的引导管理器。此SBAT更新不会应用于检测到双引导的设备。在某些设备上,双引导检测没有检测到一些定制的双引导方法,并在不应应用SBAT值时应用了SBAT值。

 

解决方法:

场景1:在应用2024年8月的Windows更新之前

如果您正在同时启动Linux和Windows,并且尚未通过重新启动完成2024年8月Windows更新的安装,则可以使用以下选择退出注册表项。此注册表阻止SBAT更新作为2024年8月Windows更新和未来Windows更新的一部分应用,从而防止此问题发生。稍后,如果您想安装未来的SBAT更新,您将能够删除注册表项。

重要提示:本文档包含有关如何修改注册表的信息。在修改注册表之前,请确保对其进行备份。确保在出现问题时知道如何还原注册表。有关如何备份、还原和修改注册表的详细信息,请参阅如何在Windows中备份和还原注册表。

  • reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecureBoot\SBAT /v OptOut/d 1/t reg_DWORD

 

场景2:应用2024年8月的Windows更新后

如果您的Linux在安装2024年8月13日或更高版本的更新后无法启动,您可以按照以下说明恢复Linux系统。

重要提示:错误修改固件设置可能会阻止您的设备正确启动。请仔细遵循这些说明,只有在您确信自己有能力这样做的情况下才能继续。

a) 禁用安全启动:

启动设备的固件设置。

禁用安全启动(步骤因制造商而异)。

b) 删除SBAT更新:

引导到Linux。

打开终端并运行以下命令:

#sudo mokutil –set-sbat-policy delete

如果系统提示,请输入您的root密码。

再次启动到Linux。

c)验证SBAT撤销:

在终端中,运行以下命令:

#mokutil –list-sbat-revocations

确保列表中没有撤销。

d)重新启用安全启动:

重新启动到固件设置。

重新启用安全启动。

e)检查安全启动状态:

引导到Linux。运行以下命令:

#mokutil –sb-state

输出应为“启用SecureBoot”。如果没有,请重试步骤4。

f) 阻止Windows中未来的SBAT更新:

启动到Windows。

以管理员身份打开命令提示符并运行:

  • reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecureBoot\SBAT /v OptOut /d 1 /t REG_DWORD

 

此时,您现在应该能够像以前一样启动到Linux或Windows。现在是安装任何挂起的Linux更新以确保系统安全的好时机。

下一步:我们正在与Linux合作伙伴一起调查这个问题,并将在获得更多信息时提供更新。