X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/Ventoy.git/blobdiff_plain/5b0fca84688ac0fa7fd34e45f7a9f9e10c551bee..f7fac26c91a2efbb77b243ffd20e89e992ea1f71:/INSTALL/grub/grub.cfg?ds=sidebyside diff --git a/INSTALL/grub/grub.cfg b/INSTALL/grub/grub.cfg index fe74ffa..feb8b2a 100644 --- a/INSTALL/grub/grub.cfg +++ b/INSTALL/grub/grub.cfg @@ -1303,14 +1303,32 @@ function iso_common_menuentry { set vtcompat=1 fi + + # auto memdisk mode for some special ISO files + vt_iso_vd_id_parse "${vtoy_iso_part}${vt_chosen_path}" + unset vtMemDiskBoot + if vt_check_mode 0; then + set vtMemDiskBoot=1 + else + if [ "$grub_platform" = "pc" ]; then + if vt_iso_vd_id_begin 1 0 "Memtest86+"; then + set vtMemDiskBoot=1 + elif vt_iso_vd_id_begin 0 1 "KolibriOS"; then + set vtMemDiskBoot=1 + fi + fi + fi + vt_iso_vd_id_clear + + if [ "$grub_platform" = "pc" ]; then - if vt_check_mode 0; then + if [ -n "$vtMemDiskBoot" ]; then legacy_iso_memdisk $vtoy_iso_part "$vt_chosen_path" else legacy_iso_menu_func $vtoy_iso_part "$vt_chosen_path" fi else - if vt_check_mode 0; then + if [ -n "$vtMemDiskBoot" ]; then uefi_iso_memdisk $vtoy_iso_part "$vt_chosen_path" else uefi_iso_menu_func $vtoy_iso_part "$vt_chosen_path" @@ -2305,6 +2323,32 @@ export VTOY_HELP_TXT_LANGUAGE export VTOY_CHKSUM_FILE_PATH +#colect all image files (iso files) +set ventoy_img_count=0 +vt_list_img $vtoy_iso_part ventoy_img_count + +#Main menu +if [ $ventoy_img_count -gt 0 ]; then + if [ $VTOY_DEFAULT_MENU_MODE -eq 0 ]; then + vt_dynamic_menu 0 0 + else + vt_dynamic_menu 0 1 + fi +else + if [ -n "$VTOY_NO_ISO_TIP" ]; then + NO_ISO_MENU="No ISO files found, $VTOY_NO_ISO_TIP" + elif [ -n "$VTOY_DEFAULT_SEARCH_ROOT" ]; then + NO_ISO_MENU="No ISO files found, please check VTOY_DEFAULT_SEARCH_ROOT" + else + NO_ISO_MENU="No ISO files found" + fi + menuentry "$NO_ISO_MENU (Press enter to reboot ...)" { + echo -e "\n Rebooting ... " + reboot + } +fi + + #special VTOY_DEFAULT_IMAGE process if [ -n "$VTOY_DEFAULT_IMAGE" ]; then if regexp --set 1:vtHotkey --set 2:vtDefault "(F[2-9])>(.*)" "$VTOY_DEFAULT_IMAGE"; then @@ -2318,8 +2362,11 @@ if [ -n "$VTOY_DEFAULT_IMAGE" ]; then export timeout export default - - if [ "$vtHotkey" = "F4" ]; then + + if [ "$vtHotkey" = "F2" ]; then + unset timeout + vt_browser_disk + elif [ "$vtHotkey" = "F4" ]; then ventoy_localboot elif [ "$vtHotkey" = "F5" ]; then ventoy_diagnosis @@ -2332,27 +2379,3 @@ if [ -n "$VTOY_DEFAULT_IMAGE" ]; then fi fi -#colect all image files (iso files) -set ventoy_img_count=0 -vt_list_img $vtoy_iso_part ventoy_img_count - -#Main menu -if [ $ventoy_img_count -gt 0 ]; then - if [ $VTOY_DEFAULT_MENU_MODE -eq 0 ]; then - vt_dynamic_menu 0 0 - else - vt_dynamic_menu 0 1 - fi -else - if [ -n "$VTOY_NO_ISO_TIP" ]; then - NO_ISO_MENU="No ISO files found, $VTOY_NO_ISO_TIP" - elif [ -n "$VTOY_DEFAULT_SEARCH_ROOT" ]; then - NO_ISO_MENU="No ISO files found, please check VTOY_DEFAULT_SEARCH_ROOT" - else - NO_ISO_MENU="No ISO files found" - fi - menuentry "$NO_ISO_MENU (Press enter to reboot ...)" { - echo -e "\n Rebooting ... " - reboot - } -fi