KBWhen attempting PXE boots via a System Center Configuration Manager 2007 PXE Service Point, PXE boots will initially work and succeed but then all of a sudden stop working. Examining the server where the PXE Service Point and Windows Deployment Services (WDS) are installed reveals that the Windows Deployment Services Server service has crashed and is in a hung state. Attempting to restart the Windows Deployment Services Server service on the WDS server does not resolve the issue. Restarting both the Windows Management Instrumentation and the Windows Deployment Services Server services or restarting the server may temporarily resolve the problem, but the issue will eventually reoccur and WDS will eventually crash again.

Trying to reproduce the issue by continually attempting to PXE boot PCs reveals that although the issue may happen frequently, the issue cannot be reproduced on a consistent basis and that the crashes will happen randomly.

Examining the WDS server where the ConfigMgr 2007 PXE Service Point is installed reveals the following errors in Event Viewer:

System Event Log:
<Date> <Time> Error <WDS_Server> Service Control Manager N/A N/A The Windows Deployment Services Server service terminated unexpectedly. It has done this <x> time(s). The following corrective action will be taken in 120000 milliseconds: Restart the service.

Application Event Log:
<Date> <Time> Information <WDS_Server> WDSServer WDSServer N/A Provider WdsImgSrv was shutdown successfully.
<Date> <Time> Warning <WDS_Server> WDSServer WDSServer N/A An error occurred while trying to initialize provider WdsImgSrv from C:\Windows\system32\WdsImgSrv.dll. Since this provider is not marked as critical, Windows Deployment Services server will continue. Error Information: 0xC1030136
<Date> <Time> Error <WDS_Server> WDSIMGSRV WdsImgSrv N/A An error occurred while trying to initialize the Windows Deployment Services image server. Error Information: 0xC1030136

<Date> <Time> Error <WDS_Server> Application Error {100} N/A Faulting application svchost.exe_WDSServer, version 6 <version>, time stamp <hex_time_stamp>, faulting module ntdll.dll, version <version>, time stamp <hex_time_stamp>, exception code 0xc0000374, fault offset 0x000afaf8, process id <hex_process_id>, application start time <hex_time>

The following error may also be seen:

The Windows Deployment Services (WDS) Server service terminated with service-specific error 16389 (0x4005).

Cause

This issue can occur in environments where there are redundant backup routers in place. If IP Helpers for PXE (DHCP relays) are placed on both the primary and backup routers, this may cause a situation where two duplicate PXE request packets are sent to WDS: The original PXE request by the primary router and a duplicate PXE request by the backup redundant router. If the timing is just right, the duplicate second PXE request may overwrite some of the information in WDS from the first original PXE request. This will cause information in WDS for the PXE request to become corrupted and will cause WDS to crash.

Resolution

There are two workarounds to this issue:

  1. Disable the PXE IP Helpers in the backup redundant router so that duplicate PXE requests are not sent. For more information on PXE IP Helpers, please see the below TechNet article:
    Configuring Your Router to Forward Broadcasts
    http://technet.microsoft.com/en-us/library/cc732351(WS.10).aspx#Updating
  2. Set the ConfigMgr 2007 WDS provider to be single threaded instead of multi-threaded. This will cause only one PXE request to be processed at a time by WDS and will prevent the second duplicate PXE request from conflicting with the first original PXE request. To set the ConfigMgr 2007 WDS provider to be single threaded, create the registry key NumberOfThreads with a DWORD value of 1 in the following location:
    32bit WDS server
    HKLM\Software\Microsoft\SMS\PXE

    64bit WDS server
    HKLM\Software\Wow6432Node\Microsoft\SMS\PXE
    This normally should not have a performance impact on the server for PXE requests except in environments where there is a large amount of PXE requests being performed on a constant basis. In environments such as this, it is recommended to use the first workaround.

=====

The information above was published today in the following Microsoft Knowledge Base article written by Frank Rojas:

KB2510665 - A Configuration Manager 2007 PXE Service Point causes the Windows Deployment Services Server service to crash and hang

J.C. Hornbeck | System Center Knowledge Engineer

The App-V Team blog: http://blogs.technet.com/appv/
The WSUS Support Team blog: http://blogs.technet.com/sus/
The SCMDM Support Team blog: http://blogs.technet.com/mdm/
The ConfigMgr Support Team blog: http://blogs.technet.com/configurationmgr/
The SCOM 2007 Support Team blog: http://blogs.technet.com/operationsmgr/
The SCVMM Team blog: http://blogs.technet.com/scvmm/
The MED-V Team blog: http://blogs.technet.com/medv/
The DPM Team blog: http://blogs.technet.com/dpm/
The OOB Support Team blog: http://blogs.technet.com/oob/
The Opalis Team blog: http://blogs.technet.com/opalis
The Service Manager Team blog: http: http://blogs.technet.com/b/servicemanager
The AVIcode Team blog: http: http://blogs.technet.com/b/avicode
The System Center Essentials Team blog: http: http://blogs.technet.com/b/systemcenteressentials

clip_image001 clip_image002