TROUBLESHOOTING THE PXE SERVICE POINT AND WDS IN CONFIGURATION MANAGER 2007

Troubleshooting the PXE Service Point and WDS in Configuration Manager 2007

toolsign

Note: There is an updated version of this guide over at the Configuration Manager OSD Support Team Blog. For the latest version, please visit the below article:

Troubleshooting the PXE Service Point and WDS in Configuration Manager 2007

See below : source

=====

This is a general guide on properly setting up and troubleshooting the System Center Configuration Manager 2007 (ConfigMgr 2007) PXE Service Point.

Common errors that are seen at the PXE boot screen when the PXE Service Point is either not configured properly or experiencing problems are the following:

PXE-E53: No boot filename received
PXE-T01: File not found
PXE-E3B: TFTP Error – File not Found
PXE-E55 Proxy DHCP Service did not reply to request on port 4011
PXE-T04: Access Violation
PXE-E36: Error Received from TFTP Server
PXE-M-F Exiting PXE Rom

However the error messages can vary depending on the PXE implementation on the client PC.  Another common symptom is that the Windows Deployment Services Server (WDS) service will not start.

To resolve these issue and to prevent them from occurring in the first place, follow the guide below  This guide is broken down to the following sections:

– Setting Up IP Helpers

– How To Properly Install And Set Up A New Instance Of WDS And A PXE Service Point

– Reinstalling WDS And The PXE Service Point

– Testing The PXE Service Point

– Monitoring And Troubleshooting The PXE Boot

The guide is written in chronological order of the actions that need to be taken properly get a ConfigMgr 2007 PXE Service Point working and operational. Refer to the appropriate sections as needed.

Setting Up IP Helpers

If the DHCP server, the client PC, and the ConfigMgr 2007 server are running WDS and the PXE Service Point are all on the same subnet or vlan, please proceed to the section “How To Properly Install and Set Up The PXE Service Point“. Otherwise, if either the DHCP server, the client PC or the ConfigMgr 2007 server is running WDS and the PXE Service Point are on separate subnets or vlans, which is usually the case in most environments, the first step to take before trying to install and configure the PXE Service Point and WDS is to set up IP Helpers on the routers. How to do this varies depending on the router hardware manufacturer but the general overview is outlined at the below link:

Configuring Your Router to Forward Broadcasts
http://technet.microsoft.com/en-us/library/cc732351(WS.10).aspx#Updating

For further information on how to properly configure IP Helpers on the routers, please contact the hardware manufacturer of the router.

IP Helpers are necessary because the PXE request generated by the client PC is a broadcast that does not travel outside of the local subnet or vlan. It only stays within the local subnet or vlan. If the DHCP server and/or the WDS/PXE Service Point server are not on the subnet or vlan as the client PC, they will not see or hear the PXE request broadcast from the client PC and therefore will not respond to the PXE request. To have the PXE request broadcast transverse between subnets or vlans, the PXE request broadcast needs to be forwarded by the router to the DHCP and WDS/PXE Service Point servers so that they can properly respond to the client PC’s PXE request.

An alternative to using IP Helpers is setting DHCP Options on the DHCP server, specifically DHCP Options 60 (PXE Client), 66 (Boot Server Host Name), and 67 (Bootfile Name). However, DHCP Options can be problematic and may not work reliably or consistently. Furthermore the use of DHCP Options to control PXE requests is not supported by Microsoft. Therefore the only recommended and supported method of PXE booting client PCs that are on a different subnet than the DHCP or WDS/PXE Service Point servers is the use of IP Helpers.

For additional information regarding DHCP Options not being recommended or supported please see the below articles:

Using DHCP Options 60, 66, and 67
http://technet.microsoft.com/en-us/library/cc732351(WS.10).aspx#Using

PXE clients computers do not start when you configure the Dynamic Host Configuration Protocol server to use options 60, 66, 67
http://support.microsoft.com/kb/259670

The only exception where a DHCP Option needs to be used is when DHCP and WDS reside on the same server. In this instance, DHCP Option 60, and only DHCP Option 60, needs to be set. DHCP Options 66 and 67 should still NOT be set in this scenario. For more information, please see the section “Windows Deployment Services (WDS) and DHCP” in the following article:

Planning for PXE Initiated Operating System Deployments
http://technet.microsoft.com/en-us/library/bb680753.aspx

It is IMPERATIVE that before continuing that it has been verified that the routers have IP Helpers configured AND that the DHCP server does NOT have DHCP Options 60, 66, or 67 configured. Not meeting both of these criteria will cause the PXE Service Point not to work correctly. When checking DHCP options, make sure to check options at both the server and scope levels.

In certain instances, configuring DHCP Options 60, 66, and 67 may make it appear that the PXE boot process is proceeding further along than before these options were configured, but in reality it just proceeds further down an incorrect path, ends up giving different error messages, and ends up failing.

How To Properly Install And Set Up A New Instance Of WDS And A PXE Service Point

The following section lists the step to ensure that that a NEW instance of the PXE Service Point is set up and configured properly. If Windows Deployment Services (WDS) and/or the PXE Service Point has been previously installed, even if it never worked, follow the instructions under the section “Reinstalling WDS And The PXE Service Point” instead:

1. If needed, make sure that IP Helpers have been configured. Additionally, make sure that DHCP Options 60, 66, 67 have NOT been configured. See the section “Setting Up IP Helpers” for additional information.

2. Install, but DO NOT configure, Windows Deployment Services (WDS) on the server that will host the PXE Service Point.

  • If using Windows Server 2003, WDS is installed via the Add/Remove Windows Components in the Add/Remove Control Panel.
  • If using Windows Server 2008 or newer, WDS is installed via Roles in Server Manager. When installing in Windows Server 2008 or newer, make sure that both the Deployment Server and Transport Server are installed.

3. If prompted to do so after WDS has finished installing, reboot the server.

4. Once the server has restarted, DO NOT try to manually configure or start the WDS service.

5. In the ConfigMgr 2007 Admin Console, navigate to “Site Management” –> <Site_Code> –> “Site Settings” –> “Site Systems“.

6. If the server where the PXE Service Point is going to be installed already exists under “Site Systems“, right click on the server and choose “New Roles“.  Otherwise right click on “Site Systems” and choose “New” –> “Server“.

7. In the “General” page of the wizard, make sure that the NETBOIS and FQDN name of the server are correct and then click on the “Next >” button.

8. In the “System Role Selection” of the wizard, check “PXE service point” and then click on the “Next >” button.

9. Review the “PXE Service Point Configuration” dialog windows and then click on the “Yes” button.

10. In the “PXE – General” window, configure the appropriate options as desired and then click on the “Next >” button.

11. In the “PXE – Database” window, change any options as needed. In most cases, leave settings at their default in this window. Click on the “Next >” button.

12. Click on the “Next >” button and then on the “Close” button.

13. On the server where the PXE Service Point is being installed, navigate to the ConfigMgr 2007 site server log location using Windows Explorer. Usually the log location will be under one of the following paths:

  • 32bit servers
    <drive_where_ConfigMgr_is_installed>Program FilesMicrosoft Configuration Manger
  • 64bit servers
    <drive_where_ConfigMgr_is_installed>Program Files (x86)Microsoft Configuration MangerLogs
  • 32bit or 64bit servers
    <drive_where_ConfigMgr_is_installed>SMS

14. Once the log directory has been located in Step 13, open the log file PXESetup.log using SMS Trace/Trace32.exe.  Monitor this log and verify that the PXE Service Point installed correctly. It may take a few minutes for the installation to start and finish successfully. If this is the first time the PXE Service Point is being installed on the server, it may take a few minutes for the PXESetup.log to appear and be created.

Once installed correctly, the last lines in the log should be “pxe.msi exited with return code: 0” and “Installation was successful.” Verify that the line is for the current date and time frame.

In some circumstances, the last lines will read “pxe.msi exited with return code: 3010” and “Installation was successful, but a reboot is required.” If this is the case, make sure to reboot the server before continuing.

Do NOT proceed until confirmation has been received in the PXESetup.log that installation has been successful.

15. In the ConfigMgr 2007 Admin Console, navigate to “Computer Management” –> “Operating System Deployment” –> “Boot Images“.

16. If BOTH the x64 and x86 Boot Images are not already on any standard Distribution Point (DP), make sure to put both Boot Images on at least one standard DP. Monitor the “Package Status” node and ensure that both the x64 and x86 Boot Images properly install on the standard DP.

17. Place BOTH the x64 and x86 Boot Images on the SMSPXEIMAGES$ DP on the server where the PXE Service Point was created. Monitor the “Package Status” node and ensure that both the x64 and x86 Boot Images properly install on theSMSPXEIMAGES$ DP.

