ConfigMgr : PXE-booting legacy BIOS and UEFI

In testing Surface Pro 2 deployment via ConfigMgr I ran into an issue where no matter what I tried the device would not PXE boot. I was using the official Ethernet USB adapter and all of our existing device portfolio were able to PXE boot without issue.

I then discovered the following article:

To summarise, in a mixed environment, which is likely to represent most, you’ll find that trying to PXE boot a UEFI client with DHCP options 66/67 set will fail.

This is because the boot programs differ:

  • Legacy BIOS:
  • UEFI: wdsmgfw.efi

The *only* way you can achieve this cross-subnet/VLAN is to define IP-Helper addresses on your network infrastructure, adding entries for the PXE boot servers. Once this is completed remove the DHCP scope/server options and you’ll find that both legacy BIOS and UEFI machines can PXE boot.