0

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

Pat
  • 3,519
  • 2
  • 17
  • 17
WengWeng
  • 1
  • 1
  • 2
  • Your question doesn't look very well on the first spot, but I think it could be made much better with only a little work. Read [this](https://meta.stackoverflow.com/questions/291362/advice-for-non-native-english-speakers/291370#291370). – peterh Jun 14 '17 at 00:41

3 Answers3

2

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

Pat
  • 3,519
  • 2
  • 17
  • 17
  • Thanks for the input. Any idea as to why its not offering an NBP for Legacy units when it should do as it does for UEFI? I understand its putting a proxy request in for the correct architecture but I cant understand why it would fail on Legacy based on this query alone. WDS is separated from the DC completely so it should not require any scope options to be set to get this working. – WengWeng Jun 15 '17 at 10:24
  • your DHCP server must be using a custom vendor class and `different DHCP (architecture based) policies` for the following DHCP Options: Option 60 Option 66 Option 67. See how here https://www.experts-exchange.com/articles/29394/Using-DHCP-to-Boot-WDS-to-BIOS-UEFI-with-SCCM.html – Pat Jun 15 '17 at 10:47
  • those policies require that open 60 be set within a specified DHCP policy combined with a specified Vendor Class. However; as WDS is not on the same VM as DHCP Option 60 does not become available under DHCP standard options. – WengWeng Jun 15 '17 at 11:17
  • Can't you see that in this case option 60 is always constant...= "PXEClient" . This is the answer to your problem now you have to implement it; That's it. – Pat Jun 15 '17 at 12:37
0

There are different ways of setting up WDS/PXE boot - either WDS responds to a broadcast from the DHCP client OR DHCP server tells the DHCP client to contact the WDS server (options 66+67).

In your situation (one subnet, DHCP and WDS on different servers) it should just work without options 60, 66 or 67 (according to Google), though I don't know which boot loader it picks in that case. Looking at our system, that's what we have here (which works - 2012R2, DHCP + WDS on different servers, routed network) - none of 60, 66, 67 options are set and we can boot legacy or UEFI.

You could at a push use DHCP policies to set the options for different machine types (eg different MAC address prefixes) - so for instance only set 66/67 for a subset of machines, leave the rest unset.

Options 66 and 67 are useful when you have a routed network. you can either set 66 and 67 OR add the IP of the WDS server to ip helpers on the routers (as we have here)

Hope that helps.

Jim ReesPotter
  • 308
  • 2
  • 10
  • Im at a loss of why its doing this. I've tried different gen client units from haswell up to kabylake incase it was something strange with the client but only UEFI seems to pull down the boot.wim. when this setup should work. I know DHCP etc works all well and fine because of the successful UEFI build – WengWeng Jun 14 '17 at 09:13
  • The PXE-E53 error relates to it not being able to download a file via TFTP. This has nothing to do with .wim files - it hasn't got that far in the boot process yet. What have you got for DHCP option 67? It pulls this file via TFTP, I'm pretty sure its case sensitive. Have you tried putting nothing for 66 + 67? What do you get then? – Jim ReesPotter Jun 14 '17 at 21:11
  • Hi, Option 66 and 67 are not set because WDS is on a seperate VM but on the same subnet, it shouldn't require these options to be set. It would only need to be set if WDS was installed on the domain controller with DHCP active on that. However; if i set 66 and 67 LEGACY PXE does work but then UEFI doesnt work. Its a very strange issue as i shouldnt have to set a bootfile NBP or direct the client to a specific TFTP location. WDS on the seperate VM should proxy this by itself. – WengWeng Jun 15 '17 at 10:18
  • Also, see https://technet.microsoft.com/en-us/library/cc732351(v=ws.10).aspx - What have you got set in the boot tab of server properties? – Jim ReesPotter Jun 15 '17 at 10:29
0

I'm not sure that this goes for the E7440, but on the Latitude 7480 you will need to activate the UEFI network stack, to get this to work.

On the 7480 that setting is found under System Configuration -> Integrated NIC.

It's a checkbox called "Enable UEFI Network Stack"