本文介绍如何从不同网络上的 PXE 服务器启动。
原始产品版本: Configuration Manager
原始 KB 数: 4471003
PXE 启动过程
通常,客户端计算机根据以下过程使用 PXE 协议从网络启动。 它涉及三方、DHCP 服务器、PXE 服务器和客户端:
- 客户端计算机广播一个 DHCP 数据包,该数据包请求 DHCP 和 PXE 服务器的地址。
- DHCP 服务器响应,发送一个广播数据包,告知客户端它是地址服务器。
- PXE 服务器响应客户端并报告它是启动服务器。
- 客户端向 DHCP 服务器发送请求,请求 IP 地址。
- DHCP 服务器将 IP 地址发送到客户端。
- 客户端将请求发送到 PXE 服务器,以请求网络启动计划(NBP)的路径。
- PXE 服务器响应,发送 NBP 路径。
- 客户端下载并运行 NBP。
完成此过程后,基本 PXE 启动已完成,但客户端与 PXE 服务器之间将有更多的交互。 它由 NBP 实现控制。 例如,Windows 部署服务 (WDS) NBP 实现需要自定义启动文件(pxeboot.com
或 bootmgfw.efi
) 的路径。 实现将下载并运行自定义启动文件。 然后,将下载 Windows PE 所需的 Windows 映像格式(WIM)文件和其他文件。
如果客户端和服务器位于同一网络上,前面提到的八个步骤通常起作用。 当客户端和服务器位于不同的网络上时,建议的方法是配置路由器,以确保客户端可以从网络启动,而无需使用 DHCP 选项。
建议的方法 - IP 帮助程序
路由器必须能够将客户端请求从客户端网络路由到 DHCP 服务器的网络。 一个简单的路由器规则是 IP 帮助程序。 帮助程序只是告诉路由器将 DHCP 请求转发到 DHP 服务器的已知 IP 地址。
对于 PXE 请求,只需将路由器配置为将客户端请求转发到 PXE 服务器,就像使用 DHCP 服务器一样。 找到路由器,找到 DHCP IP 帮助程序条目,并添加另一个条目,该条目看起来与第一个条目完全相同,但使用 PXE 服务器的 IP 地址。 有关详细信息,请参阅要 PXE 启动的博客文章 ?请勿使用 DHCP 选项。
此外,还可以为每个 PXE 服务器添加 IP 帮助程序条目。 在负载均衡方案中(多个 PXE 服务器),PXE 服务器可以在组中启动或关闭,无需执行任何额外的配置。 在各种环境中(Windows、Linux 和路由器 PXE 服务器都共存),不同的 PXE 服务器可以选择性地响应他们识别的客户端。
有问题的方案
若要将 DHCP 服务器配置为响应 PXE 请求,可以尝试将 PXE 选项添加到 DHCP 回复。 这会导致客户端始终下载网络启动文件(如 DHCP 回复中指定的内容),并运行它。
在某些 UEFI 设置方案中,这是有问题的。 在客户端配置为从网络启动后,客户端可能无法尝试从硬盘驱动器启动。 但网络启动失败,例如,客户端没有任务序列部署。 混合 OS 环境也存在问题。 DHCP 服务器会指示 Linux 计算机下载并运行 Windows 网络启动程序。
因此,在某些情况下,让 DHCP 服务器伪装为 PXE 服务器不会按预期工作。 真正的 PXE 服务器决定是否响应并提供网络启动文件。 在 Configuration Manager 案例中,仅当有部署到客户端的任务序列时,服务器才会响应。