安全開機是 UEFI 韌體標準的一部分。當安全開機正在使用中時,除非作業系統開機載入器經密碼編譯簽署,否則機器將拒絕載入任何 UEFI 驅動程式或應用程式。在 vSphere 6.5 及更新版本中,ESXi 支援安全開機 (若已在硬體中啟用)。
ESXi 如何使用 UEFI 安全開機
ESXi 6.5 版及更新版本支援在開機堆疊的每個層級上進行 UEFI 安全開機。
備註: 在已升級的主機上使用 UEFI 安全開機前,請遵循
在 ESXi 升級後執行安全開機驗證指令碼中的指示來檢查相容性。
安全開機正在使用中時,開機順序的執行方式如下。
- 在 vSphere 6.5 及更新版本中,ESXi 開機載入器包含 VMware 公開金鑰。開機載入器使用此金鑰來驗證核心的簽章,以及一小部分包括安全開機 VIB 驗證器的系統。
- VIB 驗證器驗證系統上安裝的每一個 VIB 套件。
此時,藉由屬於 UEFI 韌體之憑證中的信任根,整個系統完成開機。
備註: 當您安裝或升級至
vSphere 7.0 Update 2 或更新版本,並且
ESXi 主機具有 TPM 時,TPM 會根據 UEFI 安全開機的 PCR 值透過 TPM 原則封裝敏感資訊。如果滿足此原則,將在後續重新開機期間載入此值。若要在 vSphere 7.0 Update 2 和更新版本中停用或啟用 UEFI 安全開機,請參閱
啟用或停用安全開機強制執行以確保安全的 ESXi 組態。
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 檔案中的資訊。
在 ESXi 升級後執行安全開機驗證指令碼
從不支援 UEFI 安全開機的版本升級 ESXi 主機後,必須檢查是否可以啟用安全開機。
若要成功執行安全開機,每個已安裝的 VIB 的簽章必須在系統上可用。在安裝 VIB 時,較舊版本的 ESXi 不會儲存簽章。
- 如果您使用 ESXCLI 命令升級,則舊版 ESXi 會執行新的 VIB 安裝,因此不會儲存其簽章且不能安全開機。
- 如果您使用 ISO 升級,則新的 VIB 會儲存其簽章。此情況同樣適用於使用 ISO 的 vSphere Lifecycle Manager 升級。
- 如果舊 VIB 保留在系統上,則這些 VIB 的簽章不可用且不能安全開機。
- 如果系統使用第三方驅動程式,且 VMware 升級不包含新版驅動程式 VIB,則升級後舊 VIB 會保留在系統上。
- 在少數情況下,VMware 可能會終止進行中的特定 VIB 的開發,而不提供將其取代或淘汰的新 VIB,因此升級後舊 VIB 會保留在系統上。
備註: UEFI 安全開機還需要使用最新的開機載入器。此指令碼不會檢查是否有最新的開機載入器。
必要條件
- 請確認硬體支援 UEFI 安全開機。
- 請確認所有 VIB 均在接受程度至少為 PartnerSupported 的情況下簽署。如果包含處於 CommunitySupported 程度的 VIB,則無法使用安全開機。