Setup PXE Client Booting for Microsoft Deployment Toolkit with Multiple VLANs

Part A: Configure Clients

Ensure that machines on the network would boot on a predetermined order of priorities such as:
1. Internal hard drive
2. USB Thumb drive or CD ROM
3. Network PXE Boot

Moreover, there are Legacy BIOS vs Unified Extensible Firmware Interface (UEFI) booting modes. The former is straightforward as it’s applicable to older equipment that has support for a maximum of 2.2 terrabytes of storage. The latter, UEFI mode will embed drivers to support drives up to 9 zettabytes (or 9216 terrabyes). This is most likely the mode where newer devices would boot.

As mentioned above, when a machine has exhausted its boot options, such as CD Roms and local hard drives, it would then search for a Preboot Execution Environment (PXE) Server on the network, which is usually a directory entry given by a DHCP Server.

Part B: Configure Router

In an environment with multiple virtual local area networks (VLANs), a DHCP Server may not reside on the same subnet as all of its clients. Therefore, an ip helper-address is required to be set at each VLAN. For most networking vendors, this is the command:

L3 Switch$ enable
L3 Switch(config)$ configure
L3 Switch(config)# vlan X
L3 Switch(vlan-X)# ip helper-address x.x.x.x
Part C: Configure DHCP Server

Here’s an example on setting directory pointers on a Microsoft DHCP Server:

Dhcpmgmt.msc > right-click DHCP > Add Server > select the correct DHCP Server with the IP Helper-Address being set on various VLANs > right-click IPv4 > DHCP Vendor Classes > create these three (3) entries as definitions for vendor classes:

1. Name = PXEClient (UEFI x86) | value = PXEClient:Arch:00006
2. Name = PXEClient (UEFI x64) | value = PXEClient:Arch:00007
3. Name = PXEClient (BIOS x86 & x64) | value = PXEClient:Arch:00000

Expand DHCP > select the scope of the VLAN subnet where PXE Clients would reside > right-click Policies > New Policy > set name = PXEClient (UEFI x86) > Next > click Add > select the Values drop-down menu > pick PXEClient (UEFI x86) > put a check mark next to Append wildcard(*) > click Add > OK > Next > select ‘No’ as the answer for ‘Do you want to configure and IP address range for the policy’ > Next > set these three (3) options on the Configure settings for the policy window:

1. option 060 = PXEClient (set this option ONLY if the DHCP server is same as the PXE Server. Otherwise, do NOT add this)
2. option 066 = FQDN or IP-Address of PXE Server
3. option 067 = boot\x86\wdsmgfw.efi for WDS (or ipxe32.efi if using FOG Server)

Repeat for PXEClient (UEFI x64)

1. option 060 = PXEClient (set this option ONLY if the DHCP server is same as the PXE Server. Otherwise, do NOT add this)
2. option 066 = FQDN or IP-Address of PXE Server
3. option 067 = boot\x64\wdsmgfw.efi for WDS (or ipxe.efi if using FOG Server)

Repeat for PXEClient (BIOS x86 & x64)

1. option 066 = FQDN or IP-Address of PXE Server
2. option 067 = boot\x64\wdsmgfw.efi for WDS (or undionly.pkxe if using FOG Server)

Click Next > OK when done > Navigate to Scope Options to verify the results:

Leave a Reply

Your email address will not be published. Required fields are marked *