104 lines
2.7 KiB
Cheetah
104 lines
2.7 KiB
Cheetah
#!ipxe
|
|
|
|
# Detectar si se está ejecutando en modo UEFI o BIOS
|
|
iseq ${platform} efi && goto uefi_menu || goto bios_mbr
|
|
|
|
:bios_mbr
|
|
echo "Running in BIOS mode - Booting MBR"
|
|
chain tftp://__SERVERIP__/grub.exe --config-file="title MBR;chainloader (hd0)+1;rootnoverify (hd0);boot" || echo "Failed to boot MBR in BIOS mode"
|
|
exit
|
|
|
|
:uefi_menu
|
|
echo "Running in UEFI mode - Searching boot loaders"
|
|
|
|
set detected no
|
|
|
|
# Buscar y configurar opciones de arranque
|
|
echo "Searching Grub"
|
|
sanboot --no-describe --drive 0 --filename \EFI\grub\Boot\grubx64.efi && goto add_grub
|
|
|
|
:add_grub
|
|
set detected yes
|
|
echo "Grub found"
|
|
goto boot_grub
|
|
|
|
:boot_grub
|
|
echo "Booting Grub"
|
|
sanboot --no-describe --drive 0 --filename \EFI\grub\Boot\grubx64.efi || echo "Failed to boot Grub"
|
|
exit
|
|
|
|
:refind
|
|
echo "Searching rEFInd"
|
|
sanboot --no-describe --drive 0 --filename \EFI\refind\shimx64.efi.signed && goto add_refind
|
|
|
|
:add_refind
|
|
set detected yes
|
|
echo "rEFInd found"
|
|
goto boot_refind
|
|
|
|
:boot_refind
|
|
echo "Booting rEFInd"
|
|
sanboot --no-describe --drive 0 --filename \EFI\refind\shimx64.efi.signed || echo "Failed to boot rEFInd"
|
|
exit
|
|
|
|
:part_01_02
|
|
echo "Searching Part-01-02"
|
|
sanboot --no-describe --drive 0 --filename \EFI\Part-01-02\Boot\ogloader.efi && goto add_part_01_02
|
|
|
|
:add_part_01_02
|
|
set detected yes
|
|
echo "Part-01-02 found"
|
|
goto boot_part_01_02
|
|
|
|
:boot_part_01_02
|
|
echo "Booting Part-01-02"
|
|
sanboot --no-describe --drive 0 --filename \EFI\Part-01-02\Boot\ogloader.efi || echo "Failed to boot Part-01-02"
|
|
exit
|
|
|
|
:part_01_03
|
|
echo "Searching Part-01-03"
|
|
sanboot --no-describe --drive 0 --filename \EFI\Part-01-03\Boot\ogloader.efi && goto add_part_01_03
|
|
|
|
:add_part_01_03
|
|
set detected yes
|
|
echo "Part-01-03 found"
|
|
goto boot_part_01_03
|
|
|
|
:boot_part_01_03
|
|
echo "Booting Part-01-03"
|
|
sanboot --no-describe --drive 0 --filename \EFI\Part-01-03\Boot\ogloader.efi || echo "Failed to boot Part-01-03"
|
|
exit
|
|
|
|
:microsoft
|
|
echo "Searching Microsoft"
|
|
sanboot --no-describe --drive 0 --filename \EFI\Microsoft\Boot\bootmgfw.efi && goto add_microsoft
|
|
|
|
:add_microsoft
|
|
set detected yes
|
|
echo "Microsoft Boot Manager found"
|
|
goto boot_microsoft
|
|
|
|
:boot_microsoft
|
|
echo "Booting Microsoft Boot Manager"
|
|
sanboot --no-describe --drive 0 --filename \EFI\Microsoft\Boot\bootmgfw.efi || echo "Failed to boot Microsoft Boot Manager"
|
|
exit
|
|
|
|
:ubuntu
|
|
echo "Searching Ubuntu"
|
|
sanboot --no-describe --drive 0 --filename \EFI\ubuntu\grubx64.efi && goto add_ubuntu
|
|
|
|
:add_ubuntu
|
|
set detected yes
|
|
echo "Ubuntu found"
|
|
goto boot_ubuntu
|
|
|
|
:boot_ubuntu
|
|
echo "Booting Ubuntu"
|
|
sanboot --no-describe --drive 0 --filename \EFI\ubuntu\grubx64.efi || echo "Failed to boot Ubuntu"
|
|
exit
|
|
|
|
:no_os_detected
|
|
iseq ${detected} no && echo "OpenGnsys no ha detectado ningún sistema operativo en este equipo"
|
|
exit
|
|
|