Unable to boot to disk after PXE Menu timeout
-
@george1421 I did run across that wiki at one point. I am relatively sure our DHCP server is Windows Server 2019 at this point. Our whole organization has been moving away from 2012 for over a year now.
Since we use both types of disks, the DHCP profile sounds like the best way to go.
Just for clarification and my own curiosity, will this issue happen in reverse if I use ipxe.efi and try to sanboot to an MBR OS disk? I intend to test this either way for my own learning (as well as undionly.kkpxe with an MBR disk. Also, what is the ‘Exit’ boot option for if not to just fall back to the next boot option in BIOS?
-
Hi there
we’ve experienced similar issues. We updated the BIOS to the latest stable version - do version-by-version to avoid bricking the machine. Then:
- disable secure boot
- make sure that the boot order is set to PXE first (for obvious reasons)
- set the boot mode to UEFI boot as the partition is set to EFI mode - as seen in the disk management screenshot (partition 1)
- perhaps try to move your efi partition to the end of the disk - download gparted and make it a bootable flash/thumb drive and you will be able to move the efi partition. you’d want to see your disk looking something like this (attached
boot see what happens?.. ps it of course goes without saying that you should backup your image/disk before playing around with the partitions…
-
@jmvela2x said in Unable to boot to disk after PXE Menu timeout:
Just for clarification and my own curiosity, will this issue happen in reverse if I use ipxe.efi and try to sanboot to an MBR OS disk?
The short answer here I don’t know, but I suspect it won’t work. My hesitation is that actually SANBOOT is a built in function of iPXE. Where iPXE will shell out to refind or grub exit mode functions. They are not built into iPXE but external applications. For UEFI with an exit mode of grub it will fail since grub is a bios based app. I wouldn’t think that SANBOOT called from uefi would boot into a bios formatted disk, but I simply don’t know.
I intend to test this either way for my own learning (as well as undionly.kkpxe with an MBR disk. Also, what is the ‘Exit’ boot option for if not to just fall back to the next boot option in BIOS?
I will check to see what EXIT actually does in the iPXE menu. I’m not sure what it calls, but I can find out once I get into the office.
-
I moved to a Legacy image and SANBOOT exit is working with undionly.kpxe (I had previously misremembered that we were using undionlykkpxe).
I am waiting for a change request to be processed for the subnet scoping so I can test with ipxe.efi. Making progress at least.
-
@jmvela2x Likewise reFIND is working with ipxe.efi and a UEFI Win10 image. Continuing testing is ongoing, but I think I may be unblocked for the moment. Thanks for the help with the sanity check @george1421.
-
@jmvela2x Great! I’m glad you have it sorted out. FOG does work as advertised as long as you follow the rules. If you run into issues with refind, finding the EFI boot partition there are a few tweaks we can do to the refind.conf file, but mostly the default values work correctly.
-
Now that I have a greater understanding I think I can pose the correct question.
Our target host need to be able to switch between BIOS and EFI based operating systems on a regular basis. I get the use case for dynamic DHCP profiles, but it seems to me that works best when each host is either EFI or BIOS based.
Let’s say for example I have an EFI version of Windows 10 on a system and reFIND is working great with ipxe.efi. After some time testing the owner of this system wants to test on Windows Server 2016, but BIOS based. Same host, different exit type.
Is there a way to make this work? I was hoping that EXIT would be the right method and would rely on falling back to the next boot device (see: exit PXE bootloader and carry on in normal boot process order).
-
@jmvela2x said in Unable to boot to disk after PXE Menu timeout:
Let’s say for example I have an EFI version of Windows 10 on a system and reFIND is working great with ipxe.efi. After some time testing the owner of this system wants to test on Windows Server 2016, but BIOS based. Same host, different exit type.
I think you are over thinking this. How you described is how FOG works. Each host definition as well as the global definitions have 2 fields where you can set the exit types. One is for bios and one is for uefi. So lets say you have the global exit modes set as BIOS: SANBOOT and UEFI: rEFInd.
You can boot the target computer in bios mode and install a bios OS on the target computer. Every time you boot through iPXE menu, FOG will send iPXE the correct exit command [SANBOOT] (note I’m using exit as a function not the Exit method). On that same host if you switch the firmware mode to uefi and load a UEFI based OS and boot through iPXE FOG will set the exit command to [rEFInd]. You do not have to touch fog in between changing the firmware modes. You might have to touch the web ui to change the image association between bios and uefi, but you don’t need to touch the iPXE exit mode FOG will do that for you. Now if you set the exit mode in the host definition then those settings will override the global settings. That way if you have a unique host where the global settings will not work, you can change the exit modes on a host by host basis.
-
@george1421 SANBOOT does nothing using the ipxe.efi bootloader and a BIOS based OS. It defaults me right back to the menu with no action taken. Also, as far as I can tell, the exit mode is based on which bootloader I am using. If I set the exit types to reFIND (EFI) and SANBOOT (BIOS) and use the ipxe.efi bootloader then it always attempts to use reFIND. This works if my OS is EFI based and boots as intended. If I am using a BIOS based OS, reFIND comes up and leaves me at its own menu. Likewise if I set the EFI exit type to SANBOOT in this same use case, the exit only serves to reset the default timer and bring me back to the main FOG menu at boot.
I was only able to successfully move to booting from the existing OS drive from the menu while using a BIOS based OS with undionly.kpxe or an EFI based OS with ipxe.efi. While that’s progress, it’s not really what I was hoping for.
-
@jmvela2x Well this thread has been going on for 5 days now and I’m not sure I’ve done a good job explaining how FOG works.
With DHCP Profiles setup with the same computer.
BIOS Computer -> BIOS PXE Boot -> undionly.kpxe will be sent to target computer -> the global value of FOG Settings value contained in [BOOT EXIT TYPE] will be used -> SANBOOT for its Exit mode
UEFI Computer -> UEFI PXE Boot -> ipxe.efi will be sent to target computer -> the global value of FOG Settings value contained in [EFI BOOT EXIT TYPE] will be used -> REFIND_EFI for its Exit mode
This process works 99.9% of the time. The oneoffs that you might find would be UEFI based computers with quirky firmware or hardware.