X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/Ventoy.git/blobdiff_plain/a37c6af8d083a98e64bb6c30efccf60eb3f71a6d..cbbd57eee5980acc6879e119fe6b8913285f2af6:/INSTALL/grub/grub.cfg diff --git a/INSTALL/grub/grub.cfg b/INSTALL/grub/grub.cfg index 2a61314..3f44dad 100644 --- a/INSTALL/grub/grub.cfg +++ b/INSTALL/grub/grub.cfg @@ -50,6 +50,21 @@ function ventoy_acpi_param { fi } +function ventoy_vcfg_proc { + if vt_check_custom_boot "${1}" vt_vcfg; then + set vtoy_chosen_path="${1}" + vt_file_basefile "${vtoy_chosen_path}" vtoy_chosen_file + + export vtoy_chosen_path + export vtoy_chosen_file + ventoy_debug_pause + configfile "${vtoy_iso_part}${vt_vcfg}" + true + else + false + fi +} + function ventoy_power { configfile $prefix/power.cfg } @@ -653,6 +668,14 @@ function uefi_unix_menu_func { fi } +function ventoy_reset_nojoliet { + if vt_str_begin "$vt_volume_id" "ARCARESCUE"; then + vt_iso9660_nojoliet 1 + else + vt_iso9660_nojoliet 0 + fi +} + function uefi_iso_menu_func { if [ -d (loop)/ ]; then @@ -676,7 +699,7 @@ function uefi_iso_menu_func { set ventoy_fs_probe=udf else set ventoy_fs_probe=iso9660 - vt_iso9660_nojoliet 0 + ventoy_reset_nojoliet fi loopback loop "${1}${chosen_path}" @@ -865,7 +888,7 @@ function legacy_iso_menu_func { set ventoy_fs_probe=udf else set ventoy_fs_probe=iso9660 - vt_iso9660_nojoliet 0 + ventoy_reset_nojoliet fi loopback loop "${1}${chosen_path}" @@ -959,6 +982,7 @@ function ventoy_iso_busybox_ver { fi } + function iso_common_menuentry { unset vt_system_id unset vt_volume_id @@ -981,7 +1005,11 @@ function iso_common_menuentry { if vt_check_password "${vt_chosen_path}"; then return fi - + + if ventoy_vcfg_proc "${vt_chosen_path}"; then + return + fi + if vt_str_begin "$vt_volume_id" "Avira"; then vt_skip_svd "${vtoy_iso_part}${vt_chosen_path}" fi @@ -1051,6 +1079,10 @@ function wim_common_menuentry { return fi + if ventoy_vcfg_proc "${vt_chosen_path}"; then + return + fi + if vt_wim_check_bootable "${vtoy_iso_part}${vt_chosen_path}"; then vt_wim_chain_data "${vtoy_iso_part}${vt_chosen_path}" else @@ -1086,6 +1118,10 @@ function efi_common_menuentry { return fi + if ventoy_vcfg_proc "${vt_chosen_path}"; then + return + fi + vt_concat_efi_iso "${vtoy_iso_part}${vt_chosen_path}" vtoy_iso_buf ventoy_debug_pause @@ -1127,6 +1163,10 @@ function vhd_common_menuentry { return fi + if ventoy_vcfg_proc "${vt_chosen_path}"; then + return + fi + vt_patch_vhdboot "$vt_chosen_path" ventoy_debug_pause @@ -1192,7 +1232,9 @@ function vtoyboot_common_func { linux16 $vtoy_path/ipxe.krn ${vtdebug_flag} bios80 sector512 mem:${vtoy_chain_mem_addr}:size:${vtoy_chain_mem_size} boot else - vt_acpi_param ${vtoy_chain_mem_addr} 512 + if vt_check_secureboot_var; then + vt_acpi_param ${vtoy_chain_mem_addr} 512 + fi ventoy_cli_console chainloader ${vtoy_path}/ventoy_${VTOY_EFI_ARCH}.efi sector512 env_param=${ventoy_env_param} ${vtdebug_flag} mem:${vtoy_chain_mem_addr}:size:${vtoy_chain_mem_size} boot @@ -1215,6 +1257,10 @@ function vtoy_common_menuentry { return fi + if ventoy_vcfg_proc "${vt_chosen_path}"; then + return + fi + vtoyboot_common_func "${vtoy_iso_part}${vt_chosen_path}" } @@ -1418,6 +1464,10 @@ function img_common_menuentry { return fi + if ventoy_vcfg_proc "${vt_chosen_path}"; then + return + fi + if [ -d (vtimghd)/ ]; then loopback -d vtimghd fi @@ -1496,7 +1546,7 @@ function img_unsupport_menuentry { ############################################################# ############################################################# -set VENTOY_VERSION="1.0.33" +set VENTOY_VERSION="1.0.36" #ACPI not compatible with Window7/8, so disable by default set VTOY_PARAM_NO_ACPI=1