在配置管理器中的 PXE 启动故障排除

适用于: System Center Configuration Manager (current branch)Microsoft System Center 2012 R2 Configuration ManagerMicrosoft System Center 2012 Configuration Manager

这篇文章旨在帮助管理员诊断和解决 PXE 引导故障系统中心配置管理器中。如果您是家庭用户,寻求帮助的问题,询问Microsoft 社区

在这篇文章:

在开始之前


开始故障排除在 PXE 服务点之前,我们建议您查看是否讨论的问题可能导致您的问题,请参阅以下文章。这并不是一个详尽的列表,但是它包含了一些最常见的 PXE 引导问题。

验证 IP 帮助程序


如果 DHCP 服务器,客户端计算机运行 Windows 部署服务 (WDS) 和启用 PXE 的分发点 (DP) 的 ConfigMgr 服务器在同一个子网或 VLAN,然后 IP 帮助程序不是必需。

否则,如果 DHCP 服务器、 客户端计算机或运行 WDS 并启用 PXE 的 DP ConfigMgr 服务器位于分开的子网或 Vlan,通常是这种情况在大多数环境中,必须在路由器上配置 IP 帮助程序。此过程会有所不同,取决于路由器硬件制造商联系。配置您的路由器转发广播中概述的一般概述。如果正确配置上的路由器的 IP 帮助程序需要其他信息,请与路由器的硬件制造商联系。

由于 PXE 请求生成的客户端计算机不在本地子网或 VLAN 之外旅行的广播,IP 帮助程序是必需的。如果 DHCP 服务器和/或启用 WDS/PXE 的 DP 不在同一个子网或 VLAN 作为客户端计算机上,他们不会看到或听到的 PXE 请求从客户端广播,因此服务器不会响应 PXE 请求。若要使 PXE 请求广播的遍历子网或 Vlan 之间,PXE 请求广播转发 DHCP 和 WDS/PXE 服务点服务器的路由器,以便正确地响应客户端的 PXE 请求的需要。

使用 IP 帮助程序的替代方法设置 DHCP 选项在 DHCP 服务器上,尤其是 DHCP 选项 (PXE 客户端) 60、 66 (启动服务器主机名) 和 67 (引导文件名称)。但是,DHCP 选项可能会出现问题,并且可能无法可靠地或以一致的方式。此外,控制 PXE DHCP 选项的使用中 ConfigMgr不 Microsoft 的支持请求。因此,PXE 启动客户端计算机在远程子网上推荐和受支持的方法是通过使用 IP 帮助程序。

不建议使用或不支持 DHCP 选项的其他信息,请参阅下列文章:

重要提示在继续之前,它的要求,则请确保路由器的配置的 IP 帮助程序DHCP 服务器没有有 60、 66 或 67 配置 DHCP 选项。不能满足这些条件的都将导致 PXE 服务点的问题。当检查 DHCP 选项时,请确保您检查服务器和作用域级别的选项。

请注意,在某些实例中,配置 DHCP 选项 60、66 以及 67 之后 PXE 启动过程看起来与配置这些选项之前一般无二,但是在大多数情况下,启动过程将会沿着错误方向进行。

重要提示DHCP 选项需要使用唯一的例外是当 DHCP 和 WDS 驻留在同一台服务器上。在此情况下,只有 DHCP 选项 60 需要设置。DHCP 选项 66 和 67 应仍然没有在这种情况下设置。这是在共同托管 DHCP 和同一台服务器上的 WDS中详细说明。

在同一服务器上共同托管 DHP 和 WDS 时的特别注意事项


当 DHCP 和 WDS 共同承载在同一台计算机上时,WDS 将需要特殊的配置,以便它可以侦听特定的端口。Windows 部署服务和动态主机配置协议 (DHCP)中介绍了此配置。请注意,本文中,根据以下两个操作需要完成 DHCP 和 WDS 时共同承载在同一台服务器上:

  1. 需要在以下注册表位置设置为0的值UseDHCPPorts : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WDSServer\Providers\WDSPXE
  2. 您需要运行 WDS 中的以下命令: WDSUTIL /Set-Server /UseDHCPPorts:No /DHCPOption60:Yes

