您可以使用 TFTP 伺服器對 ESXi 安裝程式進行 PXE 開機。依據您是使用 UEFI 還是從舊版 BIOS 開機,該程序會略微不同。因為大部分環境均包含支援 UEFI 開機的 ESXi 主機和僅支援舊版 BIOS 的主機,本主題將討論這兩類主機的必要條件和步驟。

  • 對於舊版 BIOS 機器,該程序透過針對所有目標機器使用相同的 pxelinux.0 初始開機載入器,支援將多個不同版本的 ESXi 安裝程式開機,但 PXELINUX 組態檔可能會有所不同,具體取決於目標主機的 MAC 位址。
  • 針對 UEFI 機器,該程序透過針對所有目標機器使用相同的 mboot.efi 初始開機載入器,支援將多個不同版本的 ESXi 安裝程式開機,但取決於目標主機的 MAC 位址,可能存在不同的 boot.cfg 檔案。

必要條件

確認您的環境滿足下列必要條件。

  • 從 VMware 網站下載的 ESXi 安裝程式 ISO 映像。
  • 目標主機具有您的 ESXi 版本支援的硬體組態。請參閱《VMware 相容性指南》
  • 目標 ESXi 主機上支援 PXE 的網路介面卡。
  • 可設定 PXE 開機的 DHCP 伺服器。請參閱範例 DHCP 組態
  • TFTP 伺服器。
  • 允許 TFTP 流量的網路安全性原則 (UDP 連接埠 69)。
  • 針對舊版 BIOS,您僅可使用 IPv4 網路功能。針對 UEFI PXE 開機,您可以使用 IPv4 或 IPv6 網路功能。
  • (選擇性) 安裝指令碼 (kickstart 檔案)。
  • 在大多數情況下使用原生 VLAN。如果您要指定用於 PXE 開機的 VLAN 識別碼,請檢查您的 NIC 是否支援 VLAN 識別碼規格。
對於舊版 BIOS 系統,請取得 SYSLINUX 套件 3.86 版。如需詳細資訊,請參閱 網路開機背景資訊

程序

  1. 如果您的 ESXi 主機僅執行舊版 BIOS 韌體,請取得並設定 PXELINUX。
    1. 取得 SYSLINUX 3.86 版,將其解除封裝,然後將 pxelinux.0 檔案複製到您 TFTP 伺服器上的頂層 /tftpboot 目錄。
    2. 使用下列程式碼模型建立 PXELINUX 組態檔。
      ESXi-7.x.x-XXXXXX 為包含 ESXi 安裝程式檔案的 TFTP 子目錄名稱。
      DEFAULT install
      NOHALT 1
      LABEL install
        KERNEL ESXi-7.x.x-XXXXXX/mboot.c32
        APPEND -c ESXi-7.x.x-XXXXXX/boot.cfg
        IPAPPEND 2
      
    3. 以可判定是否所有主機都能依預設將此安裝程式開機的檔案名稱,將 PXELINUX 檔案儲存在您 TFTP 伺服器上的 /tftpboot/pxelinux.cfg 目錄中:
      選項 說明
      相同的安裝程式 如果您希望所有主機都能依預設將此 ESXi 安裝程式開機,請將檔案命名為 default
      不同的安裝程式 如果您希望使用此檔案僅可將某特定主機開機,請使用目標主機電腦 (01-mac_address_of_target_ESXi_host) 的 MAC 位址為檔案命名,例如,01-23-45-67-89-0a-bc
  2. 如果 ESXi 主機執行 UEFI 韌體,請將 efi/boot/bootx64.efi 檔案從 ESXi 安裝程式 ISO 映像複製到 TFTP 伺服器上的 /tftpboot 資料夾,然後將該檔案重新命名為 mboot.efi。對於 7.0 Update 3 及更新版本,另請將 efi/boot/crypto64.efi 檔複製到 /tftpboot 資料夾。
    備註: 較新版本的 mboot.efi 通常可將較舊版本的 ESXi 開機,但較舊版本的 mboot.efi 可能無法將較新版本的 ESXi 開機。如果您計劃設定不同的主機將不同版本的 ESXi 安裝程式開機,請使用最新版本的 mboot.efi
  3. 設定 DHCP 伺服器。
  4. 建立您 TFTP 伺服器之頂層 /tftpboot 目錄的子目錄,並以其保留的 ESXi 版本命名,例如,/tftpboot/ESXi-7.x.x-xxxxx
  5. ESXi 安裝程式映像的內容複製到新建立的目錄中。
  6. 修改 boot.cfg 檔案
    1. 新增下列行:
      prefix=ESXi-7.x.x-xxxxxx
      此處, ESXi-7.x.x-xxxxxx 是與 TFTP 伺服器的根目錄相關之安裝程式檔案的路徑名稱。
    2. 如果 kernel=modules= 行中的檔案名稱以正斜線 (/) 字元開頭,請刪除該字元。
    3. 如果 kernelopt= 行包含字串 cdromBoot,則僅移除該字串。
  7. (選擇性) 對於指令碼式安裝,請在 boot.cfg 檔案中核心命令的下一行新增 kernelopt 選項,來指定安裝指令碼的位置。
    使用下列程式碼做為模型,其中 XXX.XXX.XXX.XXX 為安裝指令碼所在伺服器的 IP 位址, esxi_ksFiles 為包含 ks.cfg 檔案的目錄。
    kernelopt=ks=http://XXX.XXX.XXX.XXX/esxi_ksFiles/ks.cfg
  8. 如果 ESXi 主機執行 UEFI 韌體,請指定是否希望所有 UEFI 主機將同一個安裝程式開機。
    選項 說明
    相同的安裝程式 boot.cfg 檔案複製或連結至 /tftpboot/boot.cfg
    不同的安裝程式
    1. 建立 /tftpboot 的子目錄,以目標主機電腦 (01-mac_address_of_target_ESXi_host) 的 MAC 位址命名,例如,01-23-45-67-89-0a-bc
    2. 在該目錄中放置主機的 boot.cfg 檔案的複本 (或連結),例如,/tftpboot/01-23-45-67-89-0a-bc/boot.cfg