From: longpanda Date: Wed, 20 Apr 2022 04:19:47 +0000 (+0800) Subject: Firstly try to use chainload to boot .efi files. X-Git-Tag: v1.0.74~11 X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/Ventoy.git/commitdiff_plain/75517039a1ec3483591bac63a2787d272b171fae?ds=sidebyside Firstly try to use chainload to boot .efi files. --- diff --git a/INSTALL/grub/grub.cfg b/INSTALL/grub/grub.cfg index 9857b6b..c44ff10 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 + + #first try with chainload + set vtOldRoot=$root + set root=$vtoy_iso_part + chainloader "${vt_vlnk_dst}" + boot - unset vtoy_dotefi_retry + #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 - - if [ -n "$vtoy_dotefi_retry" ]; then - unset vtoy_dotefi_retry - chainloader "${vt_vlnk_dst}" - boot - fi - + boot + ventoy_gui_console }