Project

General

Profile

Download (1.54 KB) Statistics
| Branch: | Tag: | Revision:
<%#
kind: snippet
name: pxegrub2_chainload
model: ProvisioningTemplate
snippet: true
%>
<%
paths = [
'/EFI/fedora/shim.efi',
'/EFI/fedora/grubx64.efi',
'/EFI/redhat/shim.efi',
'/EFI/redhat/grubx64.efi',
'/EFI/centos/shim.efi',
'/EFI/centos/grubx64.efi',
'/EFI/debian/grubx64.efi',
'/EFI/ubuntu/grubx64.efi',
'/EFI/sles/grubx64.efi',
'/EFI/opensuse/grubx64.efi',
'/EFI/Microsoft/boot/bootmgfw.efi'
]
-%>
insmod part_gpt
insmod fat
insmod chain

menuentry 'Chainload Grub2 EFI from ESP' --id local_chain_hd0 {
echo Chainloading Grub2 EFI from ESP, enabled devices for booting:
ls
<%
paths.each do |path|
-%>
echo "Trying <%= path %> "
unset chroot
search --file --no-floppy --set=chroot <%= path %>
if [ -f ($chroot)<%= path %> ]; then
chainloader ($chroot)<%= path %>
echo "Found <%= path %> at $chroot, attempting to chainboot it..."
sleep 2
boot
fi
<%
end
-%>
echo Partition with known EFI file not found, you may want to drop to grub shell
echo and investigate available files updating 'pxegrub2_chainload' template and
echo the list of known filepaths for probing. Contents of \EFI directory:
ls ($chroot)/EFI
echo The system will halt in 2 minutes or press ESC to halt immediately.
sleep -i 120
halt --no-apm
}

menuentry 'Chainload into BIOS bootloader on first disk' --id local_chain_legacy_hd0 {
set root=(hd0,0)
chainloader +1
boot
}

menuentry 'Chainload into BIOS bootloader on second disk' --id local_chain_legacy_hd1 {
set root=(hd1,0)
chainloader +1
boot
}
(27-27/38)