From 75517039a1ec3483591bac63a2787d272b171fae Mon Sep 17 00:00:00 2001 From: longpanda Date: Wed, 20 Apr 2022 12:19:47 +0800 Subject: [PATCH] Firstly try to use chainload to boot .efi files. --- INSTALL/grub/grub.cfg | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/INSTALL/grub/grub.cfg b/INSTALL/grub/grub.cfg index 9857b6bc..c44ff105 100644 --- a/INSTALL/grub/grub.cfg +++ b/INSTALL/grub/grub.cfg @@ -113,7 +113,7 @@ function get_os_type { for file in "efi/microsoft/boot/bcd" "sources/boot.wim" "boot/bcd" "bootmgr.efi" "boot/etfsboot.com" ; do if vt_file_exist_nocase (loop)/$file; then - set vtoy_os=Windows + set vtoy_os=Windows break fi done @@ -1445,22 +1445,22 @@ function efi_common_menuentry { vt_vlnk_dst="${vtoy_iso_part}${vt_chosen_path}" fi - vt_concat_efi_iso "${vt_vlnk_dst}" vtoy_iso_buf - ventoy_debug_pause - - ventoy_cli_console - unset vtoy_dotefi_retry - chainloader ${vtoy_path}/ventoy_${VTOY_EFI_ARCH}.efi memdisk env_param=${env_param} dotefi isoefi=on ${vtdebug_flag} mem:${vtoy_iso_buf_addr}:size:${vtoy_iso_buf_size} + ventoy_cli_console + + #first try with chainload + set vtOldRoot=$root + set root=$vtoy_iso_part + chainloader "${vt_vlnk_dst}" boot - - if [ -n "$vtoy_dotefi_retry" ]; then - unset vtoy_dotefi_retry - chainloader "${vt_vlnk_dst}" - boot - fi - + + #retry with isoboot + set root=$vtOldRoot + vt_concat_efi_iso "${vt_vlnk_dst}" vtoy_iso_buf + chainloader ${vtoy_path}/ventoy_${VTOY_EFI_ARCH}.efi memdisk env_param=${env_param} dotefi isoefi=on ${vtdebug_flag} mem:${vtoy_iso_buf_addr}:size:${vtoy_iso_buf_size} + boot + ventoy_gui_console }