+function iso_common_menuentry {
+ if [ "$grub_platform" = "pc" ]; then
+ if vt_check_mode 0; then
+ legacy_iso_memdisk $vtoy_iso_part
+ else
+ legacy_iso_menu_func $vtoy_iso_part
+ fi
+ else
+ if vt_check_mode 0; then
+ uefi_iso_memdisk $vtoy_iso_part
+ else
+ uefi_iso_menu_func $vtoy_iso_part
+ fi
+ fi
+}
+
+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 "\npress ENTER to exit (请按 回车 键返回) ..."
+ read vtInputKey
+}
+
+function iso_unsupport_menuentry {
+ common_unsupport_menuentry
+}
+
+function wim_common_menuentry {
+ vt_chosen_img_path chosen_path
+ vt_wim_chain_data ${vtoy_iso_part}${chosen_path}
+
+ ventoy_debug_pause
+
+ 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
+ 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
+ echo "chain empty failed"
+ ventoy_pause
+ fi
+}
+
+function wim_unsupport_menuentry {
+ common_unsupport_menuentry
+}
+
+function efi_common_menuentry {
+ vt_chosen_img_path chosen_path
+
+ ventoy_cli_console
+ chainloader ${vtoy_iso_part}${chosen_path}
+ boot
+ ventoy_gui_console
+}
+
+function efi_unsupport_menuentry {
+ common_unsupport_menuentry
+}
+
+