18. Once the Boot Images have installed on the SMSPXEIMAGES$ DP, open the Services console on the PXE Service Point server and ensure that the Windows Deployment Services Server service has started. Additionally make sure that the RemoteInstall folder has been created on the root level of the one of the drives of the server.

19. In the ConfigMgr 2007 Admin Console, navigate to “Computer Management” –> “Operating System Deployment” –> “Task Sequences“. Right click on each Task Sequence that will be deployed via PXE and choose “Properties“. Click on the “Advanced” tab and ensure that the option “Use a boot image:” is checked and that an appropriate boot image for that Task Sequence is selected.

20. In the ConfigMgr 2007 Admin Console, navigate to “Computer Management” –> “Software Distribution –> “Advertisements“. Right click on each Advertisement for Task Sequences that will be deployed via PXE and choose “Properties“. Under the “General” tab make sure that the option “Make this task sequence available to boot media and PXE” is checked.

Notes:

1. When the PXE Service Point is installed, it will automatically configure WDS and create the RemoteInstall folder. Once configured, the PXE Service Point installation will then automatically start the WDS service. For this reason, manual configuration of WDS in the Windows Deployment Services console is NOT necessary and should not be performed.

The only exception to this rule is when DHCP and WDS reside on the same server. In these cases, consult the section “Windows Deployment Services (WDS) and DHCP” in the following article:

Planning for PXE Initiated Operating System Deployments
http://technet.microsoft.com/en-us/library/bb680753.aspx

2. Once the PXE Service Point has configured and started WDS, the Windows Deployment Services console will still show a yellow exclamation mark and display the message “Windows Deployment Services is not configured“. This is normal and does not indicate a problem. No action or configuration should be taken in the Windows Deployment Services console.

3. Regardless of the architecture of the Windows OS being deployed, it is IMPERATIVE that BOTH the x86 and x64 Boot Image are on BOTH a standard DP and the SMSPXEIMAGES$ DP. Make sure to verify that this has been done.

4. Do NOT place any other types of packages other than Boot Images in the SMSPXEIMAGES$ DP. Placing any other type of packages in the SMSPXEIMAGES$ DP, especially OS images, may cause WDS not to work correctly.

Reinstalling WDS And The PXE Service Point

In certain scenarios, especially ones where WDS and the PXE Service Point were initially installed or configured incorrectly, the best course of action is to uninstall the PXE Service Point and WDS, delete all previous configurations, and then reinstall:

1. In the ConfigMgr 2007 Admin Console, navigate to “Computer Management” –> “Operating System Deployment” –> “Boot Images“.

2. Under each Boot Image, click on the “Distribution Points” node. On the right hand panel, right click on the “<Server_Name>SMSPXEIMAGES$” DP and then choose “Delete” (where <Server_Name> is the name of the server where the PXE Service Point and WDS is being reinstalled). If the Boot Image is installed on the standard DP, it is NOT necessary to also delete the Boot Image from the standard DP.

3. Under each Boot Image that was deleted, monitor the “Package Status” node under the Boot Image to ensure that the Boot Image is removed from the SMSPXEIMAGES$ DP. To verify, check the “Package Status” node under the first “Package Status” node. Once the Boot Image has been successfully deleted from the DP, “Source Version“, “Targeted“, and “Installed” will all be 0.

4. Make sure that no other packages are on the SMSPXEIMAGES$ DP. To check if there are any other packages on the SMSPXEIMAGES$ DP, on the server where the PXE Service Point is being uninstalled, navigate to the folderRemoteInstallSMSImagesSMSPKG. The RemoteInstall folder will be on the root level of one of the drives of the server. If the folder is empty, all packages have been removed. If the folder contains subfolders, there are additional packages on the SMSPXEIMAGES$ DP that need to be removed:

a. To determine which packages are on the DP, copy down the folder names. The folder names correspond to the Package ID of the package that is on the DP.

b. In the ConfigMgr 2007 Admin Console, navigate to “System Status” –> “Package Status“. On the right hand panel all of the packages in the environment will be listed. On the far right last column the Package ID will be listed. Match up the Package ID obtained in Step 1
with the Package Name.

c. Based on the Package Name obtained in the Step 2, locate the package under one of the following nodes in the ConfigMgr 2007 console:

    • Computer Management” –> “Software Distribution” –> “Packages
    • Computer Management” –> “Operating System Deployment” –> “Operating System Images
    • Computer Management” –> “Operating System Deployment” –> “Operating System Install Packages
    • Computer Management” –> “Operating System Deployment” –> “Driver Packages
    • Computer Management” –> “Software Updates” –> “Deployment Packages

d. Under each package, click on the “Distribution Points” node. On the right hand panel, right click on the “<Server_Name>SMSPXEIMAGES$” DP and then choose “Delete” (where <Server_Name> is the name of the server where the PXE Service Point and WDS is being reinstalled).

e. Under each package that was deleted, monitor the “Package Status” node under the package to ensure that the package is removed from the SMSPXEIMAGES$ DP. To verify, check the “Package Status” node under the first “Package Status” node. Once the package has been successfully deleted from the DP, “Source Version“, “Targeted“, and “Installed” will all be 0.

f. Once all of the packages have been deleted, check the RemoteInstallSMSImagesSMSPKG folder on the server where the PXE Service Point is being uninstalled and and ensure that it is empty.

5. On the server where the PXE Service Point and WDS are being deinstalled, open the Services console. Locate the “Windows Deployment Services Server” service, right click on it, and select “Stop“. If the service is already stopped, proceed to Step 6.

6. In the ConfigMgr 2007 Admin Console, navigate to “Site Management” –> <Site_Code> –> “Site Settings” –> “Site Systems“.

7. Under “Site Systems“, click on the server where the PXE Service Point is being uninstalled.  On the right hand panel right click on “ConfigMgr PXE service point” and choose “Delete“. In the “Confirm Delete” dialog box, click on the “Yes” button.

8. On the server where the PXE Service Point is being uninstalled, navigate to the ConfigMgr 2007 site server log location using Windows Explorer. Usually the log location will be under one of the following paths:

  • 32bit servers
    <drive_where_ConfigMgr_is_installed>Program FilesMicrosoft Configuration Manger
  • 64bit servers
    <drive_where_ConfigMgr_is_installed>Program Files (x86)Microsoft Configuration MangerLogs
  • 32bit or 64bit servers
    <drive_where_ConfigMgr_is_installed>SMS

9. Once the log directory has been located in Step 8, open the log file PXESetup.log using SMS Trace/Trace32.exe. Monitor this log and verify that the PXE Service Point uninstalled correctly. It may take a few minutes for the deinstallation to start and finish successfully. Once uninstalled correctly, the last line in the log should be “SMSPXE deinstall exited with return code 0“, “Deinstallation was successful.“, and “Removing PXE Registry.” Verify that the lines are for the current date and time frame.

If the deinstall of the PXE Service Point never kicks off, check the sitecomp.log on the parent site server to determine why it was not able to start the deinstall. In most cases it is due to file in use issues, which usually can be resolved by stopping the WDS service (Step 5).

Do NOT proceed until confirmation has been received in the PXESetup.log that deinstallation has been successful.

10. Uninstall Windows Deployment Services (WDS) on the server:

a. If using Windows Server 2003, WDS is uninstalled via the Add/Remove Windows Components in theAdd/Remove Control Panel.

b. If using Windows Server 2008 or newer, WDS is uninstalled via Roles in Server Manager.

11. Reboot the server where WDS and the PXE Service Point were just deinstalled.

12. Once the server reboot completes and the server comes back up, locate the RemoteInstall folder on the root level of each of the drives of the server. If it exists on the drive, rename the RemoteInstall folder (i.e. RemoteInstallOld). On most servers, only one of the drives will have a RemoteInstall folder. However if multiple instances of the RemoteInstall folder exist, make sure to rename each instance.

If when renaming the RemoteInstall folder you receive one of the below messages:

Windows Server 2008/Windows Server 2008 R2
This folder is shared with other people
If you rename this folder, it will no longer be shared.
Folder: <drive_letter>RemoteInstall
Share Name: REMINST

or

Windows Server 2003
You are sharing <drive_letter>:RemoteInstallSMSIMAGES as SMSPKEIMAGES$. The folder will not be shared after you move or rename it. Are you sure you want to continue?

go ahead and make sure to click on either the “Continue” or “Yes” button.

13. On the server where WDS and the PXE Service Point were uninstalled, delete the folders BootImages and PXEBootFilesunder %systemroot%Temp (usually C:WindowsTemp). It may be necessary to take ownership of the folders and their subfolders to successfully delete the folders. In some circumstances, it may be necessary to also navigate down the folder hierarchy and take ownership from the bottom up.

14. Reinstall WDS and the PXE Service Point using the instructions in the section “How To Properly Install and Set Up A New Instance of A PXE Service Point“.

Testing The PXE Service Point

