PXE 可以在 UEFI 中启动,但在 Legacy 中却不行

PXE 可以在 UEFI 中启动,但在 Legacy 中却不行

寻找一些关于为什么我的实验室设置在 PXE 启动方面如此运作的建议。

该单位的细目如下:

  1. 主机操作系统是 Server 2016,运行 Hyper V,配备 2 个 VMS Hyper V
  2. VM1 是 DC,运行 AD、DHCP、DNS
  3. VM2 WDS

当我在预操作系统环境(固件)处于 UEFI 模式的情况下通过 PXE 启动客户端(Dell E7470 7480)时,它会像魔法一样拉下 NBP 文件,然后可以获取 install.wim

但是,如果我将客户端更改为传统 BIOS,它将进行 PXE 启动并收到错误 PXE-E53 未收到启动文件名。

在 DHCP 中,如果我将 66 设置为 WDS 服务器的 IP,并将 67 设置为 \boot\x64\wdsnbp.com,那么它可以在 Legacy 中工作,但在 UEFI 中不起作用

我感到困惑的原因是由于 WDS 位于不同的 VM 上,我不应该在 DHCP 中设置选项 66 67。

我在这里缺少什么才能对传统机器和 UEFI 机器进行 PXE,而不必每次都更改选项?

我可以让客户端在 UEFI 和 Legacy 中分别运行,但只能单独运行

谢谢大家

答案1

PXE UEFI 和 BIOS 客户端启动不同的 NBP(网络启动程序)。PXE 启动客户端使用 DHCP 选项 93(RFC 4578) 在其 DHCPDISCOVER 数据包上。然后启用 PXE 的 DHCP 服务器解析选项 93 决定提供哪个 NBP。在您的案例中,您的 DHCP 服务器没有为 BIOS 客户端提供 NBP,而正确地为 UEFI 客户端提供 NBP

答案2

设置 WDS/PXE 启动有不同的方法 - 要么 WDS 响应来自 DHCP 客户端的广播,要么 DHCP 服务器告诉 DHCP 客户端联系 WDS 服务器(选项 66+67)。

在您的情形下(一个子网,DHCP 和 WDS 在不同服务器上),它应该无需选项 60、66 或 67 即可工作(根据 Google),尽管我不知道在这种情况下它会选择哪个引导加载程序。查看我们的系统,这就是我们这里的情况(有效 - 2012R2,DHCP + WDS 在不同服务器上,路由网络)- 60、66、67 选项均未设置,我们可以启动传统或 UEFI。

您可以立即使用 DHCP 策略来为不同机器类型(例如不同的 MAC 地址前缀)设置选项 - 例如仅为一部分机器设置 66/67,其余的则不设置。

当您拥有路由网络时,选项 66 和 67 很有用。您可以设置 66 和 67,也可以将 WDS 服务器的 IP 添加到路由器上的 ip 助手中(就像我们这里一样)

希望有所帮助。

答案3

我不确定这是否适用于 E7440,但在 Latitude 7480 上,您需要激活 UEFI 网络堆栈才能使其正常工作。

在 7480 上,该设置位于系统配置 -> 集成 NIC 下。

这是一个名为“启用 UEFI 网络堆栈”的复选框

相关内容