If your SCCM PXE boot point is failing and machines are showing errors such as:
PXE-04 access violation
RXE-04 error
or various other errors it may be necessary to remove and re-install the features to repair it. The steps below should achieve this.
- Open the Configuration Manager console and navigate to Administration > Distribution points and right click on the server you run PXE on and select properties. Then navigate to the PXE tab and untick the enable PXE checkbox on the distribution point. Answer yes that you want to remove the Windows Deployment service.
- Next, navigate to Software library > boot images. Right click on each of your boot images and go to the “Content Locations” tab and remove them from this server.
- Check c:\Program Files\Microsoft Configuration Manager\Logs\distmgr.log and wait for it to say the WDS role has been removed. IF you are able to check the roles and features in server manager it should also say there is a restart pending.
- Delete the contents of your %windir%\temp directory and then restart.
- Check for a remoteinstall folder – this maybe on any drive – if it is still there delete it completely.
- Navigate back to Administration > Distribution points and right click on the server you run PXE on and select properties. Then navigate to the PXE tab and this time tick the enable PXE checkbox on the distribution point. Answer yes that you want to install the Windows Deployment service.
- Again monitor your distmgr.log and the server manager you should see entries similar to below: (And another pending restart)
WDS is NOT INSTALLED~ $$<SMS_DISTRIBUTION_MANAGER><04-10-2015 09:58:06.938-60><thread=3992 (0xF98)>
Installing WDS.~ $$<SMS_DISTRIBUTION_MANAGER><04-10-2015 09:58:06.938-60><thread=3992 (0xF98)>
Running: ServerManagerCmd.exe -i WDS -a~ $$<SMS_DISTRIBUTION_MANAGER><04-10-2015 09:58:06.938-60><thread=3992 (0xF98)>
Failed (2) to run: ServerManagerCmd.exe -i WDS -a~ $$<SMS_DISTRIBUTION_MANAGER><04-10-2015 09:58:06.938-60><thread=3992 (0xF98)>
Running: PowerShell.exe -Command Import-Module ServerManager; Get-WindowsFeature WDS; Add-WindowsFeature WDS~ $$<SMS_DISTRIBUTION_MANAGER><04-10-2015 09:58:06.938-60><thread=3992 (0xF98)>
Waiting for the completion of: PowerShell.exe -Command Import-Module ServerManager; Get-WindowsFeature WDS; Add-WindowsFeature WDS~ $$<SMS_DISTRIBUTION_MANAGER><04-10-2015 09:58:06.953-60><thread=3992 (0xF98)>
Sleep 30 minutes… $$<SMS_DISTRIBUTION_MANAGER><04-10-2015 09:58:07.485-60><thread=1636 (0x664)>
Run completed for: PowerShell.exe -Command Import-Module ServerManager; Get-WindowsFeature WDS; Add-WindowsFeature WDS~ $$<SMS_DISTRIBUTION_MANAGER><04-10-2015 09:58:10.000-60><thread=3992 (0xF98)>
Successfully installed WDS.~ $$<SMS_DISTRIBUTION_MANAGER><04-10-2015 09:58:10.000-60><thread=3992 (0xF98)>
Failed to open WDS service.~ $$<SMS_DISTRIBUTION_MANAGER><04-10-2015 09:58:10.000-60><thread=3992 (0xF98)>
WDS is NOT INSTALLED~ $$<SMS_DISTRIBUTION_MANAGER><04-10-2015 09:58:10.000-60><thread=3992 (0xF98)>
WDS is not installed. Cannot configure PXE server to use WDS~ $$<SMS_DISTRIBUTION_MANAGER><04-10-2015 09:58:10.000-60><thread=3992 (0xF98)>
- If you see a pending restart – reboot the server.
- Again – navigate to one of your boot images and make a small change which will require the wim to be opened and edited. For example add a new small optional component or set a background image and follow the wizard to update the WIM.
- Distribute the wim to your PXE boot server.
- Repeat this for all your boot images – there should be at least one x86 and one x64 image.
- The distmgr.log should be full of encouraging entries if all is well the windows distribution service will have started and be working.
- Attempt a PXE boot.
The above is all that should be required to rebuild the PXE/WDS components. Depending on what has broken and why you are doing this you may also need to remove and re-add the management point. Check your logs for more information. Also don’t forget options 66 and 67 in DHCP and/or IP Helpers as required. Checking Wireshark or netmon on your SCCM PXE boot server should let you know if the traffic is getting to the right place.