Set Option 3 on Window 2008 R2 for BIOS and UEFI Co-Existence
We would like to set the DHCP server to handle booting from legacy and UEFI. But we are on an environment where we have to work on Window 2008 R2. According to the documentation, https://wiki.fogproject.org/wiki/index.php/BIOS_and_UEFI_Co-Existence#Option_003_steps_here, Window 2008 use the option 3. Is not clear how to set it up. Do we just add the router ip address onto option 3? How does the DHCP know if the device needs UEFI or legacy boot file?
fog version 5293
@Wayne-Workman Thanks for the help, ill let you know after the update.
0_1447707617587_Server 2008 DHCP BIOS and UEFI Co-existence.zip
@Charlee593 Interesting. What I do know is - when you get the Vendor Class configured correctly, the client should ask for ipxe.efi instead of undionly.kpxe. Somehow it’s not applied correctly.
@Wayne-Workman Thanks for the help. The highlighted section below are the class options, by default it chooses the User Class. If User class is chosen then it will display ‘None’. I try creating a user class with value ‘PXEClient:Arch:00009’ but it gave me a error saying that the value has already define. What else can I try?
@Charlee593 Yes, that is the Option 060 I was talking about.
So this particular client is identifying as
You don’t have to have the rest of what it identifies as.
Far below, in this post:
I’ve noticed that there is no “Class” set for your UEFI Option settings. My DHCP Server settings in Server 2012 R1 do not look like this. Here is a screenshot from my server:
I am not sure how it’s SUPPOSED to look like in Server 2008… But I’m trying to help.
@Wayne-Workman Is the packet highlighted below the option 60 you mentions? It looks like it still requesting ‘undionly.kpxe’.
This how the vendor class is defined.
@need2 if for no other reason, let’s get it working just to provide documentation on the process in server 2008.
This is tempting me… but I must stick to my guns on migrating away from our 2008R2 servers. Still, I am interested in this too. For science.
@Charlee593 So, you can use Wireshark to see what the device identifies as in it’s DHCP request.
In wireshark, you can look for the booted device’s DHCP request, drill down in that packet to Option 60. That’s the vendor identifier string from the host.
If it isn’t identifying as a UEFI device, then your policy won’t apply because… it’s not booting as a UEFI device.
You have to have a UEFI device in order for your DHCP policy to apply to it.
Again, I’m very willing to help out with this. Just contact me via in-forum chat.
I want to help you get this working - probably at least equally as much as you want to get it working.
@Wayne-Workman This the value of the ‘PXEClient (UEFI x64)’ vendor class. I also tried ‘PXEClient:Arch:00008’, ‘PXEClient:Arch:00009’, ‘PXEClient:Arch:00006’, it only boot to bios.
@Charlee593 You have to set the filtering up for the vendor class identifier. The youtube video below shows this. But you’d use the string from our article, not the stuff that guy types in.
I’d be more than happy to assist with this in about 2 hours when I’m home.
@Wayne-Workman I set up a new vender class call ‘PXEClient (UEFI x64)’ and then set the option 66 of ‘PXEClient (UEFI x64)’ class to my fog server ip address (10.10.1.3) and option 67 of ‘PXEClient (UEFI x64)’ class to ‘ipxe.efi’. But it still only able to load BIOS and not UEFI.
Check this out, let us know what you figure out. I’d really enjoy helping with this should you need it. Either way, the number one best way that you could contribute to the fog project in this particular instance is giving thorough documentation of your steps for all to benefit from.
Following the YouTube video’s example, You’d use the same values from the steps in the Server 2012 section, the process looks a lot alike.