Once WDS and the PXE Service Point have been installed and configured, test the PXE Service point to see if it is working. Take the following measures to ensure the best testing environment:

1. To eliminate problems with Unknown Computer Support, advertise the Task Sequence to a collection that has known existing clients. If necessary, use the Computer Association node to manually create a client record. For best results, create the record based on the SMBIOS GUID (System UUID) of the PC and NOT the MAC address.

2. To eliminate certain issues that can occur with mandatory assignments, do not add a mandatory assignment to the advertisement of the Task Sequences. Instead the Task Sequence advertisement should be completely optional.

3. Verify the properties of the advertisement and ensure that under the “General” tab the option “Make this task sequence available to boot media and PXE” is checked.

4. Verify the properties of the Task Sequence and ensure that under the “Advanced” tab the option “Use a boot image:” is checked and that a boot image assigned under this option.

5. Refer to the below two KB articles regarding the SMS PXE Cache:

Client machines may fail to boot into PXE if System Center Configuration Manager Service Pack 2 has been applied
http://support.microsoft.com/kb/2019640

Operating system deployment fails in a System Center Configuration Manager 2007 SP1 environment if you deploy a different operating system to a client within one hour of a previous deployment
http://support.microsoft.com/kb/969113

During testing is suggested to set the value of the CacheExpire key to 60 (60 seconds = 1 minute). This will minimize PXE booting issues being caused by the SMS PXE cache. The default of the CacheExpire key is either 0 or 3600, both which are 3600 seconds (1 hour). After testing is complete, the value of this registry setting will need to be determined based on environmental conditions.

Monitoring And Troubleshooting The PXE Boot

The single greatest troubleshooting tool in figuring out why a PXE boot is not working on a client PC is monitoring theSMSPXE.log. The log should be monitored live with SMS Trace/Trace32.exe while a PXE boot is attempted on the client PC. When monitoring the SMSPXE.log, the log should show in real time exactly what is occurring.

1. While attempting a PXE boot on a client PC, perform a live monitor of the log SMSPXE.log with SMS Trace/Trace32.exe. TheSMSPXE.log log can be found under the MP/client logs of the ConfigMgr site server hosting the PXE Service Point. The location of the MP/client log files is usually under one of the following paths:

32bit servers
<drive_where_ConfigMgr_is_installed>Program FilesSMS_CCMLog
or
%systemroot%System32CCMLogs (usually C:WindowsSystem32CCMLogs)

64bit servers
<drive_where_ConfigMgr_is_installed>Program Files (x86)SMSCCMLog
or
%systemroot%SysWow64CCMLogs (usually C:WindowsSystem32CCMLogs)

32bit or 64bit servers
<drive_where_ConfigMgr_is_installed>SMS_CCMLog

2. Monitoring the SMSPXE.log should show the activity in the log when the actual PXE request is occurring. If no activity is occurring, this is usually indicative of one of the following problems:

  • The WDS service has not started or is not running
  • The PC is on a separate subnet or vlan from the WDS and DHCP servers and IP Helpers have not been properly set up
  • DHCP Options 60, 66, or 67 have been configured

3. Enabling debug logging on the SMSPXE.log could assist in troubleshooting why a PC is not PXE booting by giving additional information about the PXE request.  To enable debug logging on the PXE Service Point server for the SMSPXE.log , modify the following registry key on the server to a string value of “True” (without the quotes):

32bit Windows Server
HKLMSOFTWAREMicrosoftCCMLoggingDebugLogging!Enabled

64bit Windows Server
HKLMSOFTWAREWow6432NodeMicrosoftCCMLoggingDebugLogging!Enabled

Once the change has been made, restart the server for the changes to take effect.

4. Lines in the SMSPXE.log that show PXE requests that contain all Fs as the MAC address similar to the below line can be ignored:

MAC=FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF SMBIOS GUID=<SMBIOS_GUID> > Received DHCP Request smspxe
Executing LookupDevice(<SMBIOS_GUID>, FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF) smspxe
CDatabaseProxy :: LookupDevice succeeded: 0 0 0 0 smspxe
MAC=FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF SMBIOS GUI=<SMBIOS_GUID > > Device not found in the database. smspx
MAC=FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF SMBIOS GUID=<SMBIOS_GUID > New client request. RequestID=<Request_ID>. smspxe

These PXE “requests” are just the server doing a self check on itself to ensure the PXE Service Point is up and responding.

5. The error in the SMSPXE.log:

Failed to read PXE settings.
The system cannot find the file specified. (Error: 80070002; Source: Windows) smspxe

can be ignored and is not relevant. It does not indicate that there are any problems.

6. If the following messages appear at the PXE boot screen:

TFTP Download: smsbootx86abortpxe.com
PXE Boot aborted. Booting to next device…

or

TFTP Download: smsbootx64abortpxe.com
PXE Boot aborted. Booting to next device…

it is indicative that the PXE Service Point and WDS are installed and configured correctly and working as expected. The above error messages occur when an advertised Task Sequence is not found for the PC that is being PXE booted. The PXE Service Point then responds appropriately and sends a PXE abort.

The problem is usually associated with how the Task Sequence is advertised and targeted to the PC. Usually in these scenarios the following message will show up in the SMSPXE.log for the PXE request:

ProcessDatabaseReply: No Advertisement found in Db for device smspxe

7. The SMSPXEIMAGES$ DP is actually a share pointing to the SMSIMAGES folder within the RemoteInstall folder. ConfigMgr places the Boot Images in this share so that the Boot Images are available to WDS for PXE booting. In total there should only be four folders within the RemoteInstall folder as follows:

SMSBoot
SMSIMAGES
SMSTemp
Stores

If additional folders exist in the RemoteInstall folder, such as:

Boot
Images
Mgmt
Templates
Tmp
WdsClientUnattend

this is an indication that WDS has been manually configured at some point. The best course of action at this point is to reset the installation of WDS by reinstalling the PXE Service Point and WDS as described in the section “Reinstalling WDS And The PXE Service Point“.

8. ConfigMgr uses the Boot Images in the RemoteInstallSMSIMAGES folder to extract Boot Files from the Boot Images. In addition to the Boot Images, these Boot Files are also needed by WDS to successfully complete a PXE boot. These Boot Files are placed in the SMSBoot folder under the RemoteInstall folder. The process of extracting the Boot Files can be seen by monitoring the SMSPXE.log while the WDS service is restarted. If errors appear in the log during this process (besides the error described in Step 5 above), the best course of action is to reinstall the PXE Service Point and WDS as described in the section “Reinstalling WDS And The PXE Service Point“.

9. The RemoteInstallSMSIMAGES folder will contain a subfolder called SMSPKG, which will then contain subfolders for each Boot Image that has been added to the SMSPXEIMAGES$ DP. Each subfolder under the SMSPKG folder will have the name of the Package ID of the Boot Image.

If any subfolder exists under SMSPKG that is not the Package ID of a Boot Image, they should be removed from theSMSPXEIMAGES$ DP via the ConfigMgr 2007 Admin console. Only Boot Images should be added to the SMSPXEIMAGES$ DP. No other type of packages should be added to the SMSPXEIMAGES$ DP. This is especially true with Operating System Image Package or an Operating System Install Package (Windows OS source files). Having an Operating System Image Package or anOperating System Install Package under the SMSPXEIMAGES$ DP will cause issues with WDS.

Instructions on how to remove additional packages from the SMSPXEIMAGES$ DP are provide above in Step 4 under the section “Reinstalling WDS And The PXE Service Point“. However make sure not to remove the Boot Images as outlined in the instructions.

10. The RemoteInstallSMSBoot folder should have three folders listed under it, one for each architecture type – ia64, x64, andx86. The ia64 folder will be empty since ia64 is not an officially supported platform for ConfigMgr 2007 OSD. However, both the x64 and x86 folders should have the following files in them:

abortpxe.com
bootmgfw.efi (x64 only)
bootmgr.exe
pxeboot.com
pxeboot.n12
wdsnbp.com

If the folders are missing, empty, or missing files, then BOTH the x64 and x86 Boot Images may not have been placed in theSMSPXEIMAGES$ DP. If both the x64 and x86 Boot Images have been placed on the SMSPXEIMAGES$ DP and the folders still do not exist, are empty, or are missing files, then there may be another problem occurring. The best course of action is to reinstall the PXE Service Point and WDS as described in the section “Reinstalling WDS And The PXE Service Point“.

Frank Rojas | System Center Support Escalation 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

source:

Troubleshooting the PXE Service Point and WDS in Configuration Manager 2007

One of the issues we troubleshoot the most in CSS are ConfigMgr PXE Service Point installs. This article is based on 4 years of experience troubleshooting hundreds of PXE Service Point installs. The end result is what we have found causes the majority of issues on PXE Service Points and what works on most (if not all) configurations. The article assumes that you are not trying to co-host the ConfigMgr PXE Service Point with stand-alone WDS on the same server. That is a topic for a completely different article…

