要以 PXE 方式引导 ESXi 安装程序,DHCP 服务器必须发送 TFTP 服务器地址和指向 pxelinux.0gpxelinux.0 目录的指针。

目标计算机使用 DHCP 服务器来获取 IP 地址。DHCP 服务器必须能够确定目标计算机是否允许引导,以及 PXELINUX 二进制文件的位置(通常位于 TFTP 服务器上)。目标计算机首次引导时,它会通过网络广播数据包,请求此信息以便自行引导。DHCP 服务器将响应此请求。

警告:

如果网络中已有一个 DHCP 服务器,则不要设置新的 DHCP 服务器。如果有多个 DHCP 服务器响应 DHCP 请求,计算机可能会获得错误或存在冲突的 IP 地址,或者可能接收不到正确的引导信息。在设置 DHCP 服务器之前,请与网络管理员联系。有关配置 DHCP 的支持,请与 DHCP 服务器供应商联系。

许多 DHCP 服务器可以以 PXE 方式引导主机。如果使用的是适用于 Microsoft Windows 的某个 DHCP 版本,请参见 DHCP 服务器文档以确定如何将 next-serverfilename 参数传递到目标计算机。

gPXE 示例

本示例显示如何配置 ISC DHCP 版本 3.0 服务器以启用 gPXE。

allow booting;
allow bootp;
# gPXE options
option space gpxe;
option gpxe-encap-opts code 175 = encapsulate gpxe;
option gpxe.bus-id code 177 = string;
class "pxeclients" {
match if substring(option vendor-class-identifier, 0, 9) = "PXEClient";
next-server TFTP server address;
if not exists gpxe.bus-id {
filename "/gpxelinux.0";
   }
}
subnet Network address netmask Subnet Mask {
range Starting IP Address
				Ending IP Address;
}

在计算机尝试以 PXE 方式引导时,DHCP 服务器会提供 IP 地址和 TFTP 服务器上二进制文件 gpxelinux.0 的位置。所分配的 IP 地址包含在配置文件的子网部分中定义的范围内。

PXELINUX(不包括 gPXE)示例

本示例显示如何配置 ISC DHCP 版本 3.0 服务器以启用 PXELINUX。

#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.sample
#
ddns-update-style ad-hoc;
allow booting;
allow bootp;
class "pxeclients" {
match if substring(option vendor-class-identifier, 0, 9) = "PXEClient";
next-server xxx.xxx.xx.xx;
filename = "pxelinux.0";
}
subnet 192.168.48.0 netmask 255.255.255.0 {
range 192.168.48.100 192.168.48.250;
}

在计算机尝试以 PXE 方式引导时,DHCP 服务器会提供 IP 地址和 TFTP 服务器上二进制文件 pxelinux.0 的位置。所分配的 IP 地址包含在配置文件的子网部分中定义的范围内。