2020-06-14 17:41:33 +00:00
|
|
|
|
|
|
|
if [ "$grub_platform" = "pc" ]; then
|
2021-04-27 10:22:10 +00:00
|
|
|
menuentry 'Search and boot Windows' --class=boot_windows --class=F4boot {
|
2020-09-12 14:31:21 +00:00
|
|
|
|
|
|
|
set partid=3
|
|
|
|
while [ $partid -le 128 ]; do
|
|
|
|
if vt_check_part_exist $partid; then
|
|
|
|
for bt in bootmgr BOOTMGR Bootmgr BootMGR; do
|
|
|
|
if [ -f ($vtoydev,$partid)/$bt ]; then
|
|
|
|
set root=($vtoydev,$partid)
|
|
|
|
ntldr /$bt
|
|
|
|
boot
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
else
|
|
|
|
break
|
|
|
|
fi
|
|
|
|
vt_incr partid 1
|
|
|
|
done
|
|
|
|
|
|
|
|
if search -n -s -f /Boot/BCD; then
|
|
|
|
for bt in bootmgr BOOTMGR Bootmgr BootMGR; do
|
|
|
|
if [ -f /$bt ]; then
|
2020-10-31 11:06:30 +00:00
|
|
|
if regexp '^hd0' $root; then
|
|
|
|
ntldr /$bt
|
|
|
|
else
|
|
|
|
drivemap -s hd0 $root
|
|
|
|
ntldr /$bt
|
|
|
|
fi
|
2020-09-12 14:31:21 +00:00
|
|
|
break
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
elif search -n -s -f /NTDETECT.COM; then
|
|
|
|
drivemap -s hd0 $root
|
|
|
|
ntldr /ntldr
|
2020-06-14 17:41:33 +00:00
|
|
|
else
|
|
|
|
echo "Windows NOT found ..."
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
2021-04-27 10:22:10 +00:00
|
|
|
menuentry 'Search and boot Grub4dos' --class=boot_g4d --class=F4boot {
|
2020-06-25 15:01:48 +00:00
|
|
|
if search -n -s -f /grldr; then
|
|
|
|
ntldr /grldr
|
|
|
|
else
|
|
|
|
echo "Grub4dos NOT found ..."
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
2021-04-27 10:22:10 +00:00
|
|
|
menuentry 'Boot the 1st local disk' --class=boot_disk --class=F4boot {
|
2020-06-14 17:41:33 +00:00
|
|
|
set root=(hd0,1)
|
|
|
|
chainloader +1
|
|
|
|
boot
|
|
|
|
}
|
|
|
|
|
2021-04-27 10:22:10 +00:00
|
|
|
menuentry 'Boot the 2nd local disk' --class=boot_disk --class=F4boot {
|
2020-06-14 17:41:33 +00:00
|
|
|
set root=(hd1,1)
|
|
|
|
chainloader +1
|
|
|
|
boot
|
|
|
|
}
|
|
|
|
|
2021-04-27 10:22:10 +00:00
|
|
|
menuentry 'Boot the 3rd local disk' --class=boot_disk --class=F4boot {
|
2020-06-14 17:41:33 +00:00
|
|
|
set root=(hd2,1)
|
|
|
|
chainloader +1
|
|
|
|
boot
|
|
|
|
}
|
|
|
|
|
|
|
|
else
|
|
|
|
|
2021-04-27 10:22:10 +00:00
|
|
|
menuentry 'Search and boot Windows' --class=boot_windows --class=F4boot {
|
2020-09-12 14:31:21 +00:00
|
|
|
|
|
|
|
set partid=3
|
|
|
|
while [ $partid -le 128 ]; do
|
|
|
|
if vt_check_part_exist $partid; then
|
|
|
|
if [ -f ($vtoydev,$partid)/EFI/Microsoft/Boot/bootmgfw.efi ]; then
|
|
|
|
set root=($vtoydev,$partid)
|
|
|
|
terminal_output console
|
|
|
|
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
|
|
|
|
boot
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
break
|
|
|
|
fi
|
|
|
|
vt_incr partid 1
|
|
|
|
done
|
|
|
|
|
2020-06-14 17:41:33 +00:00
|
|
|
if search -n -s -f /EFI/Microsoft/Boot/bootmgfw.efi; then
|
|
|
|
terminal_output console
|
|
|
|
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
|
|
|
|
boot
|
|
|
|
else
|
|
|
|
echo "Windows NOT found ..."
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
2020-12-11 23:56:52 +00:00
|
|
|
if [ "$grub_cpu" = "i386" ]; then
|
2021-04-27 10:22:10 +00:00
|
|
|
menuentry 'Search and boot BOOTIA32.EFI' --class=boot_uefi --class=F4boot {
|
2020-12-11 23:56:52 +00:00
|
|
|
set VTOY_SEARCH_NO_VTOYEFI=1
|
|
|
|
if search -n -s -f /efi/boot/bootia32.efi; then
|
|
|
|
unset VTOY_SEARCH_NO_VTOYEFI
|
|
|
|
terminal_output console
|
|
|
|
chainloader /efi/boot/bootia32.efi
|
|
|
|
boot
|
|
|
|
else
|
|
|
|
unset VTOY_SEARCH_NO_VTOYEFI
|
|
|
|
echo "BOOTIA32.EFI NOT found ..."
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
elif [ "$grub_cpu" = "arm64" ]; then
|
2021-04-27 10:22:10 +00:00
|
|
|
menuentry 'Search and boot BOOTAA64.EFI' --class=boot_uefi --class=F4boot {
|
2020-12-11 23:56:52 +00:00
|
|
|
set VTOY_SEARCH_NO_VTOYEFI=1
|
|
|
|
if search -n -s -f /efi/boot/bootaa64.efi; then
|
|
|
|
unset VTOY_SEARCH_NO_VTOYEFI
|
|
|
|
terminal_output console
|
|
|
|
chainloader /efi/boot/bootaa64.efi
|
|
|
|
boot
|
|
|
|
else
|
|
|
|
unset VTOY_SEARCH_NO_VTOYEFI
|
|
|
|
echo "BOOTAA64.EFI NOT found ..."
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
else
|
2021-04-27 10:22:10 +00:00
|
|
|
menuentry 'Search and boot BOOTX64.EFI' --class=boot_uefi --class=F4boot {
|
2020-12-11 23:56:52 +00:00
|
|
|
set VTOY_SEARCH_NO_VTOYEFI=1
|
|
|
|
if search -n -s -f /efi/boot/bootx64.efi; then
|
|
|
|
unset VTOY_SEARCH_NO_VTOYEFI
|
|
|
|
terminal_output console
|
|
|
|
chainloader /efi/boot/bootx64.efi
|
|
|
|
boot
|
|
|
|
else
|
|
|
|
unset VTOY_SEARCH_NO_VTOYEFI
|
|
|
|
echo "BOOTX64.EFI NOT found ..."
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
2020-06-14 17:41:33 +00:00
|
|
|
|
|
|
|
fi
|
|
|
|
|
2020-07-22 15:30:01 +00:00
|
|
|
menuentry 'Return to previous menu [Esc]' --class=vtoyret VTOY_RET {
|
2020-06-14 17:41:33 +00:00
|
|
|
echo 'Return ...'
|
|
|
|
}
|