A previous version of this article appeared over at The Configuration Manager Support Team Blog site. That article was actually a major revision of the original article titled ConfigMgr 2007: Troubleshooting PXE Service Point Issues and WDS service not starting. The below is an updated version of the article and can be considered version 3 of the article. Besides some minor updates in syntax and formatting, it mainly contains one major new section covering co-hosting DHCP and WDS on the same server WITHOUT having to configure WDS. It also contains additional checks when R2 or R3 are installed.

UPDATES

2012-02-07

  • Added information regarding KBs 979720 and 2578865 which fix the error “PXE-E78: Could not locate boot server“.
  • Moved text regarding checking KB articles for known issues to the start of the article and gave it its own section “Reviewing KB Articles of Known Issues” since it’s probably best to check KB articles of known issues before trying to reconfigure and reinstall everything.

Troubleshooting the PXE Service Point and WDS in Configuration Manager 2007

This is a general guide on properly setting up and troubleshooting the ConfigMgr 2007 PXE Service Point.

Common errors that are seen at the PXE boot screen when the PXE Service Point is either not configured properly or experiencing problems are the following:

PXE-E53: No boot filename received
PXE-T01: The specified file was not found.
PXE-T01: File not found
PXE-E3B: TFTP Error – File not Found
PXE-E55 Proxy DHCP Service did not reply to request on port 4011
PXE-T04: Access Violation
PXE-E36: Error Received from TFTP Server
PXE-M0F Exiting PXE Rom
PXE-E78: Could not locate boot server

However the error messages can vary depending on the PXE implementation on the client PC.

Another commons symptom is that the Windows Deployment Services Server (WDS) service will not start.

This guide is broken down to the following sections:

  • Reviewing KB Articles of Known Issues
  • Setting Up IP Helpers
  • Co-hosting DHCP and WDS On The Same Server
  • How To Properly Install And Set Up A New Instance Of WDS And A PXE Service Point
  • Reinstalling WDS And The PXE Service Point
  • Testing The PXE Service Point
  • Monitoring And Troubleshooting The PXE Boot

The guide is written in chronological order of the actions that need to be taken to properly configure a working and operational ConfigMgr 2007 PXE Service Point. Refer to the appropriate sections as needed.

Reviewing KB Articles of Known Issues

Before beginning any troubleshooting on the PXE Service Point, review the following KB articles to see if any of the issues described in the following KB articles could be causing problems:

No Assigned Task Sequence when initiating deployments caused by duplicate SMBIOS GUIDs (System UUIDs) in System Center Configuration Manager 2007
http://support.microsoft.com/kb/2591483

Operating system deployment fails in a System Center Configuration Manager 2007 SP1 environment if you deploy a different operating system to a client within one hour of a previous deployment
http://support.microsoft.com/kb/969113

Client machines may fail to boot into PXE if System Center Configuration Manager Service Pack 2 has been applied

http://support.microsoft.com/kb/2019640

The Windows Deployment Service cannot be started on a computer that has more than 20 logical processors and that is running Windows Server 2008 R2 or Windows Server 2008

http://support.microsoft.com/kb/2121690

The DNS Server service binds to all ports in the Windows Deployment Services port range on a server that is running Windows Server 2008 R2 or Windows Server 2008
http://support.microsoft.com/kb/977512

The Windows Deployment Service stops responding when you use a PXE service point on a computer that is running a System Center Configuration Manager 2007 SP1 or SP2 site server
http://support.microsoft.com/kb/976073

PXE service point role does not work if a DHCP server uses DHCP option 43 in a System Center Configuration Manager 2007 SP2 environment
http://support.microsoft.com/kb/2578865

Error message when Windows Deployment Service clients cannot obtain the boot image from a Windows Server 2008 R2-based WDS server: “PXE-E78: Could not locate boot server”
http://support.microsoft.com/kb/979720

Setting Up IP Helpers

If the DHCP server, the client PC, and the ConfigMgr 2007 server running Windows Deployment Services (WDS) and the PXE Service Point are all on the same subnet or vlan, please proceed to the section “How To Properly Install and Set Up The PXE Service Point“.

Otherwise, if either the DHCP server, the client PC, or the ConfigMgr 2007 server running WDS and the PXE Service Point are on separate subnets or vlans, which is usually the case in most environments, the first step to take before trying to install and configure the PXE Service Point and WDS is to set up IP Helpers on the routers. How to do this varies depending on the router hardware manufacturer, but the general overview is outlined at the below TechNet article:

Configuring Your Router to Forward Broadcasts
http://technet.microsoft.com/en-us/library/cc732351(WS.10).aspx#Updating

For further information on how to properly configure IP Helpers on the routers, please contact the hardware manufacturer of the router.

IP Helpers are necessary because the PXE request generated by the client PC is a broadcast that does not travel outside of the local subnet or vlan. It only stays within the local subnet or vlan. If the DHCP server and/or the WDS/PXE Service Point server are not on the same subnet or vlan as the client PC, they will not see or hear the PXE request broadcast from the client PC. The servers will therefore not respond to the PXE request. To have the PXE request broadcast transverse between subnets or vlans, the PXE request broadcast needs to be forwarded by the router to the DHCP and WDS/PXE Service Point servers so that they can properly respond to the client PC’s PXE request.

An alternative to using IP Helpers is setting DHCP Options on the DHCP server, specifically DHCP Options 60 (PXE Client), 66 (Boot Server Host Name), and 67 (Bootfile Name). However, DHCP Options can be problematic and may not work reliably or consistently. Furthermore the use of DHCP Options to control PXE requests is not supported by Microsoft. Therefore the recommended and supported method of PXE booting client PCs that are on a different subnet than the DHCP or WDS/PXE Service Point servers is the use of IP Helpers.

For additional information regarding DHCP Options not being recommended or supported please see the below articles:

Using DHCP Options 60, 66, and 67
http://technet.microsoft.com/en-us/library/cc732351(WS.10).aspx#Using

PXE clients computers do not start when you configure the Dynamic Host Configuration Protocol server to use options 60, 66, 67
http://support.microsoft.com/kb/259670

The only exception where a DHCP Option needs to be used is when DHCP and WDS reside on the same server. In this instance, DHCP Option 60, and only DHCP Option 60, needs to be set. DHCP Options 66 and 67 should still NOT be set in this scenario. For more information, please see the below section “Co-hosting DHCP and WDS On The Same Server“.

It is IMPERATIVE that before continuing that it has been verified that the routers have IP Helpers configured AND that the DHCP server does NOT have DHCP Options 60, 66, or 67 configured. Not meeting both of these criteria will cause the PXE Service Point not to work correctly. When checking DHCP options, make sure to check options at both the server and scope levels.

In certain instances, configuring DHCP Options 60, 66, and 67 may make it appear that the PXE boot process is proceeding further along than before these options were configured, but in most cases it proceeds further down an incorrect path and ends up failing.

Co-hosting DHCP and WDS On The Same Server

One consideration when setting up a ConfigMgr PXE Service Point is if WDS and DHCP are going to reside on the same or different servers. Best practice is to host the WDS and DHCP services on two separate servers, but there should be no issues in hosting both services on one server. If WDS and DHCP are being hosted on different servers, no further action is needed so please proceed to the section “How To Properly Install And Set Up A New Instance Of WDS And A PXE Service Point“.

However when WDS and DHCP are co-hosted on the same server, WDS needs a special configuration to listen on a specific port. This configuration is outlined in the following TechNet article under the section Windows Deployment Services (WDS) and DHCP –> PXE Service Point Configuration Item –> DHCP considerations.

Planning for PXE Initiated Operating System Deployments
http://technet.microsoft.com/en-us/library/bb680753.aspx

According to the above article, the following two actions need to take place when WDS and DHCP are co-hosted on the same server:

  1. The value UseDHCPPorts needs to be set to 0 on the registry key:

    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWDSServerProvidersWDSPXE

  2. The WDS command:

    WDSUTIL /Set-Server /UseDHCPPorts:No /DHCPOption60:Yes

    needs to be run on the server.

