Can PXE Boot in UEFI but not in Legacy

dhcppxe-bootwds

looking for some advice on why my lab setups is acting this way regarding PXE boot.

A breakdown of the unit is:

  1. Host OS is Server 2016 running hyper V with 2 VMS Hyper V
  2. VM1 is the DC, running AD, DHCP , DNS
  3. VM2 WDS

When I PXE boot a Client (Dell E7470 7480 ) while the Pre-OS environment (Firmware) is in UEFI mode it works like a charm pulls down the NBP file and can then take an install.wim

however if I change the client it to Legacy BIOS it PXE boots and receives the error PXE-E53 No Bootfile name received.

Within DHCP if I set 66 to the IP of the WDS server and 67 as says \boot\x64\wdsnbp.com it then works in Legacy but doesnt in UEFI

the reason I'm confused is because i shouldnt have to set option 66 67 within DHCP as the WDS is on a different VM.

what am i missing here to be able to PXE both legacy and UEFI machines without having to change options every time I want to do so?

I can get the client working in both UEFI and Legacy but only seperately

thanks all

Best Answer

PXE UEFI and BIOS clients boot different NBPs (Network Boot Program). The PXE booting clients announce their Pre-OS environment mode by using DHCP Option 93 (RFC 4578) on their DHCPDISCOVER packet. Then the PXE enabled DHCP Server parsing option 93 decides which NBP to offer. In your case your DHCP server is not offering a NBP for BIOS clients while is correctly providing it for UEFI clients