DNS DHCP IPAM

Reply

UEFI PXE Boot

dawilliams
Techie
Posts: 10
451     1

I have a configuration issue with PXE boot and UEFI on a MS WDS server...

 

BIOS based systems work fine, but as it sits right now UEFI systems do not work.

 

BIOS and UEFI systems need a different PXE boot loader defined..

 

I need information on how to get both BIOS and UEFI systems to boot.

 

I need to know how to configure NIOS to work with UEFI systems using MS WDS.

Re: UEFI PXE Boot

Expert
Posts: 162
451     1

This is a bit vague, what do you mean when you say "it doesn't work" - have you done a packet capture to check the UEFI BIOS is issuing DHCP requests? Are these reaching the Infoblox DHCP server? If so have you compared them with a packet capture of a BIOS DHCP request?

 

I would be looking for differences, and maybe looking at things like the vendor class identifier to set up a different DHCP option filter if UEFI clients need different parameters to BIOS clients.

Paul Roberts
PCN (UK) Ltd

All opinions expressed are my own and not representative of PCN Inc./PCN (UK) Ltd. E&OE

Re: UEFI PXE Boot (for Windows Deployment Services / SCCM)

[ Edited ]
Authority
Posts: 21
451     1

Try this (giving snippets from the resulting config first, then hints to implement in the GUI):

if (substring(option vendor-class-identifier,0,20)="PXEClient:Arch:00000") {
    # Option filter "Win-PXE-x86"
    option vendor-class-identifier "PXEClient";
    option vendor-encapsulated-options 01:04:00:00:00:00;
    server-name "<IP of WDS server>";
    next-server <IP of WDS server>;
    filename "SMSBoot\\x86\\wdsnbp.com";
}
elsif (substring(option vendor-class-identifier,0,20)="PXEClient:Arch:00007") {
    # Option filter "Win-UEFI-x64"
    option vendor-class-identifier "PXEClient";
    option vendor-encapsulated-options ff;
    server-name "<IP of WDS server>";
    next-server <IP of WDS server>;
    filename "SMSBoot\\x64\\wdsmgfw.efi";
}

I had problems where the DHCP server was sending all the options as a vendor-encapsulated-options blob and the boot ROM (at least on a Dell E5450) choked on it so:

The oddball vendor-encapsulated-options for x86 actually specifies a subnet mask of 0.0.0.0 which is actually just a placeholder.  It appears that legacy PXE requires that it be a valid option.

For UEFI the vendor-encapsulated-options should be just ff which signifies end of options.

You'll want to apply both filters in the DHCP Range for the network where you want to build devices.  That will get you the if/elsif arrangement.

----

The filters are created under: Data Management -> DHCP -> IPv4 Filters
On the Add pull-down click on IPv4 Option Filter.
Give it a name, deselect "Apply this filter as a global DHCP class" (unless you really do want this) and click Next.
Set the match to be vendor-class-identifier with "substring equals" with Offset of 0 and Length of 20.
Set the value to "PXEClient:Arch:00000" and click Next.
Create 2 options:
vendor-class-identifier=PXEClient
vendor-encapsulated-options=01:04:00:00:00:00
Click "Save & Edit"
Click Toggle Advanced Mode
Click BOOTP
Enter your Boot File (something like "SMSBoot\\x86\\wdsnbp.com")
Enter your Next Server and Boot Server (we use the IP of our server for both)
click "Save & Close"

 

On the Add pull-down click on IPv4 Option Filter.
Give it a name, deselect "Apply this filter as a global DHCP class" (unless you really do want this) and click Next.
Set the match to be vendor-class-identifier with "substring equals" with Offset of 0 and Length of 20.
Set the value to "PXEClient:Arch:00007" and click Next.
Create 2 options:
vendor-class-identifier=PXEClient

vendor-encapsulated-options=ff
Click "Save & Edit"
Click Toggle Advanced Mode
Click BOOTP
Enter your Boot File (something like "SMSBoot\\x86\\wdsmgfw.efi")
Enter your Next Server and Boot Server (we use the IP of our server for both)
click "Save & Close"

 

To use it, you either have to have left "Apply this filter as a global DHCP class" enabled or you have to add 1 or both of these to a DHCP Range where you want it to apply.

Re: UEFI PXE Boot

[ Edited ]
Authority
Posts: 21
451     1

Ignore this - it was an in-progress report which is taken into account in the update I posted today.

 

I did a little more testing.  The alternate option space isn't needed so you can just use the default DHCP option space.  It is necessary to add:

 

option vendor-encapsulated-options ff

to the Win-UEFI-x64 though or the UEFI boot refuses to continue.

 

Re: UEFI PXE Boot

Osberg
Techie
Posts: 1
451     1

hi buddy,

 

Can you share a screenshoot of the setup here from your infoblox gui.... Smiley Happy I would very much like to see this, since we are in the face og starting to role out UEFI for our new Lenovo laptops. Smiley Happy 

 

 

Thanks

 

Frank

Highlighted

Re: UEFI PXE Boot (for Windows Deployment Services / SCCM)

[ Edited ]
Authority
Posts: 21
451     1

Sorry I didn't get back to you until now.  Hope you got it working.

In case you haven't or others come to need this hopefully the following will help.

Note that the odd DHCP Lease Times were just an attempt to make successful use of the filters easy to pick out in the DHCP logs.

 

First create IPv4 Option Filter for UEFI x64:

Win-UEFI-General.png

Win-UEFI-Rules.png

Win-UEFI-Options.png

Win-UEFI-BOOTP2.png

 

Then create IPv4 Option Filter for PXE:

Win-PXE-General.png

Win-PXE-Rules.pngWin-PXE-Options.png

Win-PXE-BOOTP2.png

 

Then apply to a network (or Range if you prefer):

Win-filter-use2.png

 

Hope this makes sense.

Showing results for 
Search instead for 
Do you mean 

Recommended for You