The one problem with the above recommendations is that in order to run the WDSUTIL command, WDS has to be first configured. This goes against the best practice of NOT configuring WDS when installing a ConfigMgr PXE Service Point. However, the two options being specified via the WDSUTIL command, UseDHCPPorts and DHCPOption60, can be configured using alternate methods that do not require the WDSUTIL command, and therefore do not require WDS to be configured:

  1. The UseDHCPPorts WDSUTIL switch is actually the equivalent of setting the registry key value:

    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWDSServerProvidersWDSPXE!UseDHCPPorts

    to 0 as described in #1 above. Therefore using the UseDHCPPorts WDSUTIL switch is duplicated and not needed as long as the registry key has been manually set as described in the above above TechNet article. Please note that if WDS has not been installed, this registry key may not be present and therefore cannot be set until after WDS has been installed. Step 7 under the section “How To Properly Install And Set Up A New Instance Of WDS And A PXE Service Point” explains how to set this registry key.

  2. The WDSUTIL DHCPOption60 switch is actually a setting that sets an option on the DHCP service, not the WDS service. Therefore instead of using WDSUTIL to set a DHCP option, an equivalent DHCP command can be used to set the same option. This approach allows the required DHCP setting to be set without configuring WDS and before WDS is even installed. This approach can be achieved via the netsh command as described in the following MSDN article:

    Configuring DHCP for Remote Boot Services
    http://msdn.microsoft.com/en-us/library/dd128762(WinEmbedded.51).aspx

    To summarize and shorten the netsh commands described in the above article, close any DHCP consoles that are open and then run following two commands from an elevated command prompt:

    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

    where <DHCP_server_machine_name> is the name of the DHCP/WDS server (without the brackets <>).

    The above two commands set up and enable DHCP Option 60 on a DHCP server. Normally DHCP Option 60 is not set up by default on a DHCP server. The first command sets up DHCP Option 60 but does not actually enable it. The second command actually enables DHCP Option 60.

    If after running the above two commands an option named “Unknown” is displayed in the DHCP console instead of “060 PXE Client“, reboot the server. After the reboot the option should display correctly. This usually happens if a DHCP console was open when the above two commands were run.

If DHCP is ever moved to another server and removed from the server hosting WDS, the above actions need to be reversed. To reverse the above actions take the following two actions on the WDS server:

  1. Set the value of the following registry key value:

    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWDSServerProvidersWDSPXE!UseDHCPPorts

    to 1. This can be done by running the following command from an elevated command prompt:

    REG ADD “HKLMSYSTEMCurrentControlSetservicesWDSServerProvidersWDSPXE” /v UseDHCPPorts /t REG_DWORD /d 1 /f

  2. From an elevated command prompt, run the following two commands to remove DHCP Option 60:

    netsh dhcp server <DHCP_server_machine_name> delete optionvalue 60
    netsh dhcp server <DHCP_server_machine_name> delete optiondef 60 PXEClient

    where <DHCP_server_machine_name> is the name of the DHCP/WDS server (without the brackets <>).

    In the above two commands, the first command disables DHCP Option 60, while the second one removes DHCP Option 60 completely. For this reason only the first command is truly needed. However if DHCP Option 60 needs to be removed completely, make sure to run BOTH commands in the above order. Only running the second command will leave an option named “Unknown” on the DHCP server.

How To Properly Install And Set Up A New Instance Of WDS And A PXE Service Point

The following section lists the steps to ensure that WDS and the PXE Service Point are installed properly on a server where WDS and the PXE Service Point have never been installed or where WDS and the PXE Service Point have been properly uninstalled based on the section “Reinstalling WDS And The PXE Service Point“. If WDS and/or the PXE Service Point is currently installed OR has been previously installed on the server, please follow the instructions under the section “Reinstalling WDS And The PXE Service Point” first:

  1. If needed, make sure that IP Helpers have been configured. Additionally, make sure that DHCP Options 60, 66, 67 have NOT been configured. See the section “Setting Up IP Helpers” for additional information.
  2. If WDS and DHCP are being co-hosted on the same server, please make sure to go over and take the actions in the section “Co-hosting DHCP and WDS On The Same Server”. Please note that the registry key value that needs to be configured as described in the section “Co-hosting DHCP and WDS On The Same Server” will not be available until after WDS is finished installing in Step 5. Instructions on how to set this registry are in Step 7.
  3. Install, but DO NOT configure, Windows Deployment Services (WDS) on the server that will host the PXE Service Point.
    • If using Windows Server 2003, WDS is installed via the Add/Remove Windows Components in theAdd/Remove Control Panel.
    • If using Windows Server 2008 or newer, WDS is installed via Roles in Server Manager. When installing in Windows Server 2008 or newer, make sure that both the Deployment Server and Transport Server are installed.
  4. If prompted to reboot after WDS has finished installing, reboot the server.
  5. Once the server has restarted, DO NOT try to manually configure or start the WDS service.
  6. If WDS and DHCP are on different servers, skip Step 7 and proceed to Step 8.
  7. If WDS and DHCP are being co-hosted on the same server, run the following command from an elevated command prompt to set the required registry key when WDS and DHCP are co-hosted on the same server:

    REG ADD “HKLMSYSTEMCurrentControlSetservicesWDSServerProvidersWDSPXE” /v UseDHCPPorts /t REG_DWORD /d 0 /f

    In reinstall scenarios of WDS, make sure to rerun the above command as any uninstall of WDS may have reset the above registry key.

    If WDS and DHCP are on separate servers, DO NOT run the above command.

  8. In the ConfigMgr 2007 Admin Console, navigate to

    Site Management” –> <Site_Code> –> “Site Settings” –> “Site Systems

    where <Site_Code> is the site code where the PXE Service Point server will reside.

  9. If the server where the PXE Service Point is going to be installed already exists under “Site Systems“, right click on the server and choose “New Roles“. Otherwise right click on “Site Systems” and choose “New” –> “Server“.
  10. In the “General” page of the wizard, make sure that the NETBOIS and FQDN name of the server are correct and then click on the “Next >” button.
  11. In the “System Role Selection” of the wizard, check “PXE service point” and then click on the “Next >” button.
  12. Review the “PXE Service Point Configuration” dialog windows and then click on the “Yes” button.
  13. In the “PXE – General” window, configure the appropriate options as desired and then click on the “Next >” button.

    IMPORTANT! If ConfigMgr 2007 R2 or R3 is installed at the site and the option “Enable unknown computer support” does not appear on this page, DO NOT continue. This may be an indication that R2/R3 is not properly installed at the site. To check the status of R2/R3 being installed, in the ConfigMgr 2007 console navigate to “Site Database” –> “Site Management“, right click on the site code, and then choose “Properties“. The status will be listed under the “General” tab next to the field “R2 Installed“/”R3 Installed“.

    If R2/R3 is not properly installed, this could cause the PXE Service Point not to answer PXE requests due to Unknown computer support not being set up properly. This can happen regardless if Unknown computer support is desired or not.

    To resolve the problem, cancel out of the “New Site Role Wizard“, reinstall R2/R3 on the site server, and then start over at Step 8. If the site server is a child server, R2/R3 may need to be reinstalled on both the parent and child site servers.

  14. In the “PXE – Database” window, change any options as needed. In most cases, settings should be left at their default in this window. Click on the “Next >” button.
  15. Click on the “Next >” button and then on the “Close” button.
  16. On the server where the PXE Service Point is being installed, navigate to the ConfigMgr 2007 site server log location using Windows Explorer. Usually the log location will be under one of the following paths:
    • 32bit servers
      <drive_where_ConfigMgr_is_installed>Program FilesMicrosoft Configuration Manger
    • 64bit servers
      <drive_where_ConfigMgr_is_installed>Program Files (x86)Microsoft Configuration MangerLogs
    • 32bit or 64bit servers
      <drive_where_ConfigMgr_is_installed>SMS
  17. Once the log directory has been located in Step 16, open the log file PXESetup.log using SMS Trace/Trace32.exe. Monitor this log and verify that the PXE Service Point installed correctly. It may take a few minutes for the installation to start and finish successfully. If this is the first time the PXE Service Point is being installed on the server, it may take a few minutes for the PXESetup.log to appear and be created.

    Once installed correctly, the last lines in the log should be “pxe.msi exited with return code: 0” and “Installation was successful.” Verify that the line is for the current date and time frame.

    In some circumstances, the last lines will read “pxe.msi exited with return code: 3010” and “Installation was successful, but a reboot is required.” If this is the case, make sure to reboot the server before continuing.

    Do NOT proceed until confirmation has been received in the PXESetup.log that installation has been successful.

  18. In the ConfigMgr 2007 Admin Console, navigate to “Computer Management” –> “Operating System Deployment” –> “Boot Images“.
  19. If BOTH the x64 and x86 Boot Images are not already on any standard Distribution Point (DP), make sure to put both Boot Images on at least one standard DP. Monitor the “Package Status” node and ensure that both the x64 and x86 Boot Images properly install on the standard DP.
  20. Place BOTH the x64 and x86 Boot Images on the SMSPXEIMAGES$ DP on the server where the PXE Service Point was created. Monitor the “Package Status” node and ensure that both the x64 and x86 Boot Images properly install on the SMSPXEIMAGES$ DP.
  21. Once the Boot Images have installed on the SMSPXEIMAGES$ DP, open the Services console on the PXE Service Point server and ensure that the Windows Deployment Services Server service has started. Additionally make sure that the RemoteInstall folder has been created on the root level of the one of the drives of the server (usually the same drive where ConfigMgr is installed).
  22. In the ConfigMgr 2007 Admin Console, navigate to “Computer Management” –> “Operating System Deployment” –> “Task Sequences“. Right click on each Task Sequence that will be deployed via PXE and choose “Properties“. Click on the “Advanced” tab and ensure that the option “Use a boot image:” is checked and that an appropriate boot image for that Task Sequence is selected.
  23. In the ConfigMgr 2007 Admin Console, navigate to “Computer Management” –> “Software Distribution –> “Advertisements“. Right click on each Advertisement for Task Sequences that will be deployed via PXE and choose “Properties“. Under the “General” tab make sure that the option “Make this task sequence available to boot media and PXE” is checked.

