若要對 ESXi 安裝程式進行 PXE 開機,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 位址在組態檔子網路區段所定義的範圍內。