我有一台 VMWare VM(ESXi 6.5,VM 版本 13),我想通过网络对其进行映像处理。过去几年,我们一直在使用包含 PXE 映像的 TFTP 服务器(效果非常好)。现在我想转而使用 UEFI,并让 UEFI 客户端使用 HTTPS 获取映像。
- 在 VMWare VM 上,我将“启动选项|固件”从“BIOS”更改为“EFI”。
- 向映像服务器添加了 HTTPS 端点,以便 UEFI 客户端可以下载 UEFI 映像(
https://example.com/ldlinux.e64
)。 - 将客户端的 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
你有几个问题;
VMware UEFI 不支持 HTTP 启动
如果可以的话,您指向的启动
ldlinux
.e64 不是 PE UEFI 应用程序,而是 Pxelinux 的 ELF 组件。它将永远不会启动。
最后,您认为 HTTP 启动捕获与常规 PXE 捕获相比会快多少?常规 PXE 捕获中只有初始 Boot.wim 是 TFTP 传输,假设 windowsize=16,然后是 MS 共享以进行大部分捕获?好处不多;简单点。