Latest posts by Joseph Moody (see all)
- SCCM and Group Policy update rings make updates easier - Wed, Sep 27 2017
- Softerra Adaxes 2017 - AD self-service with an offline twist - Wed, Jul 12 2017
- Windows 10 S – A Chromebook alternative? - Fri, May 5 2017
For something that seems so simple, booting PXE devices to an SCCM 2012 server can be quite complicated! In this guide, we are going to cover the many different reasons that a PXE boot can fail and how you can fix these failures.
Before we start, you should open the SMSPXE log on your distribution point. This log shows any clients trying to network boot, and you can use the log as a starting point. If you see your client listed, you can probably ignore client configuration issues. If your client isn’t listed, start with client settings first.
Client settings required for PXE boot ^
Any device attempting to network boot will have to support PXE. With some older hardware and certain models (Dell, for example), you will have to make sure the following two items are in place:
- The network card must be enabled as a bootable device.
- The network card must have PXE support enabled. This setting is normally found in On-board Devices within the BIOS.
While you are checking these two settings, ensure that the computer has enough RAM to load Windows PE. In Windows PE 5.1, the minimum required is 512MB. Additional RAM is required as drivers and tools are added to your Windows PE image. To be safe, we required 1GB in our environment.
Although not directly related to PXE issues, ensure that the date and time in the BIOS are very close to the actual time. If not, Windows PE will load and immediately reboot. The SMBIOS GUID may be duplicated with another machine on your network. While the machine may PXE boot, it will fail to load a task sequence. Finally, ensure that devices connected to the network cable have an active link.
DHCP or IP helper for PXE across subnets ^
After you verify your hardware settings, you can move on to the next troubleshooting layer: networking. Start by network booting a machine in the same subnet and, preferably, the same switch as your distribution point. If this works, your issue lies in the PXE broadcast and the inability for clients to locate the distribution point across subnets.
When possible, avoid using DHCP options to connect clients to a distribution point. The trouble with setting DHCP options 66 and 67 is that they increase troubleshooting complexity. For example, clients may report “PXE-E53: No boot filename received” when attempting a network boot. A client will appear to successfully PXE boot but will actually be taking a slightly longer route to failure.
The current best practice for network boots across subnets is to use IP helper addresses configured at the top network device of each subnet. For example, you would start by connecting to your core switch (or the top switch at that subnet or VLAN). For an HP switch, you would use the following commands:
IP helper-address <IPADDRESS_OF_DISTRIBUTIONPOINT>
If this switch had multiple VLANs configured, you would need to set the IP helper-address in each VLAN that you plan on network booting. The commands listed above (and shown in the screenshot below) are pretty universal to other switch models.
If your DHCP server is already listed as a helper address, just add your distribution point’s address after it. Each server will still respond to the appropriate requests.
Adding the IP address of the distribution point to VLAN 1
You should look at a few other things on this level. If you receive the error message “PXE-E51 No DHCP or proxy DHCP offers were received,” check your DHCP server. Ensure that addresses are available for lease and that the DHCP server is handing out addresses. If your DHCP server is virtual, ensure that the host is not blocking requests from getting to the DHCP server.
The DHCP guard setting in Hyper-V can cause PXE boot failures.
If you receive an error message such as PXE-E55, ensure that UDP port 4011 is open to your distribution point and is not blocked on devices between your client and server.
Is SCCM is configured for PXE support? ^
These last troubleshooting steps take place on your distribution point. The distribution point, your task sequence, and your boot media must be configured to allow PXE booting. These portions assume that the Windows Deployment Services Server service is started and running.
On the Configuration Manager console, navigate to Administration – Site Configuration – Servers and Site System Roles. Right-click the distribution point and select its properties. On the PXE tab, make sure that the Enable PXE support for clients check box is selected, along with the two check boxes that follow it.
Enabling PXE support on a distribution point
Next, check the deployment settings of your task sequence. The Make available to the following setting should include PXE.
This task sequence is only available to clients that boot off of media or PXE.
Finally, open the properties of the boot image that your task sequence uses. On the Data Source tab, ensure that the Deploy this boot image from a PXE-enabled distribution point check box is selected. If not, select it; then, select the Content Locations tab and redistribute your boot image.
This boot image is PXE-enabled from the distribution point.
As you can see, troubleshooting PXE boot issues can be quite difficult. Many areas exist where the process can break down and cause problems. In this guide, we covered the major issues that I’ve encountered over the years. What PXE-related issues have you faced?