#************************************************************************************
function ventoy_power {
- echo '<1> Reboot'
- echo '<2> Halt'
- echo '<0> Return to menu'
- echo -e '\nPlease enter your choice:'
-
- unset vtOpt
- read vtOpt
-
- if [ "$vtOpt" = "1" ]; then
- echo -e '\n\nSystem is rebooting ... \n'
- sleep 1
- reboot
- elif [ "$vtOpt" = "2" ]; then
- echo -e '\n\nSystem is halting ... \n'
- sleep 1
- halt
- fi
+ configfile ${vtoy_path}/grub/power.cfg
}
function get_os_type {
fi
vt_chosen_img_path chosen_path
+ vt_select_auto_install ${chosen_path}
+ vt_select_persistence ${chosen_path}
if vt_is_udf ${1}${chosen_path}; then
set ventoy_fs_probe=udf
fi
vt_chosen_img_path chosen_path
+ vt_select_auto_install ${chosen_path}
+ vt_select_persistence ${chosen_path}
if vt_is_udf ${1}${chosen_path}; then
set ventoy_fs_probe=udf
boot
}
-function common_menuentry {
+function iso_common_menuentry {
if [ "$grub_platform" = "pc" ]; then
if vt_check_mode 0; then
legacy_iso_memdisk $iso_path
fi
}
+function iso_unsupport_menuentry {
+ echo -e "\n The name of the iso file could NOT contain space or non-ascii characters. \n"
+ echo -e "\n Will return to main menu after 10 seconds ...\n"
+ sleep 10
+}
+
+
+function wim_common_menuentry {
+ vt_chosen_img_path chosen_path
+ vt_wim_chain_data ${iso_path}${chosen_path}
+ if [ -n "${vtdebug_flag}" ]; then
+ sleep 5
+ fi
+
+ if [ -n "$vtoy_chain_mem_addr" ]; then
+ 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
+ chainloader ${vtoy_path}/ventoy_x64.efi env_param=${env_param} isoefi=${LoadIsoEfiDriver} ${vtdebug_flag} mem:${vtoy_chain_mem_addr}:size:${vtoy_chain_mem_size}
+ fi
+ boot
+ else
+ echo "chain empty failed"
+ sleep 5
+ fi
+}
+
+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
+}
#############################################################
#############################################################
#############################################################
#############################################################
-set VENTOY_VERSION="1.0.11"
+set VENTOY_VERSION="1.0.12"
# Default menu display mode, you can change it as you want.
# 0: List mode
#disable timeout
unset timeout
-set VTOY_MEM_DISK_STR="MEMDISK"
+set VTOY_MEM_DISK_STR="[Memdisk]"
set VTOY_ISO_RAW_STR="ISO RAW"
set VTOY_ISO_UEFI_DRV_STR="UEFI FS"
for vtid in 0 1 2 3; do
if [ -d (hd$vtid,2)/ventoy ]; then
set iso_path=(hd$vtid,1)
+ set vtoy_efi_part=(hd$vtid,2)
break
fi
done
else
set vtoy_path=($root)/ventoy
set iso_path=($vtoy_dev,1)
+ set vtoy_efi_part=($vtoy_dev,2)
fi
loadfont ascii
vt_load_plugin $iso_path
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
+ vt_load_wimboot $vtoy_efi_part/ventoy/ventoy_wimboot.img
+fi
+
if [ $VTOY_DEFAULT_MENU_MODE -eq 0 ]; then
set VTOY_F3_CMD="vt_dynamic_menu 1 1"
vt_dynamic_menu 0 1
fi
else
- menuentry "No ISO files found (Press enter to reboot ...)" {
+ 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
}