您可以直接从 HTTP 服务器引导 ESXi 安装程序,而无需其他软件的支持。

UEFI HTTP 支持引导多个版本的 ESXi 安装程序。您可以对所有目标计算机使用相同的 mboot.efi 初始引导加载程序,但 boot.cfg 文件可能有所不同,具体取决于目标计算机的 MAC 地址。
注: 在引导过程中,不要混合使用 IPv4 或 IPv6 网络。使用 IPv4 或者 IPv6 网络。

前提条件

确认您的环境包含以下组件:

  • 具有支持 HTTP 引导功能的 UEFI 固件的 ESXi 主机。
  • 从 VMware 网站下载的 ESXi 安装程序 ISO 映像。
  • 硬件配置受 ESXi 版本支持的目标主机。请参见《VMware 兼容性指南》
  • 目标 ESXi 主机上支持 UEFI 网络连接的网络适配器。
  • 您可以为 UEFI HTTP 引导配置的 DHCP 服务器。请参见示例 DHCP 配置
  • (可选)安装脚本(kickstart 文件)。
  • 多数情况下使用本地 VLAN。如果要指定用于 PXE 引导的 VLAN ID,请检查您的网卡是否支持 VLAN ID 规范。

过程

  1. efi/boot/bootx64.efi 文件从 ESXi 安装程序 ISO 映像复制到 HTTP 服务器上的目录中,并将文件重命名为 mboot.efi。例如,http://www.example.com/esxi/mboot.efi
    注: 新版本的 mboot.efi 通常可以引导旧版本的 ESXi,但旧版本的 mboot.efi 可能无法引导新版本的 ESXi。如果您计划配置不同的主机以引导不同版本的 ESXi 安装程序,请使用最新版本中的 mboot.efi
  2. 配置 DHCP 服务器。
  3. 在 HTTP 服务器上创建一个与其将包含的 ESXi 的版本同名的目录。例如,http://www.example.com/esxi/ESXi-7.x.x-XXXXXX
  4. ESXi 安装程序映像的内容复制到新创建的目录。
  5. 修改 boot.cfg 文件。
    1. 添加以下包含了新创建目录的 URL 的行。
      prefix=http://www.example.com/esxi/ESXi-7.x.x-XXXXXX
    2. 如果 kernel=modules= 行中的文件名以正斜杠 (/) 字符开头,请删除该字符。
    3. 如果 kernelopt= 行包含字符串 cdromBoot,请只移除该字符串。
  6. (可选) 对于脚本式安装,在 boot.cfg 文件中内核命令后的一行添加 kernelopt 选项以指定安装脚本的位置。
    例如, kernelopt=ks=http://www.example.com/esxi_ksFiles/ks.cfg
  7. (可选) 从 ESXi 7.0 Update 2 开始,可以使用虚拟机配置参数 networkBootProtocolnetworkBootUri 指定虚拟机可以从何处引导。设置 networkBootProtocol 指定引导协议(IPv4 或 IPv6)。例如,networkBootProtocol = httpv4。设置 networkBootUri 指定 ESXi 引导加载程序 (bootx64.efi) 的 HTTP URL。例如,networkBootUri = http://192.168.30.6/esxi70uc1/efi/boot/bootx64.efi
  8. 指定是否希望所有 UEFI 主机都引导同一安装程序。
    选项 描述
    同一安装程序 boot.cfg 文件添加到 mboot.efi 所在的目录中。例如,http://www.example.com/esxi/boot.cfg
    不同安装程序
    1. 为包含 mboot.efi 文件的目录创建一个子目录。将目录命名为目标主机的 MAC 地址 (01-mac_address_of_target_ESXi_host),例如 01-23-45-67-89-0a-bc
    2. 在该目录中添加自定义 boot.cfg 文件。例如,http://www.example.com/esxi/01-23-45-67-89-0a-bc/boot.cfg
    这两种安装程序都可以使用。如果 ESXi 主机在 HTTP 服务器上不具有自定义 boot.cfg 文件,则从默认的 boot.cfg 文件中进行引导。