SOLVED Cannot boot local from my Advanced PXE Menu (EXIT Type differences?)

  • Server
    • FOG Version: RC9 (49)


    since some weeks or maybe months i cannot boot local from my pxe advanced menu anymore.
    When i hit “Festplatte booten” the clients stick in the Advanced Menu (just screen flashes) it’s like i reentering the same menu again.

    Below the lines i use in my menu (it’s shortened):

    item --gap -- Company - PXE Boot Menu - JOS IT
    item --gap --
    item bootlocal Festplatte booten
    item --gap --
    item return <---
    choose --default bootlocal --timeout 60000 target && goto ${target}
    sanboot --no-describe --drive 0x80 || goto MENU

    I already tried exit instead if sanboot but it’s not working.
    Any idea?

    Something else, what about the different exit types, are there more informations about them?

    Bild Text

    Why is there a difference between the exit types of legacy and efi?

    Regards X23

  • Moderator

    @x23piracy Because there is a difference.

    Typically for bios (legacy) mode the exit mode is SANBOOT (that is the way iPXE attempts to location the hard drive). For uefi system the best exit mode is rEFInd, which is an external program that is used to find the boot drives. You may be able to tweak the refind.conf file to look for legacy stuff but I haven’t tried it.

    There is something I just discovered the other day while I was hacking FOG’s boot menus. That is the platform variable. ref: you can use that in your boot local section to test to see if the platform is efi or pc-bios and then select the best exit mode there.

    such as in: (warning I just glued this code together there is no testing done)

    iseq ${platform} efi && goto boot-efi || goto boot-bios
    goto MENU
    <don't know the syntax for refind> || goto MENU
    sanboot --no-describe --drive 0x80 || goto MENU

  • I don’t know what’s up with your advanced menu, but maybe it needs the “:return” lines added? Something like:

    (Sorry I forget the exact method)

    chain -ar http://${fog-ip}${booturl}/management/index.php

    There are two exit types because exiting back to disk is different from Legacy/CSM and UEFI. With Legacy/CSM your HDD requires an MBR. The BIOS will look for the MBR and find the boot partition marked active. It will then boot using that partition. In UEFI, booting is not handled by MBR/Find where its booting. It’s handled, often times, in NVRAM on the BIOS. It looks there for the boot file required to start. There is an EFI partition that can also tell the machine how to boot, but there is no “marked active boot” in the UEFI world. So efi exit in some/most cases will be different from legacy boot.