Issues with one time PXE Boot on HP Workstations
-
Hi All,
We’ve completed the installation of Fog Server in our company and plan to use it as our image deployment solution for the 500 HP workstations we have across 5 different building sites (all networked together).
Currently in the testing phase, we’ve hit a snag whereby unfortunately we’ve found that HP do not offer a “one time PXE boot” solution like the one offered by Dell. Instead, with HP all you can do is use their BIOS Configuration Utility to modify the boot order within Windows10 CMD. Sadly, once changing the boot order to put NICs to the top of the list it stays that way until the next time you log into the OS so you can change it back. What a shame!
The issue we’re having is once the NICs go to the top of the list on our test workstation we find it always boots into the Fog server interface, never proceeding into Windows 10.
Is there a way to configure it so Fog only accepts DHCP UEFI requests if the mac address attempting to PXE boot has an active fog task associated with it? This would solve the problem we’re having with the HP workstations because we can then put all our machines to network boot by default, and watch them time out and proceed to Windows 10 as they are unable to perform handshake with Fog. If that makes sense?
Hope all is well in the community and thanks in advance for any replies.
-
@myles said in Issues with one time PXE Boot on HP Workstations:
Is there a way to configure it so Fog only accepts DHCP UEFI requests if the mac address attempting to PXE boot has an active fog task associated with it? This would solve the problem we’re having with the HP workstations because we can then put all our machines to network boot by default, and watch them time out and proceed to Windows 10 as they are unable to perform handshake with Fog. If that makes sense?
This is not possible because we have 2 different services that would need to coordinate. DHCP is a separate entity from pxe booting. They are connected but separate. The target computer can only tell if there is a waiting job when boot.php is run, by then the computer has already pxe booted.
The issue we’re having is once the NICs go to the top of the list on our test workstation we find it always boots into the Fog server interface, never proceeding into Windows 10.
I think we need to focus on this issue. What is suposed to happen is the computer should pxe boot into the FOG iPXE menu, if no menu is changed it should default to loading windows. If its a uefi based computer the FOG iPXE menu chain loads refind.efi by default and lets refind find the windows boot partition and boots windows. With these HPs what is happening?
-
Thanks for the quick reply @george1421
I’m going to do further tests to confirm if waiting long enough boots into windows. I believe this might be an issue for our clients though. They’re bound to complain about their reboots taking minutes instead of the usual 15 seconds. The time it takes for PXE boot to fail might be something we can get away with, but for them to watch an undesired PXE boot to happen will almost certainly trigger complaints, especially those clients who are up against it with deadlines and have rebooted because of a crash or some other issue already grating on them. I’ll need to do lots of tests and bring down the boot to windows time as low as possible.
Again, thanks in advance for your reply.
-
@myles - All that said, if we can do a start-up script so the boot order changes back to OS drive being at the top of list after a re-image then we might be in luck. Seems like we have a lot to think about here but might just be possible.
-
@myles said in Issues with one time PXE Boot on HP Workstations:
The time it takes for PXE boot to fail might be something we can get away with, but for them to watch an undesired PXE boot to happen will almost certainly trigger complaints,
This process of pxe boot into FOG and then fog menu timeout (default of 5 seconds) should take no longer than 15 seconds to start booting windows. If it taking minutes then something is wrong. As I mentioned I don’t have the client computer boot through the ipxe menu, but the IT tech select pxe boot when imaging is needed. This way the users computer boots normal 99% of the time, without delay.
Also I mentioned that changing the boot order isn’t what FOG does, but I also said a FOG Postinstall script is all you need. Changing the boot order is simply one line script. The (kind of) instructions for the uefi boot manager is here: https://www.linuxbabe.com/command-line/how-to-use-linux-efibootmgr-examples
If you want to do a little debugging using the efibootmgr program you can easily with FOG. Just schedule another capture deploy (doesn’t matter) but before you press the schedule task button, tick the debug checkbox. Now schedule the task. PXE boot the target computer. After several screens of text you need to clear with the enter key you will be dropped to the FOS Linux command prompt. From there look at/follow section 2 from the link I provided. That will give you an idea of what command parameters you need. Once you find the parameters you need to give you the boot order you desire then…
On the FOG server, in
/images/postdownloadscripts/
directory there is a file calledfog.postdownload
Just add that efibootmgr command to the end of that file. Save it and test to see if it gives you the desired results.Now you might need to make that call to the efibootmgr a bit more intelligent in that lets say you have two different sets of hardware that have different uefi boot orders. You might need to have different efibootmgr commands for different models or manufactures of computers. We can deal with that later if in general the basis work as you need.
Finally you will need to kill that debug task you scheduled at the beginning of this debugging because that job will stay active until imaging is complete in debug mode.