本文提供高级故障排除技术,可帮助管理员诊断和解决 Configuration Manager 中的 PXE 启动失败。
原始产品版本: Configuration Manager(Current Branch)
原始 KB 数: 4491871
简介
有关 PXE 工作原理的基本信息,请参阅配套文章 了解 ConfigMgr 中的 PXE 启动。
Configuration Manager 部分中的 PXE 启动问题疑难解答中提供的解决方案可以解决影响 PXE 启动的大多数问题。
如果无法使用 IP 帮助程序或重新安装 PXE 来解决 PXE 启动问题,请尝试以下故障排除步骤。
在同一服务器上共同托管 DHCP 和 WDS 时的特别注意事项
在同一台计算机上共同托管动态主机配置协议(DHCP)和 WDS 时,WDS 需要特殊配置来侦听特定端口。 此配置在 Windows 部署服务和动态主机配置协议(DHCP)中概述。 根据本文,如果 WDS 和 DHCP 共同托管在同一服务器上,则必须完成以下操作:
将
UseDHCPPorts
以下注册表位置中的值设置为 0 :HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WDSServer\Providers\WDSPXE
运行以下 WDS 命令:
WDSUTIL /Set-Server /UseDHCPPorts:No /DHCPOption60:Yes
此建议要求将 WDS 配置为运行 WDSUTIL
命令。 此建议与安装已启用 ConfigMgr PXE 的 DP 时不要配置 WDS 的最佳做法冲突。 但是,可以使用不需要WDSUTIL
命令的替代方法配置命令(UseDHCPPorts
和DHCPOption60
)中指定的WDSUTIL
两个设置。 这样,就不必配置 WDS。
若要在不启用 WDS 的情况下配置这些设置,请遵循以下准则:
此
UseDHCPPorts
开关WDSUTIL
实际上等效于将UseDHCPPorts
注册表项设置为以下位置中的值 0 :HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WDSServer\Providers\WDSPXE
UseDHCPPorts
如果手动设置注册表项,则不需要使用该开关。 如果未安装 WDS,则此注册表项可能不存在。该
DHCPOption60
开关为 DHCP 服务配置选项,而不是为 WDS 服务配置选项。 可以使用等效的 DHCP 命令来设置相同的选项,而不是用于WDSUTIL
设置此 DHCP 选项。 为此,请使用netsh
命令,如为远程启动服务配置 DHCP 中所述。若要根据以下准则配置 WDS 选项,请关闭打开的任何 DHCP 控制台,然后在提升的命令提示符处运行以下命令:
netsh dhcp server \\<DHCP_server_machine_name> add optiondef 60 PXEClient String 0 comment=PXE support
netsh dhcp server \\<DHCP_server_machine_name> set optionvalue 60 STRING PXEClient
这些命令在 DHCP 服务器上设置和启用 DHCP 选项 60。 运行这些命令后,如果显示命名
Unknown
的选项而不是060 PXE Client
在 DHCP 控制台中显示,请重启服务器,以便这些设置生效。 重启后,应正确显示该选项。 只有在运行两个命令时 DHCP 控制台保持打开状态时,才会发生此问题。
如果 DHCP 曾经移动到另一台服务器并从托管 WDS 的服务器中删除,则应撤消这些步骤。 在 WDS 服务器上执行以下步骤:
在提升的命令提示符下运行以下命令:
REG ADD HKLM\SYSTEM\CurrentControlSet\services\WDSServer\Providers\WDSPXE /v UseDHCPPorts /t REG_DWORD /d 1 /f
在提升的命令提示符下运行以下命令:
netsh dhcp server \\<DHCP_server_machine_name> delete optionvalue 60
netsh dhcp server \\<DHCP_server_machine_name> delete optiondef 60 PXEClient
注意
这些命令中的第一个命令禁用 DHCP 选项 60。 第二个命令完全删除 DHCP 选项 60。
DHCP 发现疑难解答
在开始排查 PXE 启动过程的初始 DHCP 发现阶段问题之前,请考虑以下几点:
- 在SMSPXE.log中,应会看到要启动的设备的 MAC 地址或 DHCPREQUEST 。 如果未看到,客户端和 DP 之间可能存在路由器配置问题。
- 请勿使用 DHCP 选项 60、66 或 67。 不支持它。
- 测试设备是否可以在连接到启用了 PXE 的 DP 的同一子网上的交换机时启动。 如果可以,则问题可能涉及路由器配置。
- 请确保客户端计算机、DHCP 服务器和 PXE DP 之间打开 DHCP(67 和 68)、TFTP(69)和 BINL(4011)端口。
在此阶段,没有要引用的日志。 如果 PXE 启动过程在 WinPE 启动之前失败,通常会显示 PXE 错误代码。 下面是你可能会看到的错误消息的示例:
- PXE-E51:未收到 DHCP 或 proxyDHCP 产品/服务。
- PXE-E52:已收到 proxyDHCP 产品/服务。 未收到 DHCP 产品/服务。
- PXE-E53:未收到启动文件名。
- PXE-E55:proxyDHCP 服务未回复端口 4011 上的请求。
- PXE-E77 错误或缺少发现服务器列表。
- PXE-E78:找不到启动服务器。
尽管它有助于缩小故障排除的焦点,但仍可能需要使用网络监视工具(如 Netmon 或 WireShark)捕获问题的网络跟踪。 网络监视工具必须同时安装在启用了 PXE 的 DP 和连接到交换机上的镜像端口的计算机上。 有关如何配置镜像端口的详细信息,请参阅特定交换机或路由设备的制造商提供的手册。
典型的过程是在 DP 和连接到镜像端口的计算机上启动网络跟踪。 尝试通过 PXE 启动设备。 然后,停止跟踪,并将其保存以供进一步分析。
下面是从启用了 PXE 的 DP 捕获的 DHCP 对话的示例跟踪:
可以看到 PXE 客户端的初始 DHCPDISCOVER 后跟 DHCP 服务器和 PXE DP 中的 DHCPOFFER 。 来自客户端(0.0.0.0)的请求由 DHCP 服务器(10.238.0.14)确认。 PXE 客户端具有 IP 地址(10.238.0.3)后,它会向 PXE DP(10.238.0.2)发送请求。 然后,DP 通过返回网络启动程序详细信息来确认请求。
捕获客户端和 DP 上的同时网络跟踪,以确定会话是否按预期发生。 请遵循这些指导:
- 确保 DHCP 服务正在运行且可用。
- 验证 WDS 服务是否在 DP 上运行。
- 请确保没有防火墙阻止服务器和客户端之间的 DHCP 端口。
- 验证客户端计算机在与 DP 位于同一子网上时是否可以启动。
- 如果客户端计算机从不同于 DP 的子网启动,请确保正确配置 IP 帮助程序。
排查 TFTP 传输问题
如果 PXE 启动错误是指 TFTP,则可能无法传输启动文件。 下面是你可能会收到的错误消息的示例:
- PXE-E32:TFTP 打开超时
- PXE-E35:TFTP 读取超时
- PXE-E36:从 TFTP 服务器收到的错误
- PXE-E3F:TFTP 数据包大小无效
- PXE-E3B:TFTP 错误 - 找不到文件
- PXE-T04:访问冲突
排查这些错误的好方法是使用 Netmon 或 Wireshark 监视网络。 下面是在发生 TFTP 打开超时时从 PXE 客户端捕获的数据的示例。
在这里,客户端正在发送对 Wdsnbp.com 文件的读取请求,但未收到响应。 它指示某些内容正在阻止客户端接收确认。 下面是数据的外观。
在这种情况下,可以尝试以下故障排除方法:
减少启用了 PXE 的 DP 上的块大小,请参阅 KB 975710。
验证 WDS 服务是否已在 DP 上启动。
确保客户端计算机和 DP 之间打开 TFTP 端口。
验证 REMINST 共享和文件夹的权限是否正确。
检查 WDS 日志中是否存在其他 TFTP 错误。
验证和
RemoteInstall\SMSBoot\x64
文件夹是否RemoteInstall\SMSBoot\x86
包含以下文件:确保字体存在于
SMSBoot\Fonts
文件夹中:确保 Boot.sdi 文件存在于
RemoteInstall\SMSBoot
文件夹中:
Windows PE 启动问题 - 驱动程序
在此阶段发生的最常见问题与驱动程序相关。 总的来说,最新版本的 Windows PE(WinPE)包含大多数网络和大容量存储驱动程序。 有时不包括必需的驱动程序。 因此,它必须导入到启动 WIM 中。 以下准则适用于此过程:
- 仅导入启动映像所需的驱动程序。
- 请考虑仅添加 NIC 或大容量存储驱动程序。 不需要其他驱动程序。
SMSTS.log文件(位于 <SystemDrive>:\Windows\temp\SMSTS)是排查这些问题的最有用资源。 (请记住在启动期间启用命令提示符,以便可以检查此文件。如果看不到具有有效 IP 地址且类似于以下条目的日志条目,则可能遇到驱动程序问题:
SMSTS.log
Found network adapter "Intel 21140-Based PCI Fast Ethernet Adapter (Emulated)" with IP Address <IP address>
若要验证这种情况,请按 F8,然后在命令提示符下运行 IPCONFIG
,以确定 NIC 是否已识别并具有有效的 IP 地址。
WIM 文件
此外,请确保 DP 上同时存在 x86 和 x64 启动映像。 可以在以下目录中看到 WIM,它们也会位于内容库中:
C:\RemoteInstall\SMSImages\<PackageID>
请确保 在启动映像的属性中设置从启用了 PXE 的分发点 部署此启动映像。
Configuration Manager 策略问题
影响 PXE 启动的另一个常见问题涉及任务序列部署。 在以下示例中,任务序列部署到未知计算机,但它已在数据库中。 第一个症状是 PXE 启动已中止。
进一步调查后,你会注意到 SMSPXE 日志中的以下条目:
SMSPXE.log
Client lookup reply: <ClientIDReply><Identification Unknown="0" ItemKey="16777299" ServerName=""><Machine><ClientID/><NetbiosName/></Machine></Identification></ClientIDReply>
MP_LookupDevice succeeded: 16777299 1 16777299 1 0
00:15:5D:00:19:CA, 32E5B71A-B626-4A4B-902E-7F94AD38B5B3: device is in the database.
Client boot action reply: <ClientIDReply><Identification Unknown="0" ItemKey="16777299" ServerName=""><Machine><ClientID/><NetbiosName/></Machine></Identification><PXEBootAction LastPXEAdvertisementID="" LastPXEAdvertisementTime="" OfferID="" OfferIDTime="" PkgID="" PackageVersion="" packagePath="" BootImageID="" Mandatory=""/></ClientIDReply>
Client Identity:
00:15:5D:00:19:CA, 32E5B71A-B626-4A4B-902E-7F94AD38B5B3: SMSID= OfferID=, PackageID=, PackageVersion=, BootImageID=, PackagePath=, Mandatory=0
00:15:5D:00:19:CA, 32E5B71A-B626-4A4B-902E-7F94AD38B5B3: no advertisements found
00:15:5D:00:19:CA, 32E5B71A-B626-4A4B-902E-7F94AD38B5B3: No boot action. Aborted.
00:15:5D:00:19:CA, 32E5B71A-B626-4A4B-902E-7F94AD38B5B3: Not serviced.
可以在此条目中看到,当 NBS 存储过程运行时,它们找不到可用的策略。 因此,启动操作已中止。 反向也可以为 true。 也就是说,当计算机未知但任务序列部署到已知计算机的集合时。
可以尝试以下故障排除步骤:
- 验证尝试重启的计算机是否存在于针对任务序列部署的集合中。
- 确保已检查 DP 上的“启用未知计算机支持 PXE ”设置。
- 如果要将任务序列部署到未知计算机,请验证数据库中是否存在这些计算机。
需要更多帮助
有关解决此问题的更多帮助,请参阅 TechNet 支持论坛或联系Microsoft 支持部门。
第三方信息免责声明
本文中提到的第三方产品由 Microsoft 以外的其他公司提供。 Microsoft 对这些产品的性能和可靠性不作任何明示或默示担保。
第三方联系人免责声明
Microsoft 会提供第三方联系信息来帮助你查找有关本主题的其他信息。 此联系信息可能会更改,恕不另行通知。 Microsoft 不保证第三方联系信息的准确性。