Notes:

  1. When the PXE Service Point is installed, it will automatically configure WDS and create the RemoteInstall folder. Once configured, the PXE Service Point installation will then automatically start the WDS service. For this reason, manual configuration of WDS in the Windows Deployment Services console is NOT necessary and should not be performed.
  2. Once the PXE Service Point has configured and started WDS, the Windows Deployment Services console will still show a yellow exclamation mark and display the message “Windows Deployment Services is not configured“. This is normal and does not indicate a problem. No action or configuration should be taken in the Windows Deployment Services console.
  3. Regardless of the architecture of the Windows OS being deployed, it is IMPERATIVE that BOTH the x86 and x64 Boot Image are on BOTH a standard DP and the SMSPXEIMAGES$ DP. Make sure to verify that this has been done.
  4. Do NOT place any other types of packages other than Boot Images in the SMSPXEIMAGES$ DP. Placing any other type of packages in the SMSPXEIMAGES$ DP, especially OS images, may cause WDS not to work correctly.

Reinstalling WDS And The PXE Service Point

In certain scenarios, especially ones where WDS and the PXE Service Point were installed or configured incorrectly, the best course of action is to uninstall the PXE Service Point and WDS, delete all previous configurations, and then reinstall. If WDS and the PXE Service Point have already been uninstalled, read through the below steps and actions to ensure that ALL of the steps have been followed to properly uninstall both components:

  1. In the ConfigMgr 2007 Admin Console, navigate to “Computer Management” –> “Operating System Deployment” –> “Boot Images“.
  2. Under each Boot Image, click on the “Distribution Points” node. On the right hand panel, right click on the “<Server_Name>SMSPXEIMAGES$” DP and then choose “Delete” (where <Server_Name> is the name of the server where the PXE Service Point and WDS is being reinstalled). If the Boot Image is installed on the standard DP, it is NOT necessary to also delete the Boot Image from the standard DP.
  3. Under each Boot Image that was deleted, monitor the “Package Status” node under the Boot Image to ensure that the Boot Image is removed from the SMSPXEIMAGES$ DP. To verify, check the “Package Status” node under the first “Package Status” node. Once the Boot Image has been successfully deleted from the DP, “Source Version“, “Targeted“, and “Installed” will all be 0.
  4. Make sure that no other packages are on the SMSPXEIMAGES$ DP. To check if there are any other packages on the SMSPXEIMAGES$ DP, on the server where the PXE Service Point is being uninstalled, navigate to the folderRemoteInstallSMSImagesSMSPKG. The RemoteInstallfolder will be on the root level of one of the drives of the server. If the folder is empty, all packages have been removed. If the folder contains subfolders, there are additional packages on the SMSPXEIMAGES$ DP that need to be removed:
    1. To determine which packages are on the DP, copy down the folder names. The folder names correspond to the Package ID of the package that is on the DP.
    2. In the ConfigMgr 2007 Admin Console, navigate to “System Status” –> “Package Status“. On the right hand panel all of the packages in the environment will be listed. On the far right last column the Package ID will be listed. Match up the Package ID obtained in Step 1
      with the Package Name.
    3. Based on the Package Name obtained in the Step 2, locate the package under one of the following nodes in the ConfigMgr 2007 console:
      • Computer Management” –> “Software Distribution” –> “Packages
      • Computer Management” –> “Operating System Deployment” –> “Operating System Images
      • Computer Management” –> “Operating System Deployment” –> “Operating System Install Packages
      • Computer Management” –> “Operating System Deployment” –> “Driver Packages
      • Computer Management” –> “Software Updates” –> “Deployment Packages
    4. Under each package, click on the “Distribution Points” node. On the right hand panel, right click on the “<Server_Name>SMSPXEIMAGES$” DP and then choose “Delete” (where <Server_Name> is the name of the server where the PXE Service Point and WDS is being reinstalled).
    5. Under each package that was deleted, monitor the “Package Status” node under the package to ensure that the package is removed from the SMSPXEIMAGES$ DP. To verify, check the “Package Status” node under the first “Package Status” node. Once the package has been successfully deleted from the DP, “Source Version“, “Targeted“, and “Installed” will all be 0.
    6. Once all of the packages have been deleted, check the RemoteInstallSMSImagesSMSPKG folder on the server where the PXE Service Point is being uninstalled and and ensure that it is empty.
  5. On the server where the PXE Service Point and WDS are being uninstalled, open the Services console. Locate the “Windows Deployment Services Server” service, right click on it, and select “Stop“. If the service is already stopped, proceed to Step 6.
  6. In the ConfigMgr 2007 Admin Console, navigate to “Site Management” –> <Site_Code> –> “Site Settings” –> “Site Systems“.
  7. Under “Site Systems“, click on the server where the PXE Service Point is being uninstalled. On the right hand panel right click on “ConfigMgr PXE service point” and choose “Delete“. In the “Confirm Delete” dialog box, click on the “Yes” button.
  8. On the server where the PXE Service Point is being uninstalled, navigate to the ConfigMgr 2007 site server log location using Windows Explorer. Usually the log location will be under one of the following paths:
    • 32bit servers
      <drive_where_ConfigMgr_is_installed>Program FilesMicrosoft Configuration Manger
    • 64bit servers
      <drive_where_ConfigMgr_is_installed>Program Files (x86)Microsoft Configuration MangerLogs
    • 32bit or 64bit servers
      <drive_where_ConfigMgr_is_installed>SMS
  9. Once the log directory has been located in Step 8, open the log file PXESetup.log using SMS Trace/Trace32.exe. Monitor this log and verify that the PXE Service Point uninstalled correctly. It may take a few minutes for the deinstallation to start and finish successfully. Once uninstalled correctly, the last line in the log should be “SMSPXE deinstall exited with return code 0“, “Deinstallation was successful.“, and “Removing PXE Registry.” Verify that the lines are for the current date and time frame.If the deinstall of the PXE Service Point never kicks off, check the sitecomp.log on the parent site server to determine why it was not able to start the deinstall. In most cases it is due to file in use issues, which usually can be resolved by stopping the WDS service (Step 5). A reboot of the server may also help resolve the issue.

    Do NOT proceed until confirmation has been received in the PXESetup.log that deinstallation has been successful.

  10. Uninstall Windows Deployment Services (WDS) on the server:
    • If using Windows Server 2003, WDS is uninstalled via the Add/Remove Windows Components in theAdd/Remove Control Panel.
    • If using Windows Server 2008 or newer, WDS is uninstalled via Roles in Server Manager.
  11. Reboot the server where WDS and the PXE Service Point were just uninstalled.
  12. Once the server reboot completes and the server comes back up, locate the RemoteInstall folder on the root level of each of the drives of the server. If it exists on the drive, rename the RemoteInstall folder (i.e.RemoteInstallOld). On most servers, only one of the drives will have a RemoteInstall folder. However if multiple instances of the RemoteInstall folder exist, make sure to rename each instance.

    If when renaming the RemoteInstall folder you receive one of the below messages:

    Windows Server 2008/Windows Server 2008 R2
    This folder is shared with other people

    If you rename this folder, it will no longer be shared.

    Folder: <drive_letter>RemoteInstall
    Share Name: REMINST

    or

    Windows Server 2003
    You are sharing <drive_letter>:RemoteInstallSMSIMAGES as SMSPKEIMAGES$. The folder will not be shared after you move or rename it. Are you sure you want to continue?

    go ahead and make sure to click on either the “Continue” or “Yes” button.

  13. On the server where WDS and the PXE Service Point were uninstalled, delete the folders BootImages andPXEBootFiles under %systemroot%Temp (usually C:WindowsTemp). It may be necessary to take ownership of the folders and their subfolders to successfully delete the folders. In some circumstances, it may be necessary to also navigate down the folder hierarchy and take ownership from the bottom up.
  14. Reinstall WDS and the PXE Service Point using the instructions in the section “How To Properly Install and Set Up A New Instance of A PXE Service Point“.

Testing The PXE Service Point

