如何為 VMWare VM UEFI 用戶端使用 HTTP 啟動

如何為 VMWare VM UEFI 用戶端使用 HTTP 啟動

我有一個 VMWare VM(ESXi 6.5,VM 版本 13),我想透過網路對其進行映像。在過去的幾年裡,我們一直在使用(並且取得了巨大成功)包含 PXE 映像的 TFTP 伺服器。現在我想改用 UEFI 並讓 UEFI 用戶端使用 HTTPS 取得映像。

  1. 在 VMWare VM 上,我將“啟動選項|韌體”從“BIOS”更改為“EFI”。
  2. 在映像伺服器上新增了 HTTPS 端點,以便 UEFI 用戶端可以下載 UEFI 映像 ( https://example.com/ldlinux.e64)。
  3. 將客戶端的 DHCP 設定從傳送值為「pxeclient.0」的「filename」變更為 send https://example.com/ldlinux.e64

當我啟動 VM 時,EFI 啟動管理器啟動,但我看到以下錯誤:

_unsuccessful.bell (Unsupported option) 0:0)
PXE-E23: Client received TFTP error from server.inux.64

嗅探網絡,我發現 UEFI 用戶端仍在嘗試存取 TFTP 服務而不是 HTTPS 服務。我需要做什麼才能說服 UEFI 用戶端下載 URL 指向的 iamge 而不是繼續使用 TFTP?

更新:在我們的 DHCP 伺服器上嗅探 DHCP 流量,我發現 VM guest 正在發送選項 60 的 DHCP 請求,供應商類別 ID 設定為PXEClient:Arch:...。 HTTP Boot 的 UEFI 規格規定該值應該是HTTPClient:Arch:...。因此,問題歸結為如何讓 VM 來賓系統發送其選項 60 設定為「HTTPClient」的 DHCP 請求。

答案1

你有幾個問題;

  1. VMware UEFI 不支援 HTTP 引導

  2. 如果是的話,您將指向 boot ldlinux.e64,它不是 PE UEFI 應用程序,而是 Pxelinux 的 ELF 元件。它永遠不會啟動。

最後,您認為 HTTP 啟動捕獲與常規 PXE 捕獲(其中只有初始 Boot.wim 是 TFTP 傳輸,假設 windowsize=16,然後 MS 共享用於大部分捕獲)相比要快多少?收穫不多;讓它變得簡單。

相關內容