How to configure DHCP policy to serve both PVS UEFI targets and PVS BIOS targets devices PXE booting

book

Article ID: CTX695208

calendar_today

Updated On:

Description

Support for all BIOS based target device booting has been deprecated since PVS 2203 release and the requirement is to switch to UEFI based target devices to be fully supported.
The plan is to build up UEFI based target devices in parallel to the current BIOS target devices, and then retire the BIOS target devices. Both target device types need to PXE boot in the same subnet.

However DHCP scope option 67 only allows specifying a single Bootfile Name, which means only one type of boot file can be specified and so only one type of target device can boot.

Cause

UEFI and BIOS targets devices require different bootstraps to boot.

  • UEFI target devices require boot file PVSNBPX64.EFI
  • BIOS target devices require boot file ARDBP32.BIN.

DHCP scope option 67 allows specifying a single bootfile name, which means only one type of boot file can be configured and so only one type of target device can boot.

Microsoft DHCP server with default configuration does not differentiate between UEFI and BIOS PXE boot requests.

Both types of boot requests will get the same bootfile name configured in option 67, which does not allow both architecture types to boot successfully.

Additional configuration of DHCP server is required to meet the requirement of PXE booting both PVS UEFI targets and PVS BIOS targets in the same subnet.

Resolution

Different PXE boot client architecture, UEFI or BIOS, can be identified by the DHCP request which is created when the PXE client boots.
A new DHCP vendor Class needs to be added, and a policy configured on the DHCP scope. This will allow Microsoft DHCP server to differentiate between the different architecture PXE client DHCP requests.

 

Open the Microsoft DHCP server console and complete the steps:

    1. Right click on IPv4 and select “Define Vendor Classes”.
      • image.png

    2. Click Add… to create a new class for the UEFI devices specifying the following options:

      • Display name: Choose a descriptive name

      • Description: Type a description

      • Code (type into the ASCII column) : PXEClient:Arch:00007

      • image.png

    3. Select the relevant DHCP scope, right click on Policies and click “New Policy”

      • image.png
    4. On “Configure Conditions for the policy” Click “Add”

      • Criteria Vendor Class

      • Operator Equals

      • Value PXEClient – UEFI x64 (the vendor class configured earlier)

      • Select “Append wildcard(*)

      • image.png
    5. Continue through the wizard

    6. Configure scope options 66 and 67 in the p[olicy configuration wizard

      • Option 66 should be the TFTP load balancer, or a single PVS server

      • Option 67 should be the UEFI bootstrap file name “pvsnbpx64.efi”

      • image.png

    7. Review the summary screen and click finish

      • image.png

    8. In the general scope options add option 11, and add all PVS server IPs there.

      • Option 11 is used by PVS UEFI target devices to identify PVS login servers.

      • PVS login mechanism is a load balancing mechanism itself, and so only PVS server streaming Ips should be listed here (specifying a load balancer IP is not supported)

      • Option 11 must be configured in the general scope options as otherwise it will not be provided later after PXE boot DHCP request.

    9. Review the effective scope options.

    10. Original scope options for BIOS targets remain in place unchanged, and scope options defined by policy to identify UEFI targets are visible and have correct configuration to provide the UEFI bootstrap name.

      • image.png

    11. Additional optional step: If wishing to create a policy specific for non UEFI target devices (legacy BIOS target devices), first create a new vendor class with details below to identify legacy BIOS PXE DHCP requests

      • Display name: Choose a descriptive name of legacy non UEFI devices.

      • Description: Type a description

      • Code (type into the ASCII column) : PXEClient:Arch:00000

Issue/Introduction

There is a requirement to PXE boot UEFI based targets in a subnet which already has BIOS target devices PXE booting.