如何使用 HTTP Boot 启动 VMWare VM UEFI 客户端

如何使用 HTTP Boot 启动 VMWare VM UEFI 客户端

我有一台 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”更改为发送https://example.com/ldlinux.e64

当我启动虚拟机时,EFI 启动管理器启动,但我看到此错误:

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

嗅探网络后,我发现 UEFI 客户端仍在尝试访问 TFTP 服务而不是 HTTPS 服务。我需要做什么才能说服 UEFI 客户端下载 URL 指向的图像而不是继续使用 TFTP?

更新:嗅探 DHCP 服务器上的 DHCP 流量时,我发现 VM 客户机正在发送一个 DHCP 请求,其中选项 60、供应商类 ID 设置为PXEClient:Arch:...。HTTP Boot 的 UEFI 规范规定此值应为HTTPClient:Arch:...。因此,问题归结为如何让 VM 客户机系统发送其 DHCP 请求,其中选项 60 设置为“HTTPClient”。

答案1

你有几个问题;

  1. VMware UEFI 不支持 HTTP 启动

  2. 如果可以的话,您指向的启动ldlinux.e64 不是 PE UEFI 应用程序,而是 Pxelinux 的 ELF 组件。它将永远不会启动。

最后,您认为 HTTP 启动捕获与常规 PXE 捕获相比会快多少?常规 PXE 捕获中只有初始 Boot.wim 是 TFTP 传输,假设 windowsize=16,然后是 MS 共享以进行大部分捕获?好处不多;简单点。

相关内容