但是,问题的上述建议是为了运行WDSUTIL命令,WDS 进行配置。这有违的安装启用 PXE ConfigMgr 的 DP 时配置 WDS 的最佳做法。但是,通过WDSUTIL命令 (UseDHCPPorts 和 DHCPOption60) 被指定的两个设置可以配置使用不需要WDSUTIL命令,因此不需要配置 WDS 的备用方法。而不必启用 WDS 中配置这些设置,请执行以下步骤:

  1. 对于WDSUTIL UseDHCPPorts 开关,则实际上相当于在以下位置将 UseDHCPPorts 注册表项设置为值为 0: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WDSServer\Providers\WDSPXE 因此,使用 UseDHCPPorts 开关并不需要,只要手动设置注册表项。请注意,是否未安装 WDS,此注册表项可能不存在。
  2. DHCPOption60 开关配置 DHCP 服务,而非 WDS 服务选项。因此,而不是使用WDSUTIL来设置此 DHCP 选项,等效的 DHCP 命令可用来设置相同的选项。这可以通过使用netsh命令将 DHCP 配置为远程启动服务中所述。 要总结什么是上述文章中,关闭任何 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。 如果运行上述两个命令后,在 DHCP 控制台中而不是 060 PXE 客户端中显示名称为 Unknown 的选项,请重新启动服务器以便这些设置能够生效。 在重新启动后,该选项应可以正确显示。 这通常只发生在当两个命令运行时 DHCP 控制台处于打开状态的情况下。

注意 如果 DHCP 曾经移至另一台服务器并从托管 WDS 的服务器删除,则上述步骤需要反向执行。 若要反向执行上述步骤,请在 WDS 服务器上完成以下步骤:

  1. 从提升的命令提示符处运行以下命令:REG ADD "HKLM\SYSTEM\CurrentControlSet\services\WDSServer\Providers\WDSPXE" /v UseDHCPPorts /t REG_DWORD /d 1 /f
  2. 从提升的命令提示符处,运行以下两个命令: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 发现阶段的故障排除之前,有许多需要注意的重要事项:

  • 如果看不到的 MAC 地址或您正试图在 SMSPXE.log 引导的设备的 DHCPREQUEST,然后可能有客户端分发点 (DP) 之间的路由器配置问题。
  • 请勿使用 DHCP 选项 60、66 和 67,不支持此做法。 
  • 测试是否为启用 PXE 的 DP 插入同一子网上的一个开关时,可以引导设备。如果是这样,问题是可能的路由器配置。
  • 确保 TFTP (69) (67 和 68) DHCP、 BINL (4011) 端口已打开客户端计算机、 DHCP 服务器和 PXE (dp) 之间。

在这一阶段的进程,有指任何日志。但是,通常在 PXE 引导过程已启动 WinPE 之前发生了故障,将显示 PXE 错误代码。您可能会看到错误的示例包括以下:

  • PXE-E51: 未接收到 DHCP 或 proxyDHCP 提供的服务。
  • PXE-E52:接收到 proxyDHCP 提供的服务。 未接收到 DHCP 提供的服务。
  • PXE-E53: 未接收到启动文件名。
  • PXE-E55:proxyDHCP 服务未回复端口 4011 上的请求。
  • PXE E77 损坏或丢失发现服务器列表。
  • PXE-E78: 无法找到启动服务器。

有大量的网页记录这些错误代码,例如, symantec 公司的 PXE 错误代码及其含义的列表。

尽管它可能需要使用网络监视工具,如网络监视器WireShark捕获网络跟踪的问题,这有助于缩小故障诊断,焦点。网络监视工具需要安装启用 PXE 的分发点上,一台计算机连接到交换机上镜像端口。有关配置镜像的端口的详细信息,请参阅特定交换机的路由设备制造商提供的手册。典型的过程是 DP 和连接到镜像端口的计算机上启动网络跟踪,然后再尝试引导通过 PXE 设备。完成后,停止跟踪,并将其保存以便进一步分析。以下是启用 PXE 的 DP 从捕获的 DHCP 对话的示例跟踪:

3876_image14
 

您可以看到,PXE 客户端的初始 DHCPDISCOVER 后跟 DHCPOFFER 从 DHCP 服务器和 PXE (dp)。从客户端 (0.0.0.0) 请求生成并且 DHCP 服务器 (10.238.0.14) 被确认的。一旦 PXE 客户端有了 IP address(10.238.0.3),它将发送请求到 PXE DP (10.238.0.2),其中承认它具有网络引导程序的详细信息。