Once WDS and the PXE Service Point have been installed and configured, test the PXE Service point to see if it is working. Take the following measures to ensure the best testing environment:

  1. To eliminate problems with Unknown Computer Support, advertise the Task Sequence to a collection that has known existing clients. If necessary, use the Computer Association node to manually create a client record. For best results, create the record based on the SMBIOS GUID (System UUID) of the PC and NOT the MAC address.
  2. To eliminate certain issues that can occur with mandatory assignments, do not add a mandatory assignment to the advertisement of the Task Sequences. Instead the Task Sequence advertisement should be optional.
  3. Verify the properties of the advertisement and ensure that under the “General” tab the option “Make this task sequence available to boot media and PXE” is checked.
  4. Verify the properties of the Task Sequence and ensure that under the “Advanced” tab the option “Use a boot image:” is checked and that a boot image assigned under this option.
  5. Refer to the below two KB articles regarding the SMS PXE Cache:

    Client machines may fail to boot into PXE if System Center Configuration Manager Service Pack 2 has been applied
    http://support.microsoft.com/kb/2019640

    Operating system deployment fails in a System Center Configuration Manager 2007 SP1 environment if you deploy a different operating system to a client within one hour of a previous deployment
    http://support.microsoft.com/kb/969113

    During testing is suggested to set the value of the CacheExpire key to 60 (60 seconds = 1 minute). This will minimize PXE booting issues being caused by the SMS PXE cache. The default of the CacheExpire key is either 0 or 3600, both which are 3600 seconds (1 hour). After testing is complete, the value of this registry setting will need to be determined based on environmental conditions.

    Please note that each time WDS and the PXE Service Point is reinstalled the value of this key is reset back to 0.

Monitoring And Troubleshooting The PXE Boot

The single greatest troubleshooting tool in figuring out why a PXE boot is not working on a client PC is monitoring theSMSPXE.log. The log should be monitored live with SMS Trace/Trace32.exe while a PXE boot is attempted on the client PC. When monitoring the SMSPXE.log, the log should show in real time exactly what is occurring.

  1. While attempting a PXE boot on a client PC, perform a live monitor of the log SMSPXE.log with SMS Trace/Trace32.exe. The SMSPXE.loglog can be found under the MP/client logs of the ConfigMgr site server hosting the PXE Service Point. The location of the MP/client log files is usually under one of the following paths:
    • 32bit servers
      <drive_where_ConfigMgr_is_installed>Program FilesSMS_CCMLog
      or
      %systemroot%System32CCMLogs (usually C:WindowsSystem32CCMLogs)
    • 64bit servers
      <drive_where_ConfigMgr_is_installed>Program Files (x86)SMSCCMLog
      or
      %systemroot%SysWow64CCMLogs (usually C:WindowsSystem32CCMLogs)
    • 32bit or 64bit servers
      <drive_where_ConfigMgr_is_installed>SMS_CCMLog

  2. Monitoring the SMSPXE.log should show the activity in the log when the actual PXE request is occurring. If no activity is occurring, this is usually indicative of one of the following problems:
    • The WDS service has not started or is not running
    • The PC is on a separate subnet or vlan from the WDS and DHCP servers and IP Helpers have not been properly set up
    • DHCP Options 60, 66, or 67 have been configured
  3. Enabling debug logging on the SMSPXE.log will provide additional information in the log and could assist in troubleshooting why a PC is not PXE booting. To enable debug logging on the PXE Service Point server for theSMSPXE.log , create the following registry key on the server. A value does not need to be created under the registry key:

    32bit Windows Server
    HKLMSOFTWAREMicrosoftCCMLoggingDebugLogging

    64bit Windows Server
    HKLMSOFTWAREWow6432NodeMicrosoftCCMLoggingDebugLogging

    Once the registry key has been created, restart the server for the changes to take effect.

  4. Lines in the SMSPXE.log that show PXE requests that contain all Fs as the MAC address similar to the below line can be ignored:

    MAC=FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF SMBIOS GUID=<SMBIOS_GUID> > Received DHCP Request smspxe
    Executing LookupDevice(<SMBIOS_GUID>, FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF) smspxe
    CDatabaseProxy :: LookupDevice succeeded: 0 0 0 0 smspxe
    MAC=FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF SMBIOS GUI=<SMBIOS_GUID > > Device not found in the database. smspxe
    MAC=FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF SMBIOS GUID=<SMBIOS_GUID > New client request. RequestID=<Request_ID>. smspxe

    These PXE “requests” is the server doing a self check on itself to ensure the PXE Service Point is up and responding. They can be ignored.

  5. The error in the SMSPXE.log:

    Failed to read PXE settings.
    The system cannot find the file specified. (Error: 80070002; Source: Windows) smspxe

    can be ignored and is not relevant. It does not indicate that there are any problems.

  6. If the following messages appear at the PXE boot screen:

    TFTP Download: smsbootx86abortpxe.com
    PXE Boot aborted. Booting to next device…

    or

    TFTP Download: smsbootx64abortpxe.com
    PXE Boot aborted. Booting to next device…

    it is indicative that the PXE Service Point and WDS are installed and configured correctly and working as expected. The above error messages occur when an advertised Task Sequence is not found for the PC that is being PXE booted. The PXE Service Point then responds appropriately and sends a PXE abort.

    The problem is usually associated with how the Task Sequence is advertised and targeted to the PC. Usually in these scenarios the following message will show up in the SMSPXE.log for the PXE request:

    ProcessDatabaseReply: No Advertisement found in Db for device smspxe

  7. The SMSPXEIMAGES$ DP is actually a share pointing to the SMSIMAGES folder within the RemoteInstall folder. ConfigMgr places the Boot Images in this share so that the Boot Images are available to WDS for PXE booting. In total there should only be four folders within the RemoteInstall folder as follows:

    SMSBoot
    SMSIMAGES
    SMSTemp
    Stores

    If additional folders exist in the RemoteInstall folder, such as:

    Boot
    Images
    Mgmt
    Templates
    Tmp
    WdsClientUnattend

    this is an indication that WDS has been manually configured at some point. The best course of action at this point is to reset the installation of WDS by reinstalling the PXE Service Point and WDS as described in the section “Reinstalling WDS And The PXE Service Point“.

  8. ConfigMgr uses the Boot Images in the RemoteInstallSMSIMAGES folder to extract Boot Files from the Boot Images. In addition to the Boot Images, these Boot Files are also needed by WDS to successfully complete a PXE boot. These Boot Files are placed in the SMSBoot folder under the RemoteInstall folder. The process of extracting the Boot Files can be seen by monitoring the SMSPXE.log while the WDS service is restarted. If errors appear in the log during this process (besides the error described in Step 5 above), the best course of action is to reinstall the PXE Service Point and WDS as described in the section “Reinstalling WDS And The PXE Service Point“.
  9. The RemoteInstallSMSIMAGES folder will contain a subfolder called SMSPKG, which will then contain subfolders for each Boot Image that has been added to the SMSPXEIMAGES$ DP. Each subfolder under the SMSPKG folder will have the name of the Package ID of the Boot Image.

    If any subfolder exists under SMSPKG that is not the Package ID of a Boot Image, they should be removed from the SMSPXEIMAGES$ DP via the ConfigMgr 2007 Admin console. Only Boot Images should be added to theSMSPXEIMAGES$ DP. No other type of packages should be added to the SMSPXEIMAGES$ DP. This is especially true with Operating System Image Package or an Operating System Install Package (Windows OS source files). Having an Operating System Image Package or an Operating System Install Package under the SMSPXEIMAGES$DP will cause issues with WDS.

    Instructions on how to remove additional packages from the SMSPXEIMAGES$ DP are provide above in Step 4 under the section “Reinstalling WDS And The PXE Service Point“. However make sure not to remove the Boot Images as outlined in the instructions.

  10. The RemoteInstallSMSBoot folder should have three folders listed under it, one for each architecture type – ia64,x64, and x86. The ia64 folder will be empty since ia64 is not an officially supported platform for ConfigMgr 2007 OSD. However, both the x64 and x86 folders should have the following files in them:

    abortpxe.com
    bootmgfw.efi
    (x64 only)
    bootmgr.exe
    pxeboot.com
    pxeboot.n12
    wdsnbp.com

    If the folders are missing, empty, or missing files, then BOTH the x64 and x86 Boot Images may not have been placed in the SMSPXEIMAGES$ DP. If both the x64 and x86 Boot Images have been placed on theSMSPXEIMAGES$ DP and the folders still do not exist, are empty, or are missing files, then there may be another problem occurring. The best course of action is to reinstall the PXE Service Point and WDS as described in the section “Reinstalling WDS And The PXE Service Point“.

Frank Rojas
Support Escalation Engineer

SCCM OS DEPLOYMENT – PXE BOOT ABORTED

Source: IT Support Guides

