Firstly try to use chainload to boot .efi files.

pull/1589/head
longpanda 2 years ago
parent 620229508b
commit 75517039a1

@ -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
}

Loading…
Cancel
Save