Add "return to previous menu" in secondary boot menu for convenience.

This commit is contained in:
longpanda 2023-01-04 15:55:32 +08:00
parent a18aa36c01
commit 4b17ee30c4
22 changed files with 60 additions and 53 deletions

View File

@ -6163,6 +6163,7 @@ static grub_err_t ventoy_cmd_show_secondary_menu(grub_extcmd_context_t ctxt, int
}
g_vtoy_secondary_need_recover = 0;
grub_env_unset("VTOY_SECOND_EXIT");
grub_env_unset("VTOY_CHKSUM_FILE_PATH");
env = grub_env_get("VTOY_SECONDARY_TIMEOUT");
@ -6198,8 +6199,10 @@ static grub_err_t ventoy_cmd_show_secondary_menu(grub_extcmd_context_t ctxt, int
}
vtoy_dummy_menuentry(cmd, pos, len, "$VTLANG_FILE_CHKSUM", "second_checksum"); seldata[n++] = 5;
vtoy_dummy_menuentry(cmd, pos, len, "$VTLANG_RETURN_PRV_NOESC", "second_return"); seldata[n++] = 6;
do {
grub_errno = GRUB_ERR_NONE;
g_ventoy_menu_esc = 1;
g_ventoy_suppress_esc = 1;
g_ventoy_suppress_esc_default = 0;
@ -6233,10 +6236,14 @@ static grub_err_t ventoy_cmd_show_secondary_menu(grub_extcmd_context_t ctxt, int
grub_env_set("VTOY_CHKSUM_FILE_PATH", args[0]);
grub_script_execute_sourcecode("configfile $vtoy_efi_part/grub/checksum.cfg");
}
else if (select == 6)
{
grub_env_set("VTOY_SECOND_EXIT", "1");
}
}while (select == 5);
grub_free(cmd);
return 0;
VENTOY_CMD_RETURN(GRUB_ERR_NONE);
}
static grub_err_t ventoy_cmd_secondary_recover_mode(grub_extcmd_context_t ctxt, int argc, char **args)

View File

