X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/Ventoy.git/blobdiff_plain/a6d3ecc7a9b01e6cd7a08bb03ca72a88f928df8d..c0d478c2ddbdac0e64a639995e40ca840a781dbb:/INSTALL/grub/localboot.cfg diff --git a/INSTALL/grub/localboot.cfg b/INSTALL/grub/localboot.cfg index d841587..ff83416 100644 --- a/INSTALL/grub/localboot.cfg +++ b/INSTALL/grub/localboot.cfg @@ -1,10 +1,33 @@ if [ "$grub_platform" = "pc" ]; then - menuentry 'Search and boot Windows' --class=boot_windows { - if search -n -s -f /bootmgr; then - ntldr /bootmgr - elif search -n -s -f /NTLDR; then - ntldr /NTLDR + menuentry 'Search and boot Windows' --class=boot_windows { + + 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 + ntldr /$bt + break + fi + done + elif search -n -s -f /NTDETECT.COM; then + drivemap -s hd0 $root + ntldr /ntldr else echo "Windows NOT found ..." fi @@ -39,6 +62,22 @@ if [ "$grub_platform" = "pc" ]; then else menuentry 'Search and boot Windows' --class=boot_windows { + + 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 + if search -n -s -f /EFI/Microsoft/Boot/bootmgfw.efi; then terminal_output console chainloader /EFI/Microsoft/Boot/bootmgfw.efi @@ -60,6 +99,6 @@ else fi -menuentry 'Return to menu [Esc]' --class=vtoyret VTOY_RET { +menuentry 'Return to previous menu [Esc]' --class=vtoyret VTOY_RET { echo 'Return ...' }