Something's gone wrong!An error ocurred performing that action. Please try refreshing the page.

UEFI Network Boot Across Subnets

By Katy Nicholson, posted on 15 August, 2020

UEFI style network boot - press Enter, not F12!

A few years ago when UEFI became much more common on new PCs I wanted to use the UEFI network boot, rather than the old style PXE boot, for imaging machines. This worked fine for computers sat on the same subnet and VLAN as the server, but getting this to work when the client device is in a different subnet took a bit of work.

On your DHCP server, you need to create two policies - you can do this at the server level rather than in each individual subnet:

Set the vendor class for each policy

Set up two policies as follows:

Policy NameConditionOptions
PXEClient UEFIx64Vendor Class = PXECleint (UEFI x64)067 Bootfile Name: SMSBoot\x64\
PXEClient BIOSVendor Class = PXEClient (BIOS x86 & x64)067 Bootfile Name: SMSBoot\x64\

Mine are ordered with the UEFI one first, I'm not sure if it matters which order they are in or not.

In your server options you should have the two 067 options for the policies just created, along with the boot server hostname (or IP), I've also got a third 067 policy.

Now if you try to network boot cross-subnet you should find it works. This setup means you can direct UEFI and BIOS clients to different boot loaders if needed - however I just point them all at the x64 loader as everything supports x64 these days.

Looking at it, it doesn't really make sense why this is needed - as we're giving both sets of clients the exact same settings - but with just the bootfile name on its own with no policy it didn't work for me.

Support My Work

I hope you find my content useful. Please consider tipping to support the running costs of hosting, licensing etc on my Ko-fi page.

Support me on Ko-fi