[SOLVED] SCCM OS Deployment – PXE Boot Aborted

PROBLEM:

When attempting to PXE boot to your SCCM OS Deployment enviroment you get a ‘PXE Boot aborted’ error message.

SCCM-PXEBootAborted

SOLUTION:

When the PXE boot is automatically aborted as shown in the screen above, this is typically caused by one of the following reasons:

  • The computer has run a mandatory task sequence already
  • The computer is not a member of any collections that have a task sequence advertised to it

Navigate to your SCCM log folder (The SCCM server log files are located in the <SCCM Install Path>Logs or SMS_CCMLogs folder.)

Open the smspxe.log file and you should find the following entries:

Executing LookupDeviceDevice(<GUID>,<MAC Address> CDatabaseProxy :: LookupDevice succeeded <ResourceID> <number> <ResourceID> <Number> MAC=<MAC Address> SMBIOS GUID=<GUID> > Device found in the database.

MacCount=<number> GuidCount=<number> ProcessDatabaseReply: Device has already executed this advertisement: LastAdvDB:<Advertisement Id>

Depending on which issue is causing the the PXE Boot aborted message, the solution is:

  1. Check that the computer has an OS Deployment advertised to it. This can be done by double clicking on the computer object and selecting the ‘Advertisments’ tab. Confirm that the OS Deployment advertisment is listed.
  2. Right click on the computer object and select ‘Clear last PXE advertisment’. Click ‘OK’.

You may need to restart the WDS service to get the computer to boot once it has been rejected.

How to Prevent the Configuration Manager Client Software from Being Installed on Specific Computers

Prevent SCCM Client Installation on the target computers

// // // //

  • Just create a ccmsetup and ccm file (without any extension) in the locations where those folders are usually located. That will prevent a folder (with the same name as the already existing file) from being created.
    OR the Microsoft official way.

Source: Microsoft System Center Library// // // // // //

How to Prevent the Configuration Manager Client Software from Being Installed on Specific Computers

5 out of 7 rated this helpful Rate this topic

Updated: July 1, 2011

Applies To: System Center Configuration Manager 2007, System Center Configuration Manager 2007 R2, System Center Configuration Manager 2007 R3, System Center Configuration Manager 2007 SP1, System Center Configuration Manager 2007 SP2

By editing the Windows registry, you can prevent the Configuration Manager 2007 client from installing on specific computers when using the site-wide automatic client push installation method. The registry of the Configuration Manager 2007 site server contains a list of computers that should be excluded from site-wide automatic client push installation. Computers that are excluded from the client installation can still be found by using Configuration Manager 2007 discovery methods. This procedure does not prevent the client from installing when you are using other client installation methods, such as the Client Push Wizard or by manually running CCMSetup.exe.

ImportantImportant
If you use the Registry Editor incorrectly, you might cause serious problems that could require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using the Registry Editor incorrectly. Use the Registry Editor at your own risk.

When you add a computer to the ExcludeServers list, it is flagged with a status of installed, which prevents the client from reinstalling by using the automatic site-wide client push installation method. If you later remove the computer from the exclude list, this flag remains. To change this status to uninstalled, you must run the clear install flag task. You can view the install status for a client on the General tab of the Resource Properties dialog box. To open this dialog box, right-click a computer in the Configuration Manager console, and then click Properties. The item Client in the Discovery data list indicates the install status of the client.

Use the following procedures to add computers to the exclude list and to run the clear install flag task if this task is necessary.

To add computers to the exclude list to prevent client software from being installed using automatic site-wide client push

  1. Open the Windows Registry Editor on the Configuration Manager 2007 site server that hosts the site that you want to exclude a computer from joining.
  2. Locate the SMS_DISCOVERY_DATA_MANAGER sub-key by browsing to the following path:
    • For a 32-bit operating system: HKEY_LOCAL_MACHINE/Software/Microsoft/SMS/Components/SMS_DISCOVERY_DATA_MANAGER
    • For a 64-bit operating system: HKEY_LOCAL_MACHINE/Software/Wow6432Node/Microsoft/SMS/Components/SMS_DISCOVERY_DATA_MANAGER
  3. To enter the name of the computers you want to exclude, double-click the key ExcludeServers to open the Edit Multi-String window.
  4. In the Edit Multi-String window, specify the NetBIOS name of each computer you want to exclude. Press the Enter key after typing each computer name to ensure that each computer name appears on a separate line.
  5. After you have entered the computer names of computers you wish to exclude, click OK. Close the Registry Editor window.

To clear the Install Flag so that client software will install

  1. In the Configuration Manager console, navigate to System Center Configuration Manager /Site Database/ Site Management / <site code> – <site name>/ Site Settings / Site Maintenance / Tasks.
  2. Double-click Clear Install Flag to open the Clear Install Flag Properties dialog box.
  3. In the Clear Install Flag Properties dialog box, specify the following:
    • Select the checkbox to enable the clear install flag task.
    • Set the schedule to control how often the task runs.
  4. Click OK to close the Clear Install Flag Properties dialog box.

SCCM 2007 OU exclusion

Exclude a sub-OU from a Collection in SCCM

If we want to make a collection based on a Parent OU and want to exclude one or more Sub-OUs, it is apparently not possible with the criteria selection. It only works well for getting all computers in the parent OU. But if you add another criteria and say System OU Name not like or not equal to the child OU, it does not work for the exclusion. You have to absolutely use a subquery in order to exclude computers from the sub OU.

sccm-collection-exclude-sub-ou

After adding the simple criteria of Parent OU you can edit the query and add the sub query which I got from the link here:

http://www.experts-exchange.com/OS/Microsoft_Operating_Systems/Server/Systems_Management_Server/Q_24647910.html

In my case, OU3 is the parent OU and the query goes like this :

select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,
SMS_R_SYSTEM.Name,
SMS_R_SYSTEM.SMSUniqueIdentifier,
SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client from SMS_R_System where SMS_R_System.SystemOUName = “DOMAIN.LOCAL/OU1/OU2/OU3″ and SMS_R_System.ResourceID Not In (Select ResourceID from SMS_R_System Where SystemOUName like  “DOMAIN.LOCAL/OU1/OU2/OU3/SUB-OU-1-TO-EXCLUDE” or SystemOUName like “DOMAIN.LOCAL/OU1/OU2/OU3/SUB-OU-2-TO-EXCLUDE”)

Exclude Active Directory OU’s from a Collection in System Center Configuration Manager 2007

Source: Http://Blogs.Catapultsystems.com

Create a “all computers” collection for software updates and exclude various OU’s that have computers not allowed to be updated for various reasons. Please modify the RED areas with the correct information. The great part is, you don’t have to spell out the full OU name to be excluded.

Script

  • select sys.ResourceId, sys.ResourceType, sys.Name, sys.SMSUniqueIdentifier, sys.ResourceDomainORWorkgroup, sys.Client
    from SMS_R_System as sys where sys.SystemOUName like “TEST.COM/COMPUTERACCOUNTS
    and sys.ResourceId not in (select ResourceID from  SMS_R_System where SMS_R_System.SystemOUName like “%OuNameToNotInclude“)
    and sys.ResourceId not in (select ResourceID from  SMS_R_System where SMS_R_System.SystemOUName like “%OuNameToNotInclude“)
    and sys.ResourceId not in (select ResourceID from  SMS_R_System where SMS_R_System.SystemOUName like “%OuNameToNotInclude“)

SCCM 2007 PXE Notes

The PXE Service Point service that is running on the WDS server(s) reports it’s status to the adult primary Configuration Manager 2007 server and the results can be viewed in the component status messages on the adult primary Configuration Manager 2007 console.
1.Open the adult primary Configuration Manager 2007 server console.
2.Expand Site Database > System Status > Site Status > Site Code > Component Status.
3.Right click the SMS_PXE_Service_Point item and select Show Messages > All from the drop down menu.

These messages will report specific errors or events that have occurred with the PXE service point.

Basic Log Files

Basic PXE log files contain information about the configuration and setup of the PXE service point.

PXESetup.log will contain the installation logging for the PXE Service Point role that is added by the Configuration Manager 2007 console. Many installation and configuration errors can be seen in this log.

Log file location: <InstallationPath>smslogs

PXEMsi.log Provides information about the PXE service point and is generated when the PXE service point site server has been created.

Log file location: <ConfigMgrInstallationPath>smslogs

PXEControl.log provides information about the PXE Control Manager.

Log file location: <ConfigMgrInstallationPath>smslogs

Advanced Log Files

To enable WDS Logging set the following registry key:

HKLMSoftwareMicrosoftTracingWDSServerEnableFileTracing = 1

The log file generated from this setting will appear in %Windir%TracingWDSServer.log

To add additional logging features to the PXE Filter Script add the following style of code to the script: PXE.LogTrace “My log file comment”