fi
}
+function ventoy_cli_console {
+ if [ "$grub_platform" = "pc" ]; then
+ #terminal_output vga_text
+ terminal_output console
+ else
+ if [ "$vtoy_display_mode" != "CLI" ]; then
+ terminal_output console
+ fi
+ fi
+}
+
+function ventoy_gui_console {
+ if [ "$grub_platform" = "pc" ]; then
+ if [ "$vtoy_display_mode" = "CLI" ]; then
+ terminal_output console
+ else
+ terminal_output gfxterm
+ fi
+ else
+ if [ "$vtoy_display_mode" != "CLI" ]; then
+ terminal_output gfxterm
+ fi
+ fi
+}
function ventoy_power {
configfile $prefix/power.cfg
vt_linux_specify_initrd_file /live/initrd.img
elif [ -f (loop)/initrd.img ]; then
vt_linux_specify_initrd_file /initrd.img
-
+ elif [ -f (loop)/sysresccd/boot/x86_64/sysresccd.img ]; then
+ vt_linux_specify_initrd_file /sysresccd/boot/x86_64/sysresccd.img
+ elif [ -f (loop)/CDlinux/initrd ]; then
+ vt_linux_specify_initrd_file /CDlinux/initrd
+ elif [ -f (loop)/parabola/boot/x86_64/parabolaiso.img ]; then
+ vt_linux_specify_initrd_file /parabola/boot/x86_64/parabolaiso.img
+ if [ -f (loop)/parabola/boot/i686/parabolaiso.img ]; then
+ vt_linux_specify_initrd_file /parabola/boot/i686/parabolaiso.img
+ fi
+ elif [ -f (loop)/EFI/BOOT/initrd.img ]; then
+ #Qubes
+ vt_linux_specify_initrd_file /EFI/BOOT/initrd.img
+ if [ "$grub_platform" != "pc" ]; then
+ vt_add_replace_file 0 "initrd.img"
+ fi
+ elif [ -f (loop)/initrd ]; then
+ vt_linux_specify_initrd_file /initrd
+ elif [ -f (loop)/live/initrd1 ]; then
+ vt_linux_specify_initrd_file /live/initrd1
+
fi
}
ventoy_debug_pause
if [ -n "$vtoy_chain_mem_addr" ]; then
- terminal_output console
+ ventoy_cli_console
chainloader ${vtoy_path}/ventoy_x64.efi env_param=${env_param} isoefi=${LoadIsoEfiDriver} ${vtdebug_flag} mem:${vtoy_chain_mem_addr}:size:${vtoy_chain_mem_size}
boot
else
elif [ -f (loop)/EFI/BOOT/initrd.gz ]; then
vt_add_replace_file $vtindex "EFI\\BOOT\\initrd.gz"
fi
+ elif [ -d (loop)/EFI/boot/entries ]; then
+ if [ -f (loop)/parabola/boot/x86_64/parabolaiso.img ]; then
+ vt_add_replace_file 0 "EFI\\parabolaiso\\parabolaiso.img"
+ fi
elif [ -e (loop)/syslinux/alt0/full.cz ]; then
vt_add_replace_file 0 "EFI\\BOOT\\full.cz"
set FirstTryBootFile='@EFI@BOOT@grubx64.efi'
vt_linux_chain_data ${1}${chosen_path}
if [ -n "$vtoy_chain_mem_addr" ]; then
- terminal_output console
+ ventoy_cli_console
chainloader ${vtoy_path}/ventoy_x64.efi env_param=${env_param} isoefi=${LoadIsoEfiDriver} FirstTry=${FirstTryBootFile} ${vtdebug_flag} mem:${vtoy_chain_mem_addr}:size:${vtoy_chain_mem_size}
boot
else
uefi_linux_menu_func $1 ${chosen_path}
fi
- terminal_output gfxterm
+ ventoy_gui_console
}
function uefi_iso_memdisk {
echo 'Loading ISO file to memory ...'
vt_load_iso_to_mem ${1}${chosen_path} vtoy_iso_buf
- terminal_output console
+ ventoy_cli_console
chainloader ${vtoy_path}/ventoy_x64.efi memdisk env_param=${env_param} isoefi=${LoadIsoEfiDriver} ${vtdebug_flag} mem:${vtoy_iso_buf_addr}:size:${vtoy_iso_buf_size}
boot
+
+ ventoy_gui_console
}
fi
}
-function iso_unsupport_menuentry {
+function common_unsupport_menuentry {
echo -e "\n The name of the iso file could NOT contain space or non-ascii characters. \n"
+ echo -e " 文件名中不能有中文或空格 \n"
echo -e "\n Will return to main menu after 10 seconds ...\n"
sleep 10
}
+function iso_unsupport_menuentry {
+ common_unsupport_menuentry
+}
function wim_common_menuentry {
vt_chosen_img_path chosen_path
if [ "$grub_platform" = "pc" ]; then
linux16 $vtoy_path/ipxe.krn ${vtdebug_flag} mem:${vtoy_chain_mem_addr}:size:${vtoy_chain_mem_size}
else
- terminal_output console
+ ventoy_cli_console
chainloader ${vtoy_path}/ventoy_x64.efi env_param=${env_param} isoefi=${LoadIsoEfiDriver} ${vtdebug_flag} mem:${vtoy_chain_mem_addr}:size:${vtoy_chain_mem_size}
+ ventoy_gui_console
fi
boot
else
}
function wim_unsupport_menuentry {
- echo -e "\n The name of the wim file could NOT contain space or non-ascii characters. \n"
- echo -e "\n Will return to main menu after 10 seconds ...\n"
- sleep 10
+ common_unsupport_menuentry
+}
+
+function efi_common_menuentry {
+ vt_chosen_img_path chosen_path
+
+ ventoy_cli_console
+ chainloader ${iso_path}${chosen_path}
+ boot
+ ventoy_gui_console
}
+function efi_unsupport_menuentry {
+ common_unsupport_menuentry
+}
+
+
+
#############################################################
#############################################################
#############################################################
#############################################################
#############################################################
-set VENTOY_VERSION="1.0.13"
+set VENTOY_VERSION="1.0.15"
# Default menu display mode, you can change it as you want.
# 0: List mode
# 1: TreeView mode
set VTOY_DEFAULT_MENU_MODE=0
-#disable timeout
-unset timeout
-
set VTOY_MEM_DISK_STR="[Memdisk]"
set VTOY_ISO_RAW_STR="Compatible Mode"
set VTOY_ISO_UEFI_DRV_STR="UEFI FS"
fi
done
loadfont ascii
+
+ if [ -f $iso_path/ventoy/ventoy.json ]; then
+ set vt_plugin_path=$iso_path
+ else
+ set vt_plugin_path=$prefix
+ vt_load_plugin $vt_plugin_path
+ fi
else
if [ "$prefix" = "(ventoydisk)/grub" ]; then
set vtoy_path=(ventoydisk)/ventoy
set iso_path=($vtoy_dev,1)
set vtoy_efi_part=($vtoy_dev,2)
loadfont unicode
+ set vt_plugin_path=$iso_path
fi
vt_load_plugin $iso_path
fi
+if [ -n "$VTOY_MENU_TIMEOUT" ]; then
+ set timeout=$VTOY_MENU_TIMEOUT
+else
+ unset timeout
+fi
+
if [ -f $iso_path/ventoy/ventoy_wimboot.img ]; then
vt_load_wimboot $iso_path/ventoy/ventoy_wimboot.img
elif [ -f $vtoy_efi_part/ventoy/ventoy_wimboot.img ]; then
set gfxmode=1920x1080,1366x768,1024x768
fi
-if [ -n "$vtoy_theme" ]; then
- set theme=$vtoy_theme
-else
- set theme=$prefix/themes/ventoy/theme.txt
-fi
-
if [ "$vtoy_display_mode" = "CLI" ]; then
terminal_output console
-else
+else
+ if [ -n "$vtoy_theme" ]; then
+ set theme=$vtoy_theme
+ else
+ set theme=$prefix/themes/ventoy/theme.txt
+ fi
terminal_output gfxterm
fi
-#vtdebug on
-
#colect all image files (iso files)
set ventoy_img_count=0
vt_list_img $iso_path ventoy_img_count