同时在客户端和 DP 上捕获网络踪迹,以查看会话是否按预期发生。

  • 确保 DHCP 服务正在运行并且可用。
  • 验证 WDS 服务正在 DP 上运行。
  • 确保没有阻止 DHCP 端口在服务器和客户端之间的防火墙。
  • 验证当客户端计算机与 DP 处于同一子网上时能够启动。
  • 确保如果从不同于 DP 的子网启动时 IP 帮助程序配置正确。

TFTP 传输故障排除


如果引用 TFTP PXE 引导上的错误,那么可能有启动文件传输的问题。这些错误的示例包括以下:

  • PXE E32: TFTP 打开超时。
  • PXE E35: TFTP 读取超时。
  • PXE E36: 从 TFTP 服务器接收到错误。
  • PXE-E3F: TFTP 数据包大小无效。
  • PXE-E3B: TFTP 出现错误-找不到文件
  • PXE-T04: 访问冲突

通过使用网络监视器或 Wireshark 监测网络是尝试并解决这些错误的好办法。此处是打开 TFTP 超时发生时捕获从 PXE 客户端的数据的示例:

3876_image15

此处的客户端发送阅读针对wdsnbp.com文件请求,但没有收到回应。这表明,碍确认客户端所接收。下面是什么它应如下所示:

3876_image16

您可以尝试下列疑难解答步骤:

  • 减少了块大小在 PXE 启用 DP (见http://support.microsoft.com/help/975710
  • 确保在分发点上启动 WDS 服务。
  • 确保客户端计算机和 DP 之间打开了 TFTP 端口。
  • 验证 REMINST 共享/文件夹上的权限正确。
  • 检查 WDS 日志中是否有其他 TFTP 错误。
  • 验证RemoteInstall\SMSBoot\x86\x64文件夹包含以下文件:
    3876_image17
  • SMSBoot\Fonts中存在字体:
    3876_image18
  • RemoteInstall\SMSBoot目录中存在boot.sdi文件:
    3876_image19

WinPE 启动问题 - 驱动程序


在此阶段发生最常见的问题是相关的驱动程序。总的来说,最新版本的 WinPE 包含的绝大多数网络和大容量存储驱动程序。但是,是其中所需的驱动程序并不包括在内,因此它需要导入到引导 WIM 的日子。有几个重要点此处需注意与此有关:

  • 只导入所需的驱动程序。不只是导入引导映像必须每个驱动程序。
  • 只考虑添加 NIC 或大容量存储驱动程序。不需要包括其他驱动程序。

SMSTS.log 文件(位于 X:\Windows\temp\SMSTS)是解决这些问题最有用的资源(请记住,在启动期间启用命令提示符以便你可以检查此文件)。 如果你看到记录了有效 IP 地址的行(类似如下所示),则驱动程序可能出现问题: 

若要验证,只需按下 f8 键并运行IPCONFIG命令 prmpt 来确定是否识别了网卡,如果它有一个 IP 地址。WIM 文件还要确保 x86 和 x64 启动映像存在在分发点上。您可以看到 Wim (它们还将在内容库中) 的下列目录中:C:\RemoteInstall\SMSImages\ < PackageID >

请确保该标记已部署从启用 PXE 的分发点此引导映像引导映像的属性中。

Configuration Manager 策略问题


使用 PXE 启动另一个常见的问题是在任务序列进行部署。在下面的示例中,未知计算机部署任务序列,但它已经在数据库中。第一个症状是 PXE 启动已中止:

3876_image20

经过进一步调查,你会在 SMSPXE.log 中注意到以下内容:

我们可以看到这里,NBS 存储过程运行、 他们发现没有可用的策略并从而引导操作已中止。相反也可以是真 (即当一台计算机不知道但任务序列被部署到已知计算机的集合)。

您可以尝试下列疑难解答步骤:

  • 验证您尝试启动的计算机存在对集合中的任务序列的部署目标。
  • 确保您已启用未知的计算机上 (dp) 支持 PXE 设置。
  • 如果要将任务序列部署至未知计算机,请验证计算机未存在于数据库中。

需要进一步的帮助吗?


如果需要进一步帮助解决此问题,请参阅我们的TechNet 支持论坛与 Microsoft 支持部门联系