System Center Configuration Manager – PXE Error – “Windows Failed to start Status: 0xc0000001”

The Issue

When using System Center Configuration Manager to image machine the download of the boot image freezes and stops. The error message “Windows Failed to start” Status: 0xc0000001.

The Investigation

If you are familiar with Configuration Manager Operating System Deployment and PXE process then below concepts will be easy to grasp.

  1. Event Viewer : Windows Deployment Services
WDS Event 4101

Researching Event 4101 you will find that TFTP could be a culprit. What is Trivial File Transfer Protocol? To learn more about it check out this Wiki page : https://en.wikipedia.org/wiki/Trivial_File_Transfer_Protocol

2. SMSPXE.log

Lets look at the PXE log for more clues:

No Errors or Warning or Clues, the request just ends

3. From DHCP Scope Options to IP-Helpers

Running out of ideas and areas to look at, let us refer back to Microsoft supported configurations.

DHCP Scope options Not Supported. Only use scope options in testing scenarios

The below image will explain what is required

https://blog.ctglobalservices.com/configuration-manager-sccm/rja/dhcp-guide/

So not being a network engineer what do I say to my network engineer should be configured on the switches? PXE Server = SCCM PXE Enabled DP

https://social.technet.microsoft.com/Forums/systemcenter/en-US/a83237d8-55d7-4b99-bc1c-10c3bbf5aef2/pxe-os-deployment

4. MTU Sizes

Changing MTU(Maximum Transmission Unit) sizes on Network Interface Adapters could affect your TFTP download and should be left on Default of 1500. Follow the below link on how to correct it

https://jabbertech.wordpress.com/2013/10/07/error-received-from-tftp-server-wds/

5. Network Trace

Using a network trace tool let’s see what is happening.

There are two clues here, the first one is that we can see the package is timing out as it is stuck on delivering the same block. The second is the blksize = 1456. Why would this be the setting?

According to below page the specific brand of Laptop we were testing only allows the max TFTPBlockSize of 1456. Which means we would have to increase our TFTPWindowSize for Faster Delivery so the timeout does not occur. https://ccmexec.com/2016/09/tweaking-pxe-boot-times-in-configuration-manager-1606/

The Resolution

On the Distribution Point you want to PXE from modify the

RamDiskTFTPBlockSize = 1456 (Decimal)

RamDiskTFTPWindowSize = 16 (Decimal)

Author