@ -126,6 +126,7 @@ function ventoy_load_menu_lang_file {
function get_os_type {
set vtoy_os=Linux
export vtoy_os
if vt_str_begin "$vt_volume_id" "DLC Boot"; then
if [ -f (loop)/DLCBoot.exe ]; then
@ -906,11 +907,6 @@ function ventoy_reset_nojoliet {
}
function uefi_iso_menu_func {
if [ -d (loop)/ ]; then
loopback -d loop
fi
if [ -n "$vtisouefi" ]; then
set LoadIsoEfiDriver=on
unset vtisouefi
@ -924,12 +920,7 @@ function uefi_iso_menu_func {
vt_select_auto_install "${chosen_path}"
vt_select_persistence "${chosen_path}"
if vt_is_udf "${1}${chosen_path}"; then
set ventoy_fs_probe=udf
else
set ventoy_fs_probe=iso9660
ventoy_reset_nojoliet
if ! vt_is_udf "${1}${chosen_path}"; then
# Lenovo EasyStartup need an addional sector for boundary check
if vt_str_begin "$vt_volume_id" "EasyStartup"; then
vt_skip_svd "${vtoy_iso_part}${vt_chosen_path}"
@ -937,9 +928,6 @@ function uefi_iso_menu_func {
fi
fi
loopback loop "${1}${chosen_path}"
get_os_type (loop)
if [ -d (loop)/EFI ]; then
set vt_efi_dir=YES
elif [ -d (loop)/efi ]; then
@ -957,15 +945,6 @@ function uefi_iso_menu_func {
vt_check_compatible (loop)
fi
if vt_need_secondary_menu "$vt_chosen_name"; then
vt_show_secondary_menu "$vt_chosen_path" "$vtoy_os" $vt_chosen_size
if vt_check_mode 0 "$vt_chosen_name"; then
uefi_iso_memdisk $vtoy_iso_part "$vt_chosen_path"
vt_secondary_recover_mode
return
fi
fi
vt_img_sector "${1}${chosen_path}"
if [ "$ventoy_fs_probe" = "iso9660" ]; then
@ -983,7 +962,6 @@ function uefi_iso_menu_func {
fi
ventoy_gui_console
vt_secondary_recover_mode
}
function uefi_iso_memdisk {
@ -1368,27 +1346,11 @@ function legacy_unix_menu_func {
function legacy_iso_menu_func {
if [ -d (loop)/ ]; then
loopback -d loop
fi
set chosen_path="$2"
vt_select_auto_install "${chosen_path}"
vt_select_persistence "${chosen_path}"
if vt_is_udf "${1}${chosen_path}"; then
set ventoy_fs_probe=udf
else
set ventoy_fs_probe=iso9660
ventoy_reset_nojoliet
fi
loopback loop "${1}${chosen_path}"
get_os_type (loop)
if [ -n "$vtcompat" ]; then
set ventoy_compatible=YES
unset vtcompat
@ -1398,15 +1360,6 @@ function legacy_iso_menu_func {
vt_check_compatible (loop)
fi
if vt_need_secondary_menu "$vt_chosen_name"; then
vt_show_secondary_menu "$vt_chosen_path" "$vtoy_os" $vt_chosen_size
if vt_check_mode 0 "$vt_chosen_name"; then
legacy_iso_memdisk $vtoy_iso_part "$vt_chosen_path"
vt_secondary_recover_mode
return
fi
fi
vt_img_sector "${1}${chosen_path}"
if [ "$ventoy_fs_probe" = "iso9660" ]; then
@ -1516,6 +1469,31 @@ function iso_common_menuentry {
return
fi
#secondary boot menu
if vt_is_udf "${vtoy_iso_part}${vt_chosen_path}"; then
set ventoy_fs_probe=udf
else
set ventoy_fs_probe=iso9660
ventoy_reset_nojoliet
fi
if [ -d (loop)/ ]; then
loopback -d loop
fi
loopback loop "${vtoy_iso_part}${vt_chosen_path}"
get_os_type (loop)
if vt_need_secondary_menu "$vt_chosen_name"; then
vt_show_secondary_menu "$vt_chosen_path" "$vtoy_os" $vt_chosen_size
if [ "$VTOY_SECOND_EXIT" = "1" ]; then
return
fi
fi
if vt_str_begin "$vt_volume_id" "Avira"; then
vt_skip_svd "${vtoy_iso_part}${vt_chosen_path}"
fi
@ -1567,6 +1545,8 @@ function iso_common_menuentry {
uefi_iso_menu_func $vtoy_iso_part "$vt_chosen_path"
fi
fi
vt_secondary_recover_mode
}
function miso_common_menuentry {

View File

@ -4,6 +4,7 @@
"VTLANG_STR_HOTKEY_LIST": "L: لغه F1: مساعدة F2: تصفح F3: عرض قائمه F4: اقلا محلي F5: أدوات F6: عوده",
"VTLANG_STR_HOTKEY_TREE": "L: لغه F1: مساعدة F2: تصفح F3: عرض تصنيف F4: اقلاع محلي F5: أدوات F6: عوده",
"VTLANG_RETURN_PREVIOUS": "عودة إلى القائمة السابقة [Esc]",
"VTLANG_RETURN_PRV_NOESC": "عودة إلى القائمة السابقة",
"VTLANG_MENU_LANG": "اختيار اللغة في القائمة",
"VTLANG_LB_SBOOT_WINDOWS": "البحث والإقلاع على ويندوز",
"VTLANG_LB_SBOOT_G4D": "البحث والإقلاع على Grub4dos",

View File

@ -4,6 +4,7 @@
"VTLANG_STR_HOTKEY_LIST": "L:ভাষা F1:সাহায্য F2:Browser F3:ListView F4:Localboot F5:Tools F6:ExMenu",
"VTLANG_STR_HOTKEY_TREE": "L:ভাষা F1:সাহায্য F2:Browser F3:TreeView F4:Localboot F5:Tools F6:ExMenu",
"VTLANG_RETURN_PREVIOUS": "পূর্ববর্তী মেনুতে ফিরে যান [Esc]",
"VTLANG_RETURN_PRV_NOESC": "পূর্ববর্তী মেনুতে ফিরে যান",
"VTLANG_MENU_LANG": "মেনু ভাষা নির্বাচন করুন",

View File

@ -4,6 +4,7 @@
"VTLANG_STR_HOTKEY_LIST": "L:Sprache F1:Hilfe F2:Browser F3:Listenansicht F4:Lokaler Start F5:Werkzeuge F6:Erweitert",
"VTLANG_STR_HOTKEY_TREE": "L:Sprache F1:Hilfe F2:Browser F3:Listenansicht F4:Lokaler Start F5:Werkzeuge F6:Erweitert",
"VTLANG_RETURN_PREVIOUS": "Zu vorherigem Menü [Esc]",
"VTLANG_RETURN_PRV_NOESC": "Zu vorherigem Menü",
"VTLANG_MENU_LANG": "Menüsprache auswählen",

View File

@ -4,6 +4,7 @@
"VTLANG_STR_HOTKEY_LIST": "L:Language F1:Help F2:Browse F3:ListView F4:Localboot F5:Tools F6:ExMenu",
"VTLANG_STR_HOTKEY_TREE": "L:Language F1:Help F2:Browse F3:TreeView F4:Localboot F5:Tools F6:ExMenu",
"VTLANG_RETURN_PREVIOUS": "Return to previous menu [Esc]",
"VTLANG_RETURN_PRV_NOESC": "Return to previous menu",
"VTLANG_MENU_LANG": "Menu Language Select",

View File

@ -4,6 +4,7 @@
"VTLANG_STR_HOTKEY_LIST": "L:Langue F1:Aide F2:Parcourir F3:Affichage liste F4:Démarrage local F5:Outils F6:Menu étendu",
"VTLANG_STR_HOTKEY_TREE": "L:Langue F1:Aide F2:Parcourir F3:Affichage arborescence F4:Démarrage local F5:Outils F6:Menu étendu",
"VTLANG_RETURN_PREVIOUS": "Retour au menu précédent [Echap]",
"VTLANG_RETURN_PRV_NOESC": "Retour au menu précédent",
"VTLANG_MENU_LANG": "Sélection de la langue des menus",

View File

@ -4,6 +4,7 @@
"VTLANG_STR_HOTKEY_LIST": "L:भाषा F1:मदद F2:ब्राउज़र F3:ListView F4:स्थानीयबूट F5:उपकरण F6:ExMenu",
"VTLANG_STR_HOTKEY_TREE": "L:भाषा F1:मदद F2:ब्राउज़र F3:TreeView F4:स्थानीयबूट F5:उपकरण F6:ExMenu",
"VTLANG_RETURN_PREVIOUS": "पिछले मेनू पर लौटें [Esc]",
"VTLANG_RETURN_PRV_NOESC": "पिछले मेनू पर लौटें",
"VTLANG_MENU_LANG": "मेनू भाषा का चयन करें",

View File

@ -4,6 +4,7 @@
"VTLANG_STR_HOTKEY_LIST": "L:Jezik F1:Help F2:Browse F3:ListView F4:Localboot F5:Tools F6:ExMenu",
"VTLANG_STR_HOTKEY_TREE": "L:Jezik F1:Help F2:Browse F3:TreeView F4:Localboot F5:Tools F6:ExMenu",
"VTLANG_RETURN_PREVIOUS": "Return to previous menu [Esc]",
"VTLANG_RETURN_PRV_NOESC": "Return to previous menu",
"VTLANG_MENU_LANG": "Menu Language Select",

View File

@ -4,6 +4,7 @@
"VTLANG_STR_HOTKEY_LIST": "L:Nyelv F1:Súgó F2:Tallóz F3:Listanézet F4:Helyi indítás F5:Eszközök F6:Bővített menü",
"VTLANG_STR_HOTKEY_TREE": "L:Nyelv F1:Súgó F2:Tallóz F3:Fanézet F4:Helyi indítás F5:Eszközök F6:Bővített menü",
"VTLANG_RETURN_PREVIOUS": "Vissza az előző menübe [Esc]",
"VTLANG_RETURN_PRV_NOESC": "Vissza az előző menübe",
"VTLANG_MENU_LANG": "Menü nyelv kiválasztás",

View File

@ -4,6 +4,7 @@
"VTLANG_STR_HOTKEY_LIST": "L:Bahasa F1:Bantuan F2:Jelajah F3:ListView F4:boot lokal F5:Alat Utilitas F6:Menu Eksternal",
"VTLANG_STR_HOTKEY_TREE": "L:Bahasa F1:Bantuan F2:Jelajah F3:ListView F4:boot lokal F5:Alat Utilitas F6:Menu Eksternal",
"VTLANG_RETURN_PREVIOUS": "Kembali ke menu sebelumnya [Esc]",
"VTLANG_RETURN_PRV_NOESC": "Kembali ke menu sebelumnya",
"VTLANG_MENU_LANG": "Menu Pilihan Bahasa",

View File

@ -4,6 +4,7 @@
"VTLANG_STR_HOTKEY_LIST": "L:言語 F1:説明 F2:閲覧 F3:表示切替(階層) F4:手許から起動 F5:道具 F6:拡張",
"VTLANG_STR_HOTKEY_TREE": "L:言語 F1:説明 F2:閲覧 F3:表示切替(一覧) F4:手許から起動 F5:道具 F6:拡張",
"VTLANG_RETURN_PREVIOUS": "前に戻る [Esc]",
"VTLANG_RETURN_PRV_NOESC": "前に戻る",
"VTLANG_MENU_LANG": "表示言語",

View File

@ -4,6 +4,7 @@
"VTLANG_STR_HOTKEY_LIST": "L:ენა F1:დახმარება F2:დათვალიერება F3:სიის ხედი F4:ლოკალური ჩატვირთვა F5:ხელსაწყოები F6:გასვლა",
"VTLANG_STR_HOTKEY_TREE": "L:ენა F1:დახმარება F2:დათვალიერება F3:ხის ხედი F4:ლოკალური ჩატვირთვა F5:ხელსაწყოები F6:გასვლა",
"VTLANG_RETURN_PREVIOUS": "წინა მენიუში დაბრუნება [Esc]",
"VTLANG_RETURN_PRV_NOESC": "წინა მენიუში დაბრუნება",
"VTLANG_MENU_LANG": "მენიუს ენის არჩევა",

View File

@ -4,6 +4,7 @@
"VTLANG_STR_HOTKEY_LIST": "번역: 비너스걸 L:언어 F1:도움말 F2:찾아보기 F3:목록보기 F4:로컬부트 F5:도구 F6:확장메뉴",
"VTLANG_STR_HOTKEY_TREE": "번역: 비너스걸 L:언어 F1:도움말 F2:찾아보기 F3:목록보기 F4:로컬부트 F5:도구 F6:확장메뉴",
"VTLANG_RETURN_PREVIOUS": "이전 메뉴로 돌아가기 [Esc]",
"VTLANG_RETURN_PRV_NOESC": "이전 메뉴로 돌아가기",
"VTLANG_MENU_LANG": "메뉴 언어 선택",

View File

@ -4,6 +4,7 @@
"VTLANG_STR_HOTKEY_LIST": "L:Język F1:Pomoc F2:Przeglądaj F3:ListView F4:Localboot F5:Narzędzia F6:ExMenu",
"VTLANG_STR_HOTKEY_TREE": "L:Język F1:Pomoc F2:Przeglądaj F3:Widok drzewa F4:Localboot F5:Narzędzia F6:ExMenu",
"VTLANG_RETURN_PREVIOUS": "Powrót do poprzedniego menu [Esc]",
"VTLANG_RETURN_PRV_NOESC": "Powrót do poprzedniego menu",
"VTLANG_MENU_LANG": "Wybór języka menu",

View File

@ -4,6 +4,7 @@
"VTLANG_STR_HOTKEY_LIST": "L:Idioma F1:Ajuda F2:Navegar F3:Estrutura F4:Arranque local F5:Ferramentas F6:Sair",
"VTLANG_STR_HOTKEY_TREE": "L:Idioma F1:Ajuda F2:Navegar F3:Estrutura F4:Arranque local F5:Ferramentas F6:Sair",
"VTLANG_RETURN_PREVIOUS": "Voltar ao menu anterior [Esc]",
"VTLANG_RETURN_PRV_NOESC": "Voltar ao menu anterior",
"VTLANG_MENU_LANG": "Seleção de idioma do menu",

View File

@ -4,6 +4,7 @@
"VTLANG_STR_HOTKEY_LIST": "L:Язык F1:Помощь F2:Просмотр F3:ВидСписком F4:Локальная загрузка F5:Инструменты F6:Выйти из меню",
"VTLANG_STR_HOTKEY_TREE": "L:Язык F1:Помощь F2:Просмотр F3:ВидДревом F4:Локальная загрузка F5:Инструменты F6:Выйти из меню",
"VTLANG_RETURN_PREVIOUS": "Вернуться в предыдущее меню [Esc]",
"VTLANG_RETURN_PRV_NOESC": "Вернуться в предыдущее меню",
"VTLANG_MENU_LANG": "Выбор языка меню",

View File

@ -4,6 +4,7 @@
"VTLANG_STR_HOTKEY_LIST": "L:Језик F1:Help F2:Browse F3:ListView F4:Localboot F5:Tools F6:ExMenu",
"VTLANG_STR_HOTKEY_TREE": "L:Језик F1:Help F2:Browse F3:TreeView F4:Localboot F5:Tools F6:ExMenu",
"VTLANG_RETURN_PREVIOUS": "Return to previous menu [Esc]",
"VTLANG_RETURN_PRV_NOESC": "Return to previous menu",
"VTLANG_MENU_LANG": "Menu Language Select",

View File

@ -4,6 +4,7 @@
"VTLANG_STR_HOTKEY_LIST": "L:மொழி F1:உதவி F2:உலாவுக F3:பட்டியல்பார்வை F4:லோக்கல்பூட் F5:கருவிகள் F6:ExMenu",
"VTLANG_STR_HOTKEY_TREE": "L:மொழி F1:உதவி F2:உலாவுக F3:மரப்பார்வை F4:லோக்கல்பூட் F5:கருவிகள் F6:ExMenu",
"VTLANG_RETURN_PREVIOUS": "முந்தைய மெனுவுக்குத் திரும்பு [Esc]",
"VTLANG_RETURN_PRV_NOESC": "முந்தைய மெனுவுக்குத் திரும்பு",
"VTLANG_MENU_LANG": "மெனு மொழி தேர்வு",

View File

@ -4,6 +4,7 @@
"VTLANG_STR_HOTKEY_LIST": "L:Dil F1:Yardım F2:Gözat F3:Liste Görünümü F4:Önyükleme Seçenekleri F5:Araçlar F6:Grub2 Menü",
"VTLANG_STR_HOTKEY_TREE": "L:Dil F1:Yardım F2:Gözat F3:Ağaç Görünümü F4:Önyükleme Seçenekleri F5:Araçlar F6:Grub2 Menü",
"VTLANG_RETURN_PREVIOUS": "Önceki menüye geri dön [Esc]",
"VTLANG_RETURN_PRV_NOESC": "Önceki menüye geri dön",
"VTLANG_MENU_LANG": "Menü Dili Seçimi",

View File

@ -4,6 +4,7 @@
"VTLANG_STR_HOTKEY_LIST": "L:语言 F1:帮助 F2:本地浏览 F3:列表模式 F4:本地启动 F5:工具 F6:扩展菜单",
"VTLANG_STR_HOTKEY_TREE": "L:语言 F1:帮助 F2:本地浏览 F3:树形模式 F4:本地启动 F5:工具 F6:扩展菜单",
"VTLANG_RETURN_PREVIOUS": "返回上一级菜单 [Esc]",
"VTLANG_RETURN_PRV_NOESC": "返回上一级菜单",
"VTLANG_MENU_LANG": "菜单语言",

View File

@ -4,6 +4,7 @@
"VTLANG_STR_HOTKEY_LIST": "L:語言 F1:說明 F2:本地瀏覽 F3:清單模式 F4:本地啟動 F5:工具 F6:擴展選單",
"VTLANG_STR_HOTKEY_TREE": "L:語言 F1:說明 F2:本地瀏覽 F3:樹形模式 F4:本地啟動 F5:工具 F6:擴展選單",
"VTLANG_RETURN_PREVIOUS": "返回上一級選單 [Esc]",
"VTLANG_RETURN_PRV_NOESC": "返回上一級選單",
"VTLANG_MENU_LANG": "功能表語言",