X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/Ventoy.git/blobdiff_plain/34a36bfc3e1b39334a1a20bfbd1c49ed9fde8513..5b0fca84688ac0fa7fd34e45f7a9f9e10c551bee:/INSTALL/grub/grub.cfg diff --git a/INSTALL/grub/grub.cfg b/INSTALL/grub/grub.cfg index 950d38c..fe74ffa 100644 --- a/INSTALL/grub/grub.cfg +++ b/INSTALL/grub/grub.cfg @@ -65,10 +65,6 @@ function ventoy_vcfg_proc { fi } -function ventoy_power { - configfile $prefix/power.cfg -} - function ventoy_diagnosis { vt_enum_video_mode configfile $prefix/debug.cfg @@ -261,6 +257,10 @@ function distro_specify_initrd_file { vt_linux_specify_initrd_file /isolinux/initrd.gz fi + if vt_str_begin "$vt_volume_id" "QUBES"; then + vt_linux_specify_initrd_file /images/pxeboot/initrd.img + fi + if [ "$vt_chosen_size" = "1133375488" ]; then if [ -d (loop)/boot/grub/x86_64-efi ]; then vt_cpio_busybox64 "64h" @@ -362,6 +362,9 @@ function distro_specify_initrd_file_phase2 { vt_linux_specify_initrd_file /pyabr/boot/initrfs.img elif [ -f (loop)/initrd0.img ]; then vt_linux_specify_initrd_file /initrd0.img + elif [ -f (loop)/sysresccd/boot/i686/sysresccd.img ]; then + vt_linux_specify_initrd_file /sysresccd/boot/i686/sysresccd.img + fi } @@ -743,7 +746,16 @@ function uefi_linux_menu_func { ventoy_acpi_param ${vtoy_chain_mem_addr} 2048 ventoy_cli_console + unset vtGrub2Mode if vt_check_mode 3; then + set vtGrub2Mode=1 + elif vt_str_begin "$vt_volume_id" "KRD"; then + if [ -f (loop)/boot/grub/grub.cfg.sig ]; then + set vtGrub2Mode=1 + fi + fi + + if [ -n "$vtGrub2Mode" ]; then ventoy_debug_pause else if [ "$VTOY_EFI_ARCH" != "mips" ]; then @@ -1390,7 +1402,19 @@ function efi_common_menuentry { return fi - vt_concat_efi_iso "${vtoy_iso_part}${vt_chosen_path}" vtoy_iso_buf + unset vt_vlnk_dst + if vt_is_vlnk_name "${vt_chosen_path}"; then + vt_get_vlnk_dst "${vtoy_iso_part}${vt_chosen_path}" vt_vlnk_dst + if [ -z "$vt_vlnk_dst" ]; then + echo -e "\n### VLNK FILE NOT FOUND ###\n### VLNK 文件不存在 ###\n" + ventoy_pause + return + fi + else + vt_vlnk_dst="${vtoy_iso_part}${vt_chosen_path}" + fi + + vt_concat_efi_iso "${vt_vlnk_dst}" vtoy_iso_buf ventoy_debug_pause @@ -1402,7 +1426,7 @@ function efi_common_menuentry { if [ -n "$vtoy_dotefi_retry" ]; then unset vtoy_dotefi_retry - chainloader "${vtoy_iso_part}${vt_chosen_path}" + chainloader "${vt_vlnk_dst}" boot fi @@ -1438,17 +1462,6 @@ function vhdboot_common_func { } function vhd_common_menuentry { - - if [ "$VTOY_VHD_NO_WARNING" != "1" ]; then - if [ "$vtoy_iso_fs" != "ntfs" ]; then - echo -e "!!! WARNING !!!\n" - echo -e "\nPartition1 ($vtoy_iso_fs) is NOT ntfs, the VHD(x) file may not boot normally \n" - echo -e "\nVHD(x) 文件所在分区不是 ntfs 格式, 可能无法正常启动 \n\n" - echo -n "press ENTER to continue boot (请按 回车 键继续) ..." - read vtInputKey - fi - fi - vt_chosen_img_path vt_chosen_path vt_chosen_size if vt_check_password "${vt_chosen_path}"; then @@ -1459,7 +1472,28 @@ function vhd_common_menuentry { return fi - vhdboot_common_func "${vt_chosen_path}" + unset vt_vlnk_dst + if vt_is_vlnk_name "${vt_chosen_path}"; then + vt_get_vlnk_dst "${vtoy_iso_part}${vt_chosen_path}" vt_vlnk_dst + if [ -z "$vt_vlnk_dst" ]; then + echo -e "\n### VLNK FILE NOT FOUND ###\n### VLNK 文件不存在 ###\n" + ventoy_pause + return + fi + else + vt_vlnk_dst="${vt_chosen_path}" + if [ "$VTOY_VHD_NO_WARNING" != "1" ]; then + if [ "$vtoy_iso_fs" != "ntfs" ]; then + echo -e "!!! WARNING !!!\n" + echo -e "\nPartition1 ($vtoy_iso_fs) is NOT ntfs, the VHD(x) file may not boot normally \n" + echo -e "\nVHD(x) 文件所在分区不是 ntfs 格式, 可能无法正常启动 \n\n" + echo -n "press ENTER to continue boot (请按 回车 键继续) ..." + read vtInputKey + fi + fi + fi + + vhdboot_common_func "${vt_vlnk_dst}" } function vhd_unsupport_menuentry { @@ -1535,7 +1569,19 @@ function vtoy_common_menuentry { return fi - vtoyboot_common_func "${vtoy_iso_part}${vt_chosen_path}" + unset vt_vlnk_dst + if vt_is_vlnk_name "${vt_chosen_path}"; then + vt_get_vlnk_dst "${vtoy_iso_part}${vt_chosen_path}" vt_vlnk_dst + if [ -z "$vt_vlnk_dst" ]; then + echo -e "\n### VLNK FILE NOT FOUND ###\n### VLNK 文件不存在 ###\n" + ventoy_pause + return + fi + else + vt_vlnk_dst="${vtoy_iso_part}${vt_chosen_path}" + fi + + vtoyboot_common_func "${vt_vlnk_dst}" } function vtoy_unsupport_menuentry { @@ -2036,7 +2082,7 @@ function img_unsupport_menuentry { ############################################################# ############################################################# -set VENTOY_VERSION="1.0.65" +set VENTOY_VERSION="1.0.70" #ACPI not compatible with Window7/8, so disable by default set VTOY_PARAM_NO_ACPI=1 @@ -2052,7 +2098,7 @@ set VTOY_GRUB2_MODE_STR="GRUB2 Mode" set VTOY_WIMBOOT_MODE_STR="WIMBOOT Mode" set VTOY_ISO_UEFI_DRV_STR="UEFI FS" -set VTOY_F2_CMD="ventoy_power" +set VTOY_F2_CMD="vt_browser_disk" set VTOY_F4_CMD="ventoy_localboot" set VTOY_F5_CMD="ventoy_diagnosis" set VTOY_F6_CMD="ventoy_ext_menu" @@ -2150,12 +2196,13 @@ fi if [ $VTOY_DEFAULT_MENU_MODE -eq 0 ]; then set VTOY_F3_CMD="vt_dynamic_menu 1 1" - set VTOY_HOTKEY_TIP="h:Help F1:Memdisk F2:Power F3:TreeView F4:Localboot F5:Tools F6:ExMenu" + set VTOY_HOTKEY_TIP="h:Help F1:Memdisk F2:Browser F3:TreeView F4:Localboot F5:Tools F6:ExMenu" else set VTOY_F3_CMD="vt_dynamic_menu 1 0" - set VTOY_HOTKEY_TIP="h:Help F1:Memdisk F2:Power F3:ListView F4:Localboot F5:Tools F6:ExMenu" + set VTOY_HOTKEY_TIP="h:Help F1:Memdisk F2:Browser F3:ListView F4:Localboot F5:Tools F6:ExMenu" fi +terminal_output console if [ -n "$vtoy_gfxmode" ]; then set gfxmode=$vtoy_gfxmode @@ -2272,9 +2319,7 @@ if [ -n "$VTOY_DEFAULT_IMAGE" ]; then export timeout export default - if [ "$vtHotkey" = "F2" ]; then - ventoy_power - elif [ "$vtHotkey" = "F4" ]; then + if [ "$vtHotkey" = "F4" ]; then ventoy_localboot elif [ "$vtHotkey" = "F5" ]; then ventoy_diagnosis