Commit d94d5958 authored by longpanda's avatar longpanda
Browse files

Search VTEFI directory for UEFI boot files.

When user install for example Windows in the reserved space of Ventoy USB stick in UEFI mode.
Windows will create part 3 as the EFI partition and when you boot the USB stick, the BIOS may skip Ventoy and directly boot the Windows.
To avoid this, we suggest to rename the directory name from EFI to VTEFI.
parent 05bbef63
...@@ -81,6 +81,11 @@ else ...@@ -81,6 +81,11 @@ else
terminal_output console terminal_output console
chainloader /efi/Microsoft/Boot/bootmgfw.efi chainloader /efi/Microsoft/Boot/bootmgfw.efi
boot boot
elif [ -f ($vtoydev,$partid)/VTEFI/Microsoft/Boot/bootmgfw.efi ]; then
set root=($vtoydev,$partid)
terminal_output console
chainloader /VTEFI/Microsoft/Boot/bootmgfw.efi
boot
fi fi
else else
break break
...@@ -109,6 +114,11 @@ else ...@@ -109,6 +114,11 @@ else
terminal_output console terminal_output console
chainloader /efi/boot/bootia32.efi chainloader /efi/boot/bootia32.efi
boot boot
elif search -n -s -f /vtefi/boot/bootia32.efi; then
unset VTOY_SEARCH_NO_VTOYEFI
terminal_output console
chainloader /vtefi/boot/bootia32.efi
boot
else else
unset VTOY_SEARCH_NO_VTOYEFI unset VTOY_SEARCH_NO_VTOYEFI
echo "BOOTIA32.EFI NOT found ..." echo "BOOTIA32.EFI NOT found ..."
...@@ -126,6 +136,15 @@ else ...@@ -126,6 +136,15 @@ else
chainloader /efi/xorboot/xorboot.efi chainloader /efi/xorboot/xorboot.efi
fi fi
boot boot
elif search -n -s -f /vtefi/xorboot/xorboot32.xor; then
unset VTOY_SEARCH_NO_VTOYEFI
terminal_output console
if [ -f /vtefi/xorboot/bootia32.efi ]; then
chainloader /vtefi/xorboot/bootia32.efi
elif [ -f /vtefi/xorboot/xorboot.efi ]; then
chainloader /vtefi/xorboot/xorboot.efi
fi
boot
else else
unset VTOY_SEARCH_NO_VTOYEFI unset VTOY_SEARCH_NO_VTOYEFI
echo "xorboot NOT found ..." echo "xorboot NOT found ..."
...@@ -139,6 +158,12 @@ else ...@@ -139,6 +158,12 @@ else
terminal_output console terminal_output console
chainloader /efi/boot/bootaa64.efi chainloader /efi/boot/bootaa64.efi
boot boot
elif search -n -s -f /vtefi/boot/bootaa64.efi; then
unset VTOY_SEARCH_NO_VTOYEFI
terminal_output console
chainloader /vtefi/boot/bootaa64.efi
boot
else
else else
unset VTOY_SEARCH_NO_VTOYEFI unset VTOY_SEARCH_NO_VTOYEFI
echo "BOOTAA64.EFI NOT found ..." echo "BOOTAA64.EFI NOT found ..."
...@@ -152,6 +177,11 @@ else ...@@ -152,6 +177,11 @@ else
terminal_output console terminal_output console
chainloader /efi/boot/bootx64.efi chainloader /efi/boot/bootx64.efi
boot boot
elif search -n -s -f /vtefi/boot/bootx64.efi; then
unset VTOY_SEARCH_NO_VTOYEFI
terminal_output console
chainloader /vtefi/boot/bootx64.efi
boot
else else
unset VTOY_SEARCH_NO_VTOYEFI unset VTOY_SEARCH_NO_VTOYEFI
echo "BOOTX64.EFI NOT found ..." echo "BOOTX64.EFI NOT found ..."
...@@ -169,6 +199,15 @@ else ...@@ -169,6 +199,15 @@ else
chainloader /efi/xorboot/xorboot.efi chainloader /efi/xorboot/xorboot.efi
fi fi
boot boot
elif search -n -s -f /vtefi/xorboot/xorboot.xor; then
unset VTOY_SEARCH_NO_VTOYEFI
terminal_output console
if [ -f /vtefi/xorboot/bootx64.efi ]; then
chainloader /vtefi/xorboot/bootx64.efi
elif [ -f /vtefi/xorboot/xorboot.efi ]; then
chainloader /vtefi/xorboot/xorboot.efi
fi
boot
else else
unset VTOY_SEARCH_NO_VTOYEFI unset VTOY_SEARCH_NO_VTOYEFI
echo "xorboot NOT found ..." echo "xorboot NOT found ..."
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment