安全引导属于 UEFI 固件标准的一部分。启用安全引导后,计算机会拒绝加载任何 UEFI 驱动程序或应用程序,除非操作系统引导加载程序以加密形式进行签名。从 vSphere 6.5 开始,如果在硬件中启用了安全引导,则 ESXi会加以支持。
UEFI 安全引导概述
ESXi 版本 6.5 和更高版本在引导堆栈的各个级别上均支持 UEFI 安全引导。
注: 在升级到
ESXi6.5 的主机上使用 UEFI 安全引导之前,请按照
在升级后的 ESXi主机上运行安全引导验证脚本中的说明检查兼容性。如果使用
esxcli命令升级
ESXi 主机,则升级不会更新引导加载程序。在这种情况下,无法在此系统上执行安全引导。
启用安全引导后,引导顺序如下所示。
- 从 vSphere 6.5 开始,ESXi引导加载程序包含 VMware 公用密钥。该引导加载程序使用此密钥验证内核签名以及包含安全引导 VIB 验证器的小型系统子集。
- VIB 验证器验证系统上安装的每个 VIB 软件包。
此时将引导整个系统以及属于 UEFI 固件的证书中的可信 root。
UEFI 安全引导故障排除
如果安全引导在引导顺序的任何一级别上失败,则会出错。
错误消息取决于硬件供应商和验证失败的级别。
- 如果尝试使用未签名或已被篡改的引导加载程序进行引导,则会在执行引导顺序时出错。确切消息取决于硬件供应商。此消息可能类似以下错误,但可能有所不同。
UEFI0073: Unable to boot PXE Device...because of the Secure Boot policy
- 如果内核已被篡改,则会出现类似以下结果的错误。
Fatal error: 39 (Secure Boot Failed)
- 如果软件包(VIB 或驱动程序)已被篡改,则会显示紫色屏幕以及以下消息。
UEFI Secure Boot failed: Failed to verify signatures of the following vibs (XX)
要使用安全引导解决问题,请执行以下步骤。
- 禁用安全引导并重新引导主机。
- 运行安全引导验证脚本(请参见在升级后的 ESXi主机上运行安全引导验证脚本)。
- 查看 /var/log/esxupdate.log 文件中的信息。