安全開機是 UEFI 韌體標準的一部分。啟用安全開機的情況下,除非作業系統開機載入器經密碼編譯簽署,否則機器將拒絕載入任何 UEFI 驅動程式或應用程式。從 vSphere 6.5 開始,ESXi 支援安全開機 (若已在硬體中啟用)。

UEFI 安全開機概觀

ESXi 6.5 版及更新版本支援在開機堆疊的每個層級上進行 UEFI 安全開機。

備註: 在已升級至 ESXi 6.5 的主機上使用 UEFI 安全開機前,請遵循 在升級的 ESXi 主機上執行安全開機驗證指令碼中的指示來檢查相容性。如果您透過使用 esxcli 命令來升級 ESXi 主機,則該升級不會更新開機載入器。在此情況下,您無法在該系統上執行安全開機。
圖 1. UEFI 安全開機
UEFI 安全開機堆疊包括多個元素,已在文中解釋。

啟用安全開機的情況下,開機順序的執行方式如下。

  1. 從 vSphere 6.5 開始,ESXi 開機載入器包含 Vmware 公開金鑰。開機載入器使用此金鑰來驗證核心的簽章,以及一小部分包括安全開機 VIB 驗證器的系統。
  2. VIB 驗證器驗證系統上安裝的每一個 VIB 套件。

此時,藉由屬於 UEFI 韌體之憑證中的信任根,整個系統完成開機。

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)

若要解決安全開機的問題,請遵循這些步驟。

  1. 在安全開機停用的情況下將主機重新開機。
  2. 執行安全開機驗證指令碼 (請參閱在升級的 ESXi 主機上執行安全開機驗證指令碼)。
  3. 檢查 /var/log/esxupdate.log 檔案中的資訊。