[syslinux] Windows Server DHCP + UEFI recipe

Gene Cumm gene.cumm at gmail.com
Tue Jan 14 21:05:15 PST 2014


On Tue, Jan 14, 2014 at 8:52 PM, Alexandre Blanchette
<blanalex at gmail.com> wrote:
> I've found a way to support PXE booting both UEFI and BIOS architectures
> with Windows Server DHCP.
>
> This method uses a feature introduced in WinServer 2012: DHCP policies.
>
> First, in the the DHCP console, at the IPv4 root of the server, create a
> vendor class named PXEClient (UEFI x64) with the following value:
> PXEClient:Arch:00007
>
> Then create your configuration for your BIOS clients in your scope or as
> global settings as usual by setting options 66 (IP or hostname of your TFTP
> host) and 67 (pxelinux.0).
>
> For the UEFI clients, you must then create a policy. In the condition page
> of the wizard, add a condition with the following settings:
> Criteria: Vendor Class
> Operator: Equals
> Value: PXEClient (UEFI x64)
> Tick Append wildcard(*)
>
> Do not configure an IP address range for the policy.
>
> Finally configure options 66 (TFTP server) and 67 (syslinux.efi). You must
> separate TFTP servers for your BIOS and UEFI clients because Microsoft DHCP
> server does not send option 210 (path prefix).  Microsoft DHCP servers will
> only send options listed in the Parameter Request List in the DHCPDISCOVER
> packet.
>
> One could make a cleaner setup by creating a BIOS PXEClient vendor class
> and putting their options within a policy too.

I haven't tried WS2012 yet but PXELINUX will parse DHCP option 43
(vendor-specific information) nicely and I have encapsulated 210
inside 43 successfully (can't recall if I tried WS2008R2 and/or
ISC-DHCPd but I did at least one).

The one oddball missing from your recipe is the UEFI x86 systems that
are not 64 bit.  They are rare but exist.

-- 
-Gene


More information about the Syslinux mailing list