系统运维

Learn how to PXE Boot both BIOS & UEFImachines with DHCP Policies and Custom Vendor Classes

 One of the challenges that an IT deployment administrator mayface in the field is the ability to boot both BIOS and UEFImachines from the same WDS environment. This is exactly the issue Ifaced when our organization decided to purchase a number of newSurface devices. These were the first set of devices that wereconfigured to natively boot to UEFI. This leaves you to decide froman organization standpoint whether you wish to boot all yourdevices using UEFI or the legacy BIOS…or does it.

 
I am a strong believer that finding a workaround to a problem isnot a fix to the problem. To that end modern devices such as thesurface are meant to be booted using the native UEFI boot. However,many organizations may also still have legacy BIOS devices that donot support UEFI boot or just work better booting from BIOS.Whatever the reasoning behind this it is actually quite easy tosetup DHCP to provide the BIOS or UEFI boot file depending on whatis used.

The solution!
By using DHCP policies and custom vendor classes for the followingDHCP Options:
 
Option 60
Option 66
Option 67
 
The below assumes that you have SCCM configured with a PXE enableddistribution point and a valid and configured DHCP server. Youshould therefore be at a configured state where you are able to PXEboot BIOS based devices.
 
Create Custom Vendor Classes for Use with your DHCPPolicy
 
Think Custom Vendor Classes as Detection Method’s used to determinehow devices are requesting a boot image from the DHCP server.
 

Open the DHCP Console and expand the IPv4 Node

Right-Click on ‘IPv4 Node’ and select ‘Define VendorClasses’

Click ‘Add’

Create the UEFI 64-Bit Vendor class first by entering thefollowing information

Enter the following information for the respectivefields:

DisplayName: PXEClient (UEFI x64)

Description: PXEClient:Arch:00007

ASCII: PXEClient:Arch:00007

Click ‘OK’

Click ‘Add’

DisplayName: PXEClient (UEFI x86)

Description: PXEClient:Arch:00006

ASCII: PXEClient:Arch:00006

Click ‘OK’

Click ‘Add’

DisplayName: PXEClient (BIOS x86& x64)

Description: PXEClient:Arch:00000

ASCII: PXEClient:Arch:00000

Click ‘OK’

 

Creating Custom DHCP Policies

 
UEFI 64-Bit DHCP Policy
 

Right-Click ‘Policies’ and click ‘New Policy’

Give the policy a friendly name that coincides with the yourvendor class naming scheme:

PolicyName: PXEClient (UEFI x64)

Description: Delivers the correct bootfile for (UEFIx64)

Click ‘Next’

On the ‘Configure Conditions for the policy’ page click‘add’

Select the ‘Value’ drop-down box and selectthe PXEClient (UEFIx64) vendor class that you created in previoussteps

Ensure that you check the box ‘Appendwildcard(*)’

Select ‘Add’

Select ‘Ok’

Click ‘Next’

If you want the policy to affect only a specific range withinyour scope configure it, otherwise select no and click ‘next’

On the Configure settings for the policy page ensure that ‘DHCPStandard Options’ is selected from the drop down box

Configure the following scope options:

060: PXEClient

066: IP Address of the SCCM or WDSService

067: smsboot\\x64\\wdsmgfw.efi

Cick ‘Next’

On the Summary pageclick ‘Finish’

 

BIOS 32-Bit & 64-Bit DHCPPolicy
 

Right-Click ‘Policies’ and click ‘New Policy’

Give the policy a friendly name that coincides with the yourvendor class naming scheme:

PolicyName: PXEClient (BIOS x86& x64)

Description: Delivers the correct bootfile for BIOSmachines

Click ‘Next’

On the ‘Configure Conditions for the policy’ page click‘add’

Select the ‘Value’ drop-down box and selectthe PXEClient (BIOS x86& x64) vendor class thatyou created in previous steps

Ensure that you check the box ‘Appendwildcard(*)’

Select ‘Add’

Select ‘Ok’

Click ‘Next’

If you want the policy to affect only a specific range withinyour scope configure it, otherwise select no and click ‘next’

On the Configure settings for the policy page ensure that ‘DHCPStandard Options’ is selected from the drop down box

Configure the following scope options:

060: PXEClient

066: IP Address of the SCCM or WDSService

067: smsboot\\x64\\wdsnbp.com

Cick ‘Next’

On the Summary pageclick ‘Finish’

 UEFI 32-Bit DHCP Policy

Right-Click ‘Policies’ and click ‘New Policy’

Give the policy a friendly name that coincides with the yourvendor class naming scheme:

PolicyName: PXEClient (UEFI x86)

Description: Delivers the correct bootfile for (UEFIx86) machines

Click ‘Next’

On the ‘Configure Conditions for the policy’ page click‘add’

Select the ‘Value’ drop-down box and selectthe PXEClient (UEFIx86) vendor class that you created in previoussteps

Ensure that you check the box ‘Appendwildcard(*)’

Select ‘Add’

Select ‘Ok’

Click ‘Next’

If you want the policy to affect only a specific range withinyour scope configure it, otherwise select no and click ‘next’

On the Configure settings for the policy page ensure that ‘DHCPStandard Options’ is selected from the drop down box

Configure the following scope options:

060: PXEClient

066: IP Address of the SCCM or WDSService

067: smsboot\\x86\\wdsmgfw.efi

Cick ‘Next’

On the Summary pageclick ‘Finish’

 Remove Default PXE Options
 

Ensure that you have removed the 067, 066, 060 options from thedefault scope options to ensure that the Policies take precedenceotherwise you will end up with conflict

 
As long as you have configured everything correctly you should nowhave the ability to boot machines from  BIOS orUEFI. Hopefully this helps alleviate some of the stress surroundingyour PXE deployments. This has worked great on all of ourdistribution points since implementation and has allowed ourdeployments to be much more flexible.

如何使SCCM同时支持BIOS PXE Boot 和 UEFI PXE Boot-编程知识网