diff --git a/EDK2/edk2_mod/edk2-edk2-stable201911/MdeModulePkg/Application/Ventoy/Ventoy.c b/EDK2/edk2_mod/edk2-edk2-stable201911/MdeModulePkg/Application/Ventoy/Ventoy.c index 8a84c3f3..65342013 100644 --- a/EDK2/edk2_mod/edk2-edk2-stable201911/MdeModulePkg/Application/Ventoy/Ventoy.c +++ b/EDK2/edk2_mod/edk2-edk2-stable201911/MdeModulePkg/Application/Ventoy/Ventoy.c @@ -1263,9 +1263,9 @@ EFI_STATUS EFIAPI VentoyEfiMain return Status; } - if (g_os_param_reserved[11] == 1) + if (g_os_param_reserved[11]) { - ventoy_lock_max_res(); + ventoy_lock_res(g_os_param_reserved[11]); } ventoy_disable_ex_filesystem(); @@ -1346,9 +1346,9 @@ EFI_STATUS EFIAPI VentoyEfiMain ventoy_enable_ex_filesystem(); - if (g_os_param_reserved[11] == 1) + if (g_os_param_reserved[11]) { - ventoy_unlock_max_res(); + ventoy_unlock_res(); } return EFI_SUCCESS; diff --git a/EDK2/edk2_mod/edk2-edk2-stable201911/MdeModulePkg/Application/Ventoy/Ventoy.h b/EDK2/edk2_mod/edk2-edk2-stable201911/MdeModulePkg/Application/Ventoy/Ventoy.h index 121ebd31..40ba6b13 100644 --- a/EDK2/edk2_mod/edk2-edk2-stable201911/MdeModulePkg/Application/Ventoy/Ventoy.h +++ b/EDK2/edk2_mod/edk2-edk2-stable201911/MdeModulePkg/Application/Ventoy/Ventoy.h @@ -428,8 +428,8 @@ EFI_STATUS ventoy_hook_1st_cdrom_start(VOID); EFI_STATUS ventoy_hook_1st_cdrom_stop(VOID); EFI_STATUS ventoy_disable_ex_filesystem(VOID); EFI_STATUS ventoy_enable_ex_filesystem(VOID); -EFI_STATUS ventoy_lock_max_res(VOID); -EFI_STATUS ventoy_unlock_max_res(VOID); +EFI_STATUS ventoy_lock_res(UINT8 LockType); +EFI_STATUS ventoy_unlock_res(VOID); #endif diff --git a/EDK2/edk2_mod/edk2-edk2-stable201911/MdeModulePkg/Application/Ventoy/VentoyProtocol.c b/EDK2/edk2_mod/edk2-edk2-stable201911/MdeModulePkg/Application/Ventoy/VentoyProtocol.c index 0dfe28c2..8a004440 100644 --- a/EDK2/edk2_mod/edk2-edk2-stable201911/MdeModulePkg/Application/Ventoy/VentoyProtocol.c +++ b/EDK2/edk2_mod/edk2-edk2-stable201911/MdeModulePkg/Application/Ventoy/VentoyProtocol.c @@ -1820,13 +1820,15 @@ STATIC EFI_STATUS EFIAPI ventoy_set_mode return EFI_SUCCESS; } -EFI_STATUS ventoy_lock_max_res(VOID) +EFI_STATUS ventoy_lock_res(UINT8 LockType) { UINT32 i = 0; UINT32 x = 0; UINT32 y = 0; + UINT32 SelMode = 0; UINT32 CurMode = 0; UINT32 Highest = 0; + UINT32 M1024_768 = MAX_UINT32; UINTN Size; EFI_STATUS rc; EFI_GRAPHICS_OUTPUT_PROTOCOL *gop = NULL; @@ -1838,6 +1840,12 @@ EFI_STATUS ventoy_lock_max_res(VOID) return EFI_SUCCESS; } + /* 1: Highest 2: 1024x768 */ + if (LockType == 0 || LockType > 2) + { + return EFI_SUCCESS; + } + rc = gBS->LocateProtocol(&gEfiGraphicsOutputProtocolGuid, NULL, (void **)&gop); if (rc != EFI_SUCCESS) { @@ -1852,6 +1860,11 @@ EFI_STATUS ventoy_lock_max_res(VOID) /* Get mode information */ if (gop->QueryMode(gop, i, &Size, &info) == EFI_SUCCESS) { + if (info->HorizontalResolution == 1024 && info->VerticalResolution == 768) + { + M1024_768 = i; + } + if (x < info->HorizontalResolution || (x == info->HorizontalResolution && y < info->VerticalResolution)) { @@ -1862,12 +1875,31 @@ EFI_STATUS ventoy_lock_max_res(VOID) } } - if (Highest != CurMode) + + if (LockType == 1) { - gop->SetMode(gop, Highest); + SelMode = Highest; + } + else + { + if (M1024_768 == MAX_UINT32) + { + SelMode = Highest; + } + else + { + SelMode = M1024_768; + x = 1024; + y = 768; + } } - debug("Lock resolution to Mode:%d %d x %d", Highest, x, y); + if (SelMode != CurMode) + { + gop->SetMode(gop, SelMode); + } + debug("Lock resolution to Mode:%d %d x %d", SelMode, x, y); + g_org_mode_num = CurMode; g_org_set_mode = gop->SetMode; @@ -1876,7 +1908,7 @@ EFI_STATUS ventoy_lock_max_res(VOID) return EFI_SUCCESS; } -EFI_STATUS ventoy_unlock_max_res(VOID) +EFI_STATUS ventoy_unlock_res(VOID) { EFI_STATUS rc; EFI_GRAPHICS_OUTPUT_PROTOCOL *gop = NULL; diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/normal/menu.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/normal/menu.c index e8396340..d493479e 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/normal/menu.c +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/normal/menu.c @@ -438,11 +438,11 @@ static void menu_set_chosen_tip(grub_menu_t menu, int entry) if (g_ventoy_theme_path[0]) { - grub_env_set("theme", g_ventoy_theme_path); + grub_env_set("theme", g_ventoy_theme_path); } g_ventoy_tip_msg1 = g_ventoy_tip_msg2 = NULL; - if (e && e->id && grub_strncmp(e->id, "VID_", 4) == 0) + if (e && e->id && grub_strncmp(e->id, "VID_", 4) == 0) { g_ventoy_theme_path[0] = 0; img = (img_info *)(void *)grub_strtoul(e->id + 4, NULL, 16); @@ -480,7 +480,7 @@ static void menu_set_chosen_entry (grub_menu_t menu, int entry) { struct grub_menu_viewer *cur; - + menu_set_chosen_tip(menu, entry); for (cur = viewers; cur; cur = cur->next) cur->set_chosen_entry (entry, cur->data); @@ -972,7 +972,7 @@ run_menu (grub_menu_t menu, int nested, int *auto_boot) ; menu_fini (); goto refresh; - } + } } break; case (GRUB_TERM_CTRL | 'd'): @@ -981,7 +981,7 @@ run_menu (grub_menu_t menu, int nested, int *auto_boot) { menu_fini (); g_ventoy_memdisk_mode = 1 - g_ventoy_memdisk_mode; - g_ventoy_menu_refresh = 1; + g_ventoy_menu_refresh = 1; goto refresh; } break; @@ -992,7 +992,7 @@ run_menu (grub_menu_t menu, int nested, int *auto_boot) menu_fini (); g_ventoy_iso_raw = 1 - g_ventoy_iso_raw; g_ventoy_menu_refresh = 1; - goto refresh; + goto refresh; } break; case (GRUB_TERM_CTRL | 'r'): @@ -1001,10 +1001,10 @@ run_menu (grub_menu_t menu, int nested, int *auto_boot) { menu_fini (); g_ventoy_grub2_mode = 1 - g_ventoy_grub2_mode; - g_ventoy_menu_refresh = 1; + g_ventoy_menu_refresh = 1; goto refresh; } - break; + break; case (GRUB_TERM_CTRL | 'w'): case 'w': if (0 == g_ventoy_secondary_menu_on) @@ -1039,7 +1039,7 @@ run_menu (grub_menu_t menu, int nested, int *auto_boot) case 'm': { if (0 == g_ventoy_secondary_menu_on) - { + { if (g_ventoy_cur_img_path) { grub_env_set("VTOY_CHKSUM_FILE_PATH", g_ventoy_cur_img_path); @@ -1128,16 +1128,17 @@ static struct grub_menu_execute_callback execution_callback = static grub_err_t show_menu (grub_menu_t menu, int nested, int autobooted) { - const char *def; + const char *def; def = grub_env_get("VTOY_DEFAULT_IMAGE"); - + while (1) { int ndown; + char *pos = NULL; int boot_entry; grub_menu_entry_t e; int auto_boot; - + boot_entry = run_menu (menu, nested, &auto_boot); if (boot_entry < 0) break; @@ -1149,7 +1150,7 @@ show_menu (grub_menu_t menu, int nested, int autobooted) if (autobooted == 0 && auto_boot == 0) { g_ventoy_last_entry = boot_entry; if (g_ventoy_menu_esc) - break; + break; } if (autobooted == 0 && g_ventoy_menu_esc && auto_boot) { @@ -1162,7 +1163,7 @@ show_menu (grub_menu_t menu, int nested, int autobooted) continue; /* Menu is empty. */ if (2 == e->argc && e->args && e->args[1] && grub_strncmp(e->args[1], "VTOY_RET", 8) == 0) - break; + break; grub_cls (); @@ -1175,16 +1176,29 @@ show_menu (grub_menu_t menu, int nested, int autobooted) break; if (2 == e->argc && e->args && e->args[1] && grub_strncmp(e->args[1], "VTOY_RUN_RET", 12) == 0) - break; - else if (2 == e->argc && e->args && e->args[1] && grub_strncmp(e->args[1], "VTOY_RUN_SET", 12) == 0) { - ndown = (int)grub_strtol(e->args[1] + 12, NULL, 10); + break; + else if (2 == e->argc && e->args && e->args[1] && grub_strncmp(e->args[1], "VTOY_RUN_SET_", 13) == 0) { + pos = NULL; + ndown = (int)grub_strtol(e->args[1] + 13, &pos, 10); while (ndown > 0) { ventoy_menu_push_key(GRUB_TERM_KEY_DOWN); ndown--; } + ventoy_menu_push_key('\n'); - break; + + if (pos && *pos == '_') + { + ndown = (int)grub_strtol(pos + 1, NULL, 10); + while (ndown > 0) + { + ventoy_menu_push_key(GRUB_TERM_KEY_DOWN); + ndown--; + } + } + + break; } } diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy.c index 77253d0a..ec0eadde 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy.c +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy.c @@ -431,12 +431,12 @@ int ventoy_global_var_init(void) static ctrl_var_cfg g_ctrl_vars[] = { - { "VTOY_WIN11_BYPASS_CHECK", 1 }, - { "VTOY_WIN11_BYPASS_NRO", 1 }, - { "VTOY_LINUX_REMOUNT", 0 }, - { "VTOY_SECONDARY_BOOT_MENU", 1 }, - { "VTOY_WIN_UEFI_MAX_RES", 1 }, - { NULL, 0 } + { "VTOY_WIN11_BYPASS_CHECK", "1" }, + { "VTOY_WIN11_BYPASS_NRO", "1" }, + { "VTOY_LINUX_REMOUNT", "0" }, + { "VTOY_SECONDARY_BOOT_MENU", "1" }, + { "VTOY_WIN_UEFI_RES_LOCK", "1" }, + { NULL, "" } }; static const char * ventoy_ctrl_var_read_hook(struct grub_env_var *var, const char *val) @@ -447,7 +447,7 @@ static const char * ventoy_ctrl_var_read_hook(struct grub_env_var *var, const ch { if (grub_strcmp(g_ctrl_vars[i].name, var->name) == 0) { - return g_ctrl_vars[i].value ? "1" : "0"; + return g_ctrl_vars[i].szval; } } @@ -462,14 +462,14 @@ static char * ventoy_ctrl_var_write_hook(struct grub_env_var *var, const char *v { if (grub_strcmp(g_ctrl_vars[i].name, var->name) == 0) { - if (val && val[0] == '1' && val[1] == 0) + if (val && grub_isdigit(val[0]) && val[1] == 0) { - g_ctrl_vars[i].value = 1; - return grub_strdup("1"); + g_ctrl_vars[i].szval[0] = val[0]; + return grub_strdup(val); } else { - g_ctrl_vars[i].value = 0; + g_ctrl_vars[i].szval[0] = '0'; return grub_strdup("0"); } } @@ -480,12 +480,13 @@ static char * ventoy_ctrl_var_write_hook(struct grub_env_var *var, const char *v int ventoy_ctrl_var_init(void) { - int i; + ctrl_var_cfg *cfg = g_ctrl_vars; - for (i = 0; g_ctrl_vars[i].name; i++) + while (cfg->name) { - ventoy_env_export(g_ctrl_vars[i].name, g_ctrl_vars[i].value ? "1" : "0"); - grub_register_variable_hook(g_ctrl_vars[i].name, ventoy_ctrl_var_read_hook, ventoy_ctrl_var_write_hook); + ventoy_env_export(cfg->name, cfg->szval); + grub_register_variable_hook(cfg->name, ventoy_ctrl_var_read_hook, ventoy_ctrl_var_write_hook); + cfg++; } return 0; diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_cmd.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_cmd.c index 3356a0a5..5ca3a42f 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_cmd.c +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_cmd.c @@ -3246,13 +3246,20 @@ void ventoy_fill_os_param(grub_file_t file, ventoy_os_param *param) grub_memcpy(param->vtoy_reserved + 7, g_ventoy_part_info->MBR.BootCode + 0x1b8, 4); - /* Windows UEFI force highest resolution */ + /* Windows UEFI force resolution lock */ if (g_ventoy_chain_type == 1) /* Windows */ { - val = ventoy_get_env("VTOY_WIN_UEFI_MAX_RES"); - if (val && val[0] == '1' && val[1] == 0) + val = ventoy_get_env("VTOY_WIN_UEFI_RES_LOCK"); + if (val && val[1] == 0) { - param->vtoy_reserved[11] = 1; + if (val[0] == '1') + { + param->vtoy_reserved[11] = 1; + } + else if (val[0] == '2') + { + param->vtoy_reserved[11] = 2; + } } } diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_def.h b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_def.h index 832ac951..16fc1235 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_def.h +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_def.h @@ -7,12 +7,12 @@ * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 3 of the * License, or (at your option) any later version. - * + * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program; if not, see . * @@ -142,7 +142,7 @@ typedef enum VTOY_FILE_FLT VTOY_FILE_FLT_IMG, /* .img */ VTOY_FILE_FLT_VHD, /* .vhd(x) */ VTOY_FILE_FLT_VTOY, /* .vtoy */ - + VTOY_FILE_FLT_BUTT }VTOY_FILE_FLT; @@ -160,7 +160,7 @@ typedef struct cmd_para grub_extcmd_func_t func; grub_command_flags_t flags; const struct grub_arg_option *parser; - + const char *summary; const char *description; @@ -171,7 +171,7 @@ typedef struct cmd_para #define ventoy_align(value, align) (((value) + ((align) - 1)) & (~((align) - 1))) #pragma pack(1) -typedef struct cpio_newc_header +typedef struct cpio_newc_header { char c_magic[6]; char c_ino[8]; @@ -206,7 +206,7 @@ typedef struct ventoy_patch_vhd grub_uint8_t part_offset_or_guid[16]; grub_uint32_t reserved1; grub_uint32_t part_type; - grub_uint8_t disk_signature_or_guid[16]; + grub_uint8_t disk_signature_or_guid[16]; grub_uint8_t reserved2[16]; grub_uint8_t vhd_file_path[1]; }ventoy_patch_vhd; @@ -284,7 +284,7 @@ typedef struct img_info const char *tip2; const char *class; const char *menu_prefix; - + int id; int type; int plugin_list_index; @@ -313,8 +313,8 @@ typedef struct img_iterator_node struct img_iterator_node *parent; struct img_iterator_node *firstchild; - - void *firstiso; + + void *firstiso; }img_iterator_node; @@ -328,7 +328,7 @@ typedef struct initrd_info grub_uint8_t iso_type; // 0: iso9660 1:udf grub_uint32_t udf_start_block; - + grub_uint64_t override_offset; grub_uint32_t override_length; char override_data[32]; @@ -397,7 +397,7 @@ void ventoy_debug(const char *fmt, ...); #pragma pack(1) /* A WIM resource header */ -typedef struct wim_resource_header +typedef struct wim_resource_header { grub_uint64_t size_in_wim:56; /* Compressed length */ grub_uint64_t flags:8; /* flags */ @@ -409,7 +409,7 @@ typedef struct wim_resource_header #define WIM_RESHDR_ZLEN_MASK 0x00ffffffffffffffULL /* WIM resource header flags */ -typedef enum wim_resource_header_flags +typedef enum wim_resource_header_flags { WIM_RESHDR_METADATA = ( 0x02ULL << 56 ), /* Resource contains metadata */ WIM_RESHDR_COMPRESSED = ( 0x04ULL << 56 ), /* Resource is compressed */ @@ -419,7 +419,7 @@ typedef enum wim_resource_header_flags #define WIM_HEAD_SIGNATURE "MSWIM\0\0" /* WIM header */ -typedef struct wim_header +typedef struct wim_header { grub_uint8_t signature[8]; /* Signature */ grub_uint32_t header_len; /* Header length */ @@ -439,21 +439,21 @@ typedef struct wim_header } wim_header; /* WIM header flags */ -typedef enum wim_header_flags +typedef enum wim_header_flags { WIM_HDR_XPRESS = 0x00020000, /* WIM uses Xpress compresson */ WIM_HDR_LZX = 0x00040000, /* WIM uses LZX compression */ }wim_header_flags; /* A WIM file hash */ -typedef struct wim_hash +typedef struct wim_hash { /* SHA-1 hash */ grub_uint8_t sha1[20]; }wim_hash; /* A WIM lookup table entry */ -typedef struct wim_lookup_entry +typedef struct wim_lookup_entry { wim_resource_header resource; /* Resource header */ grub_uint16_t part; /* Part number */ @@ -465,19 +465,19 @@ typedef struct wim_lookup_entry #define WIM_CHUNK_LEN 32768 /* A WIM chunk buffer */ -typedef struct wim_chunk_buffer +typedef struct wim_chunk_buffer { grub_uint8_t data[WIM_CHUNK_LEN]; /*Data */ }wim_chunk_buffer; /* Security data */ -typedef struct wim_security_header +typedef struct wim_security_header { grub_uint32_t len; /* Length */ grub_uint32_t count; /* Number of entries */ }wim_security_header; -typedef struct wim_stream_entry +typedef struct wim_stream_entry { grub_uint64_t len; grub_uint64_t unused1; @@ -487,7 +487,7 @@ typedef struct wim_stream_entry }wim_stream_entry; /* Directory entry */ -typedef struct wim_directory_entry +typedef struct wim_directory_entry { grub_uint64_t len; /* Length */ grub_uint32_t attributes; /* Attributes */ @@ -590,7 +590,7 @@ typedef struct _VTOY_JSON struct _VTOY_JSON *pstChild; JSON_TYPE enDataType; - union + union { char *pcStrVal; int iNumVal; @@ -702,7 +702,7 @@ int vtoy_json_parse_value ( char *pcNewStart, char *pcRawStart, - VTOY_JSON *pstJson, + VTOY_JSON *pstJson, const char *pcData, const char **ppcEnd ); @@ -718,51 +718,51 @@ int vtoy_json_scan_parse int vtoy_json_scan_array ( - VTOY_JSON *pstJson, - const char *szKey, + VTOY_JSON *pstJson, + const char *szKey, VTOY_JSON **ppstArrayItem ); int vtoy_json_scan_array_ex ( - VTOY_JSON *pstJson, - const char *szKey, + VTOY_JSON *pstJson, + const char *szKey, VTOY_JSON **ppstArrayItem ); int vtoy_json_scan_object ( - VTOY_JSON *pstJson, - const char *szKey, + VTOY_JSON *pstJson, + const char *szKey, VTOY_JSON **ppstObjectItem ); int vtoy_json_get_int ( - VTOY_JSON *pstJson, - const char *szKey, + VTOY_JSON *pstJson, + const char *szKey, int *piValue ); int vtoy_json_get_uint ( - VTOY_JSON *pstJson, - const char *szKey, + VTOY_JSON *pstJson, + const char *szKey, grub_uint32_t *puiValue ); int vtoy_json_get_uint64 ( - VTOY_JSON *pstJson, - const char *szKey, + VTOY_JSON *pstJson, + const char *szKey, grub_uint64_t *pui64Value ); int vtoy_json_get_bool ( VTOY_JSON *pstJson, - const char *szKey, + const char *szKey, grub_uint8_t *pbValue ); int vtoy_json_get_string ( - VTOY_JSON *pstJson, - const char *szKey, + VTOY_JSON *pstJson, + const char *szKey, grub_uint32_t uiBufLen, char *pcBuf ); @@ -784,7 +784,7 @@ static inline int ventoy_isspace (int c) static inline int ventoy_is_word_end(int c) { - return (c == 0 || c == ',' || ventoy_isspace(c)); + return (c == 0 || c == ',' || ventoy_isspace(c)); } #pragma pack(1) @@ -956,7 +956,7 @@ typedef struct persistence_config int cursel; int backendnum; file_fullpath *backendpath; - + struct persistence_config *next; }persistence_config; @@ -1296,7 +1296,7 @@ typedef struct global_var_cfg typedef struct ctrl_var_cfg { const char *name; - int value; + char szval[2]; }ctrl_var_cfg; #define vtoy_check_goto_out(p) if (!p) goto out diff --git a/INSTALL/grub/debug.cfg b/INSTALL/grub/debug.cfg index bbf2b3b7..1f679fde 100644 --- a/INSTALL/grub/debug.cfg +++ b/INSTALL/grub/debug.cfg @@ -4,7 +4,7 @@ # submenu "$VTLANG_CTRL_TEMP_SET" --class=debug_temp_set --class=F5tool { menuentry "[ $VTOY_WIN11_BYPASS_CHECK ] $VTLANG_WIN11_BYPASS_CHECK" --class=debug_temp_win11_bypass --class=debug_temp_set --class=F5tool \ - VTOY_RUN_SET0 { + VTOY_RUN_SET_0_0 { if [ "$VTOY_WIN11_BYPASS_CHECK" = "0" ]; then set VTOY_WIN11_BYPASS_CHECK=1 else @@ -13,7 +13,7 @@ submenu "$VTLANG_CTRL_TEMP_SET" --class=debug_temp_set --class=F5tool { } menuentry "[ $VTOY_WIN11_BYPASS_NRO ] $VTLANG_WIN11_BYPASS_NRO" --class=debug_temp_win11_nro --class=debug_temp_set --class=F5tool \ - VTOY_RUN_SET1 { + VTOY_RUN_SET_1_0 { if [ "$VTOY_WIN11_BYPASS_NRO" = "0" ]; then set VTOY_WIN11_BYPASS_NRO=1 else @@ -22,22 +22,13 @@ submenu "$VTLANG_CTRL_TEMP_SET" --class=debug_temp_set --class=F5tool { } menuentry "[ $VTOY_SECONDARY_BOOT_MENU ] $VTLANG_SECONDARY_BOOT_MENU" --class=debug_temp_second_menu --class=debug_temp_set --class=F5tool \ - VTOY_RUN_SET2 { + VTOY_RUN_SET_2_0 { if [ "$VTOY_SECONDARY_BOOT_MENU" = "0" ]; then set VTOY_SECONDARY_BOOT_MENU=1 else set VTOY_SECONDARY_BOOT_MENU=0 fi - } - - menuentry "[ $VTOY_WIN_UEFI_MAX_RES ] $VTLANG_WIN_UEFI_MAX_RES" --class=debug_temp_win_uefi_res --class=debug_temp_set --class=F5tool \ - VTOY_RUN_SET3 { - if [ "$VTOY_WIN_UEFI_MAX_RES" = "0" ]; then - set VTOY_WIN_UEFI_MAX_RES=1 - else - set VTOY_WIN_UEFI_MAX_RES=0 - fi - } + } menuentry "$VTLANG_RETURN_PREVIOUS" --class=vtoyret VTOY_RET { echo "Return ..." @@ -45,6 +36,36 @@ submenu "$VTLANG_CTRL_TEMP_SET" --class=debug_temp_set --class=F5tool { } +if [ "$grub_platform" != "pc" ]; then + submenu "$VTLANG_WIN_UEFI_RES_LOCK" --class=debug_uefi_res_lock --class=F5tool { + set vtActive0="[ ]" + set vtActive1="[ ]" + set vtActive2="[ ]" + if [ "$VTOY_WIN_UEFI_RES_LOCK" = "0" ]; then + set vtActive0="[*]" + elif [ "$VTOY_WIN_UEFI_RES_LOCK" = "1" ]; then + set vtActive1="[*]" + elif [ "$VTOY_WIN_UEFI_RES_LOCK" = "2" ]; then + set vtActive2="[*]" + fi + + menuentry "$vtActive0 $VTLANG_UEFI_RES_LOCK_NONE" --class=debug_uefi_res_lock0 --class=F5tool VTOY_RUN_SET_0_1 { + set VTOY_WIN_UEFI_RES_LOCK=0 + } + menuentry "$vtActive1 $VTLANG_UEFI_RES_LOCK_MAX" --class=debug_uefi_res_lock1 --class=F5tool VTOY_RUN_SET_1_1 { + set VTOY_WIN_UEFI_RES_LOCK=1 + } + menuentry "$vtActive2 $VTLANG_UEFI_RES_LOCK_1024_768" --class=debug_uefi_res_lock2 --class=F5tool VTOY_RUN_SET_2_1 { + set VTOY_WIN_UEFI_RES_LOCK=2 + } + + menuentry "$VTLANG_RETURN_PREVIOUS" --class=vtoyret VTOY_RET { + echo "Return ..." + } + } +fi + + submenu "$VTLANG_MENU_LANG" --class=debug_menu_lang --class=F5tool { source $prefix/menulang.cfg } diff --git a/INSTALL/grub/menu/ar_AR.json b/INSTALL/grub/menu/ar_AR.json index 8bfbd9ab..d13bf96f 100644 --- a/INSTALL/grub/menu/ar_AR.json +++ b/INSTALL/grub/menu/ar_AR.json @@ -88,6 +88,10 @@ "VTLANG_WIN11_BYPASS_NRO": "تجاوز متطلبات الحساب عبر الإنترنت عند تثبيت Windows 11", "VTLANG_LINUX_REMOUNT": "ضم قسم Ventoy بعد إقلاع Linux", "VTLANG_SECONDARY_BOOT_MENU": "اظهر قائمة الإقلاع الثانوية", - + "VTLANG_WIN_UEFI_RES_LOCK": "Lock the resolution when UEFI boot Windows/WinPE", + "VTLANG_UEFI_RES_LOCK_NONE": "None", + "VTLANG_UEFI_RES_LOCK_MAX": "Highest", + "VTLANG_UEFI_RES_LOCK_1024_768": "1024 x 768", + "MENU_STR_XXX": "" } diff --git a/INSTALL/grub/menu/bn_BN.json b/INSTALL/grub/menu/bn_BN.json index c76442da..068b6f19 100644 --- a/INSTALL/grub/menu/bn_BN.json +++ b/INSTALL/grub/menu/bn_BN.json @@ -88,6 +88,11 @@ "VTLANG_WIN11_BYPASS_NRO": "Windows 11 ইনস্টল করার সময় অনলাইন অ্যাকাউন্টের প্রয়োজন বাইপাস করুন", "VTLANG_LINUX_REMOUNT": "লিনাক্স বুটের পরে ভেন্টয় পার্টিশনটি মাউন্ট করুন", "VTLANG_SECONDARY_BOOT_MENU": "গৌণ বুট মেনু দেখান", - + "VTLANG_WIN_UEFI_RES_LOCK": "Lock the resolution when UEFI boot Windows/WinPE", + "VTLANG_UEFI_RES_LOCK_NONE": "None", + "VTLANG_UEFI_RES_LOCK_MAX": "Highest", + "VTLANG_UEFI_RES_LOCK_1024_768": "1024 x 768", + + "MENU_STR_XXX": "" } diff --git a/INSTALL/grub/menu/cs_CZ.json b/INSTALL/grub/menu/cs_CZ.json index 2368e952..8b889f91 100644 --- a/INSTALL/grub/menu/cs_CZ.json +++ b/INSTALL/grub/menu/cs_CZ.json @@ -88,6 +88,11 @@ "VTLANG_WIN11_BYPASS_NRO": "Obejít požadování online účtu při instalaci Windows 11", "VTLANG_LINUX_REMOUNT": "Připojit Ventoy oddíl po spuštění Linuxu", "VTLANG_SECONDARY_BOOT_MENU": "Zobrazit druhou spouštěcí nabídku", + "VTLANG_WIN_UEFI_RES_LOCK": "Lock the resolution when UEFI boot Windows/WinPE", + "VTLANG_UEFI_RES_LOCK_NONE": "None", + "VTLANG_UEFI_RES_LOCK_MAX": "Highest", + "VTLANG_UEFI_RES_LOCK_1024_768": "1024 x 768", + "MENU_STR_XXX": "" } diff --git a/INSTALL/grub/menu/de_DE.json b/INSTALL/grub/menu/de_DE.json index 050ec05d..e570ed54 100644 --- a/INSTALL/grub/menu/de_DE.json +++ b/INSTALL/grub/menu/de_DE.json @@ -88,6 +88,11 @@ "VTLANG_WIN11_BYPASS_NRO": "Umgehen Sie die Online-Kontoanforderung bei der Installation von Windows 11", "VTLANG_LINUX_REMOUNT": "Mounten Sie die Ventoy-Partition nach dem Booten von Linux", "VTLANG_SECONDARY_BOOT_MENU": "Sekundäres Bootmenü anzeigen", - + "VTLANG_WIN_UEFI_RES_LOCK": "Lock the resolution when UEFI boot Windows/WinPE", + "VTLANG_UEFI_RES_LOCK_NONE": "None", + "VTLANG_UEFI_RES_LOCK_MAX": "Highest", + "VTLANG_UEFI_RES_LOCK_1024_768": "1024 x 768", + + "MENU_STR_XXX": "" } diff --git a/INSTALL/grub/menu/el_GR.json b/INSTALL/grub/menu/el_GR.json index df389d59..5cc85c7c 100644 --- a/INSTALL/grub/menu/el_GR.json +++ b/INSTALL/grub/menu/el_GR.json @@ -88,6 +88,11 @@ "VTLANG_WIN11_BYPASS_NRO": "Παράκαμψη της απαίτησης online λογαριασμού κατά την εγκατάσταση των Windows 11", "VTLANG_LINUX_REMOUNT": "Προσάρτηση διαμερίσματος Ventoy μετά την εκκίνηση του Linux", "VTLANG_SECONDARY_BOOT_MENU": "Εμφάνιση δευτερεύοντος μενού εκκίνησης", - + "VTLANG_WIN_UEFI_RES_LOCK": "Lock the resolution when UEFI boot Windows/WinPE", + "VTLANG_UEFI_RES_LOCK_NONE": "None", + "VTLANG_UEFI_RES_LOCK_MAX": "Highest", + "VTLANG_UEFI_RES_LOCK_1024_768": "1024 x 768", + + "MENU_STR_XXX": "" } \ No newline at end of file diff --git a/INSTALL/grub/menu/en_US.json b/INSTALL/grub/menu/en_US.json index 6c4c5332..88a6f8e0 100644 --- a/INSTALL/grub/menu/en_US.json +++ b/INSTALL/grub/menu/en_US.json @@ -87,7 +87,11 @@ "VTLANG_WIN11_BYPASS_CHECK": "Bypass CPU/TPM/SecureBoot check when install Windows 11", "VTLANG_WIN11_BYPASS_NRO": "Bypass online account requirement when install Windows 11", "VTLANG_LINUX_REMOUNT": "Mount Ventoy partition after boot Linux", - "VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu", + "VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu", + "VTLANG_WIN_UEFI_RES_LOCK": "Lock the resolution when UEFI boot Windows/WinPE", + "VTLANG_UEFI_RES_LOCK_NONE": "None", + "VTLANG_UEFI_RES_LOCK_MAX": "Highest", + "VTLANG_UEFI_RES_LOCK_1024_768": "1024 x 768", "MENU_STR_XXX": "" } diff --git a/INSTALL/grub/menu/es_ES.json b/INSTALL/grub/menu/es_ES.json index 69bbcd80..c3b35b58 100644 --- a/INSTALL/grub/menu/es_ES.json +++ b/INSTALL/grub/menu/es_ES.json @@ -88,6 +88,11 @@ "VTLANG_WIN11_BYPASS_NRO": "Saltar requerimiento de cuenta en linea al instalar Windows 11", "VTLANG_LINUX_REMOUNT": "Montar partición de Ventoy después de arrancar Linux", "VTLANG_SECONDARY_BOOT_MENU": "Mostrar menú de arranque secundario", - + "VTLANG_WIN_UEFI_RES_LOCK": "Lock the resolution when UEFI boot Windows/WinPE", + "VTLANG_UEFI_RES_LOCK_NONE": "None", + "VTLANG_UEFI_RES_LOCK_MAX": "Highest", + "VTLANG_UEFI_RES_LOCK_1024_768": "1024 x 768", + + "MENU_STR_XXX": "" } diff --git a/INSTALL/grub/menu/fa_IR.json b/INSTALL/grub/menu/fa_IR.json index d44273fd..b6198df8 100644 --- a/INSTALL/grub/menu/fa_IR.json +++ b/INSTALL/grub/menu/fa_IR.json @@ -88,6 +88,11 @@ "VTLANG_WIN11_BYPASS_NRO": "دور زدن نیاز به حساب کاربری آنلاین هنگام نصب ویندوز 11", "VTLANG_LINUX_REMOUNT": "اتصال پارتیشن Ventoy بعد از بوت لینوکس", "VTLANG_SECONDARY_BOOT_MENU": "نمایش منوی بوت ثانویه", - + "VTLANG_WIN_UEFI_RES_LOCK": "Lock the resolution when UEFI boot Windows/WinPE", + "VTLANG_UEFI_RES_LOCK_NONE": "None", + "VTLANG_UEFI_RES_LOCK_MAX": "Highest", + "VTLANG_UEFI_RES_LOCK_1024_768": "1024 x 768", + + "MENU_STR_XXX": "" } diff --git a/INSTALL/grub/menu/fr_FR.json b/INSTALL/grub/menu/fr_FR.json index 257a671a..3c80f391 100644 --- a/INSTALL/grub/menu/fr_FR.json +++ b/INSTALL/grub/menu/fr_FR.json @@ -88,6 +88,11 @@ "VTLANG_WIN11_BYPASS_NRO": "Contourner l'exigence de compte en ligne lors de l'installation de Windows 11", "VTLANG_LINUX_REMOUNT": "Monter la partition Ventoy après le démarrage de Linux", "VTLANG_SECONDARY_BOOT_MENU": "Afficher le menu de démarrage secondaire", - + "VTLANG_WIN_UEFI_RES_LOCK": "Lock the resolution when UEFI boot Windows/WinPE", + "VTLANG_UEFI_RES_LOCK_NONE": "None", + "VTLANG_UEFI_RES_LOCK_MAX": "Highest", + "VTLANG_UEFI_RES_LOCK_1024_768": "1024 x 768", + + "MENU_STR_XXX": "" } diff --git a/INSTALL/grub/menu/hi_HI.json b/INSTALL/grub/menu/hi_HI.json index f3a967eb..187f00c5 100644 --- a/INSTALL/grub/menu/hi_HI.json +++ b/INSTALL/grub/menu/hi_HI.json @@ -88,6 +88,11 @@ "VTLANG_WIN11_BYPASS_NRO": "विंडोज 11 स्थापित करते समय ऑनलाइन खाते की आवश्यकता बाईपास", "VTLANG_LINUX_REMOUNT": "लिनक्स बूट के बाद वेंटॉय विभाजन को माउंट करें", "VTLANG_SECONDARY_BOOT_MENU": "द्वितीयक बूट मेनू दिखाएं", - + "VTLANG_WIN_UEFI_RES_LOCK": "Lock the resolution when UEFI boot Windows/WinPE", + "VTLANG_UEFI_RES_LOCK_NONE": "None", + "VTLANG_UEFI_RES_LOCK_MAX": "Highest", + "VTLANG_UEFI_RES_LOCK_1024_768": "1024 x 768", + + "MENU_STR_XXX": "" } diff --git a/INSTALL/grub/menu/hr_HR.json b/INSTALL/grub/menu/hr_HR.json index 7dc139c1..22540f73 100644 --- a/INSTALL/grub/menu/hr_HR.json +++ b/INSTALL/grub/menu/hr_HR.json @@ -88,6 +88,11 @@ "VTLANG_WIN11_BYPASS_NRO": "Bypass online account requirement when install Windows 11", "VTLANG_LINUX_REMOUNT": "Mount Ventoy partition after boot Linux", "VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu", - + "VTLANG_WIN_UEFI_RES_LOCK": "Lock the resolution when UEFI boot Windows/WinPE", + "VTLANG_UEFI_RES_LOCK_NONE": "None", + "VTLANG_UEFI_RES_LOCK_MAX": "Highest", + "VTLANG_UEFI_RES_LOCK_1024_768": "1024 x 768", + + "MENU_STR_XXX": "" } diff --git a/INSTALL/grub/menu/hu_HU.json b/INSTALL/grub/menu/hu_HU.json index 2f9ce3ae..281c615b 100644 --- a/INSTALL/grub/menu/hu_HU.json +++ b/INSTALL/grub/menu/hu_HU.json @@ -88,6 +88,11 @@ "VTLANG_WIN11_BYPASS_NRO": "Internetes fiók követelményének megkerülése Windows 11 telepítésekor", "VTLANG_LINUX_REMOUNT": "Ventoy partíció csatolása a Linux indítása után", "VTLANG_SECONDARY_BOOT_MENU": "Másodlagos indítási menü megjelenítése", - + "VTLANG_WIN_UEFI_RES_LOCK": "Lock the resolution when UEFI boot Windows/WinPE", + "VTLANG_UEFI_RES_LOCK_NONE": "None", + "VTLANG_UEFI_RES_LOCK_MAX": "Highest", + "VTLANG_UEFI_RES_LOCK_1024_768": "1024 x 768", + + "MENU_STR_XXX": "" } \ No newline at end of file diff --git a/INSTALL/grub/menu/id_ID.json b/INSTALL/grub/menu/id_ID.json index ddd2e956..f57c6eb9 100644 --- a/INSTALL/grub/menu/id_ID.json +++ b/INSTALL/grub/menu/id_ID.json @@ -88,6 +88,11 @@ "VTLANG_WIN11_BYPASS_NRO": "Melewati persyaratan akun online ketika memasang Windows 11", "VTLANG_LINUX_REMOUNT": "Memuat partisi Ventoy setelah boot ke Linux", "VTLANG_SECONDARY_BOOT_MENU": "Tampilkan menu boot sekunder", - + "VTLANG_WIN_UEFI_RES_LOCK": "Lock the resolution when UEFI boot Windows/WinPE", + "VTLANG_UEFI_RES_LOCK_NONE": "None", + "VTLANG_UEFI_RES_LOCK_MAX": "Highest", + "VTLANG_UEFI_RES_LOCK_1024_768": "1024 x 768", + + "MENU_STR_XXX": "" } diff --git a/INSTALL/grub/menu/it_IT.json b/INSTALL/grub/menu/it_IT.json index 0549282d..0fab7dfb 100644 --- a/INSTALL/grub/menu/it_IT.json +++ b/INSTALL/grub/menu/it_IT.json @@ -88,6 +88,11 @@ "VTLANG_WIN11_BYPASS_NRO": "Durante l'installazione di Windows 11 bypassa il requisito di un account online ", "VTLANG_LINUX_REMOUNT": "Dopo l'avvio di Linux monta la partizione Ventoy ", "VTLANG_SECONDARY_BOOT_MENU": "Visualizza menu di avvio secondario", - + "VTLANG_WIN_UEFI_RES_LOCK": "Lock the resolution when UEFI boot Windows/WinPE", + "VTLANG_UEFI_RES_LOCK_NONE": "None", + "VTLANG_UEFI_RES_LOCK_MAX": "Highest", + "VTLANG_UEFI_RES_LOCK_1024_768": "1024 x 768", + + "MENU_STR_XXX": "" } diff --git a/INSTALL/grub/menu/ja_JP.json b/INSTALL/grub/menu/ja_JP.json index 42738ac2..e5b67cfa 100644 --- a/INSTALL/grub/menu/ja_JP.json +++ b/INSTALL/grub/menu/ja_JP.json @@ -88,6 +88,11 @@ "VTLANG_WIN11_BYPASS_NRO": "Bypass online account requirement when install Windows 11", "VTLANG_LINUX_REMOUNT": "Mount Ventoy partition after boot Linux", "VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu", - + "VTLANG_WIN_UEFI_RES_LOCK": "Lock the resolution when UEFI boot Windows/WinPE", + "VTLANG_UEFI_RES_LOCK_NONE": "None", + "VTLANG_UEFI_RES_LOCK_MAX": "Highest", + "VTLANG_UEFI_RES_LOCK_1024_768": "1024 x 768", + + "MENU_STR_XXX": "" } diff --git a/INSTALL/grub/menu/ka_GE.json b/INSTALL/grub/menu/ka_GE.json index 82056ce3..50d30f63 100644 --- a/INSTALL/grub/menu/ka_GE.json +++ b/INSTALL/grub/menu/ka_GE.json @@ -88,6 +88,11 @@ "VTLANG_WIN11_BYPASS_NRO": "Bypass online account requirement when install Windows 11", "VTLANG_LINUX_REMOUNT": "Mount Ventoy partition after boot Linux", "VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu", + "VTLANG_WIN_UEFI_RES_LOCK": "Lock the resolution when UEFI boot Windows/WinPE", + "VTLANG_UEFI_RES_LOCK_NONE": "None", + "VTLANG_UEFI_RES_LOCK_MAX": "Highest", + "VTLANG_UEFI_RES_LOCK_1024_768": "1024 x 768", + "MENU_STR_XXX": "" } diff --git a/INSTALL/grub/menu/ko_KR.json b/INSTALL/grub/menu/ko_KR.json index c5173ac9..4dbe0e3c 100644 --- a/INSTALL/grub/menu/ko_KR.json +++ b/INSTALL/grub/menu/ko_KR.json @@ -88,6 +88,11 @@ "VTLANG_WIN11_BYPASS_NRO": "Windows 11 설치 시 온라인 계정 요구 사항 무시", "VTLANG_LINUX_REMOUNT": "Linux 부팅 후 Ventoy 파티션 마운트", "VTLANG_SECONDARY_BOOT_MENU": "보조 부팅 메뉴 표시", - + "VTLANG_WIN_UEFI_RES_LOCK": "Lock the resolution when UEFI boot Windows/WinPE", + "VTLANG_UEFI_RES_LOCK_NONE": "None", + "VTLANG_UEFI_RES_LOCK_MAX": "Highest", + "VTLANG_UEFI_RES_LOCK_1024_768": "1024 x 768", + + "MENU_STR_XXX": "" } diff --git a/INSTALL/grub/menu/lg_UG.json b/INSTALL/grub/menu/lg_UG.json index 6c4c5332..24cde77d 100644 --- a/INSTALL/grub/menu/lg_UG.json +++ b/INSTALL/grub/menu/lg_UG.json @@ -88,6 +88,11 @@ "VTLANG_WIN11_BYPASS_NRO": "Bypass online account requirement when install Windows 11", "VTLANG_LINUX_REMOUNT": "Mount Ventoy partition after boot Linux", "VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu", - + "VTLANG_WIN_UEFI_RES_LOCK": "Lock the resolution when UEFI boot Windows/WinPE", + "VTLANG_UEFI_RES_LOCK_NONE": "None", + "VTLANG_UEFI_RES_LOCK_MAX": "Highest", + "VTLANG_UEFI_RES_LOCK_1024_768": "1024 x 768", + + "MENU_STR_XXX": "" } diff --git a/INSTALL/grub/menu/pl_PL.json b/INSTALL/grub/menu/pl_PL.json index d1166278..e07c7071 100644 --- a/INSTALL/grub/menu/pl_PL.json +++ b/INSTALL/grub/menu/pl_PL.json @@ -88,6 +88,11 @@ "VTLANG_WIN11_BYPASS_NRO": "Pominięcie wymogu posiadania konta online podczas instalacji systemu Windows 11", "VTLANG_LINUX_REMOUNT": "Zamontuj partycję Ventoy po starcie Linuksa", "VTLANG_SECONDARY_BOOT_MENU": "Pokaż dodatkowe menu startowe", - + "VTLANG_WIN_UEFI_RES_LOCK": "Lock the resolution when UEFI boot Windows/WinPE", + "VTLANG_UEFI_RES_LOCK_NONE": "None", + "VTLANG_UEFI_RES_LOCK_MAX": "Highest", + "VTLANG_UEFI_RES_LOCK_1024_768": "1024 x 768", + + "MENU_STR_XXX": "" } diff --git a/INSTALL/grub/menu/pt_BR.json b/INSTALL/grub/menu/pt_BR.json index f36c97e6..4aa0eeee 100644 --- a/INSTALL/grub/menu/pt_BR.json +++ b/INSTALL/grub/menu/pt_BR.json @@ -88,6 +88,11 @@ "VTLANG_WIN11_BYPASS_NRO": "Ignorar o requerimento de conta online quanto instalar o Windows 11", "VTLANG_LINUX_REMOUNT": "Montar a partição do Ventoy após iniciar o Linux", "VTLANG_SECONDARY_BOOT_MENU": "Mostrar o menu secundário da inicialização", - + "VTLANG_WIN_UEFI_RES_LOCK": "Lock the resolution when UEFI boot Windows/WinPE", + "VTLANG_UEFI_RES_LOCK_NONE": "None", + "VTLANG_UEFI_RES_LOCK_MAX": "Highest", + "VTLANG_UEFI_RES_LOCK_1024_768": "1024 x 768", + + "MENU_STR_XXX": "" } diff --git a/INSTALL/grub/menu/pt_PT.json b/INSTALL/grub/menu/pt_PT.json index c40d74f9..d3201f95 100644 --- a/INSTALL/grub/menu/pt_PT.json +++ b/INSTALL/grub/menu/pt_PT.json @@ -88,6 +88,11 @@ "VTLANG_WIN11_BYPASS_NRO": "Ignorar requerimento de conta online quanto instalando Windows 11", "VTLANG_LINUX_REMOUNT": "Montar partição Ventoy após boot do Linux", "VTLANG_SECONDARY_BOOT_MENU": "Mostar menu seundário de boot", - + "VTLANG_WIN_UEFI_RES_LOCK": "Lock the resolution when UEFI boot Windows/WinPE", + "VTLANG_UEFI_RES_LOCK_NONE": "None", + "VTLANG_UEFI_RES_LOCK_MAX": "Highest", + "VTLANG_UEFI_RES_LOCK_1024_768": "1024 x 768", + + "MENU_STR_XXX": "" } diff --git a/INSTALL/grub/menu/ru_RU.json b/INSTALL/grub/menu/ru_RU.json index 15f2c85c..34d81043 100644 --- a/INSTALL/grub/menu/ru_RU.json +++ b/INSTALL/grub/menu/ru_RU.json @@ -88,6 +88,11 @@ "VTLANG_WIN11_BYPASS_NRO": "Обойти требование сетевой учётной записи при установке Windows 11", "VTLANG_LINUX_REMOUNT": "Смонтировать раздел Ventoy после загрузки Linux", "VTLANG_SECONDARY_BOOT_MENU": "Показать вторичное загрузочное меню", - + "VTLANG_WIN_UEFI_RES_LOCK": "Lock the resolution when UEFI boot Windows/WinPE", + "VTLANG_UEFI_RES_LOCK_NONE": "None", + "VTLANG_UEFI_RES_LOCK_MAX": "Highest", + "VTLANG_UEFI_RES_LOCK_1024_768": "1024 x 768", + + "MENU_STR_XXX": "" } diff --git a/INSTALL/grub/menu/sl_si.json b/INSTALL/grub/menu/sl_si.json index 9c25f750..e3c802eb 100644 --- a/INSTALL/grub/menu/sl_si.json +++ b/INSTALL/grub/menu/sl_si.json @@ -88,6 +88,11 @@ "VTLANG_WIN11_BYPASS_NRO": "Obid zahteve po spletnem računu pri namestitvi sistema Windows 11", "VTLANG_LINUX_REMOUNT": "Priklopi Ventoy particijo po zagonu Linuxa", "VTLANG_SECONDARY_BOOT_MENU": "Prikaz sekundarnega zagonskega menija", + "VTLANG_WIN_UEFI_RES_LOCK": "Lock the resolution when UEFI boot Windows/WinPE", + "VTLANG_UEFI_RES_LOCK_NONE": "None", + "VTLANG_UEFI_RES_LOCK_MAX": "Highest", + "VTLANG_UEFI_RES_LOCK_1024_768": "1024 x 768", + "MENU_STR_XXX": "" } diff --git a/INSTALL/grub/menu/sr_RS.json b/INSTALL/grub/menu/sr_RS.json index c71e8b10..5f2bda59 100644 --- a/INSTALL/grub/menu/sr_RS.json +++ b/INSTALL/grub/menu/sr_RS.json @@ -88,6 +88,11 @@ "VTLANG_WIN11_BYPASS_NRO": "Bypass online account requirement when install Windows 11", "VTLANG_LINUX_REMOUNT": "Mount Ventoy partition after boot Linux", "VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu", - + "VTLANG_WIN_UEFI_RES_LOCK": "Lock the resolution when UEFI boot Windows/WinPE", + "VTLANG_UEFI_RES_LOCK_NONE": "None", + "VTLANG_UEFI_RES_LOCK_MAX": "Highest", + "VTLANG_UEFI_RES_LOCK_1024_768": "1024 x 768", + + "MENU_STR_XXX": "" } diff --git a/INSTALL/grub/menu/ta_IN.json b/INSTALL/grub/menu/ta_IN.json index 1c64cc4d..93ac3980 100644 --- a/INSTALL/grub/menu/ta_IN.json +++ b/INSTALL/grub/menu/ta_IN.json @@ -88,6 +88,11 @@ "VTLANG_WIN11_BYPASS_NRO": "விண்டோஸ் 11 ஐ நிறுவும் போது ஆன்லைன் கணக்கின் தேவையை புறக்கணிக்கவும்", "VTLANG_LINUX_REMOUNT": "லினக்ஸை துவக்கிய பிறகு Ventoy பகிர்வை ஏற்றவும்", "VTLANG_SECONDARY_BOOT_MENU": "இரண்டாம் நிலை துவக்க பட்டியலைக் காட்டு", - + "VTLANG_WIN_UEFI_RES_LOCK": "Lock the resolution when UEFI boot Windows/WinPE", + "VTLANG_UEFI_RES_LOCK_NONE": "None", + "VTLANG_UEFI_RES_LOCK_MAX": "Highest", + "VTLANG_UEFI_RES_LOCK_1024_768": "1024 x 768", + + "MENU_STR_XXX": "" } diff --git a/INSTALL/grub/menu/tr_TR.json b/INSTALL/grub/menu/tr_TR.json index bb7bc360..0eae0bdf 100644 --- a/INSTALL/grub/menu/tr_TR.json +++ b/INSTALL/grub/menu/tr_TR.json @@ -88,6 +88,11 @@ "VTLANG_WIN11_BYPASS_NRO": "Windows11'i yüklerken, çevrimiçi hesap gereksinimini(OOBE) atla", "VTLANG_LINUX_REMOUNT": "Linux sistemi önyükledikten sonra, Ventoy bölümünü bağla", "VTLANG_SECONDARY_BOOT_MENU": "İkincil önyükleme menüsünü göster", + "VTLANG_WIN_UEFI_RES_LOCK": "Lock the resolution when UEFI boot Windows/WinPE", + "VTLANG_UEFI_RES_LOCK_NONE": "None", + "VTLANG_UEFI_RES_LOCK_MAX": "Highest", + "VTLANG_UEFI_RES_LOCK_1024_768": "1024 x 768", + "MENU_STR_XXX": "" } diff --git a/INSTALL/grub/menu/uk_UA.json b/INSTALL/grub/menu/uk_UA.json index caf810b1..19cfe0ab 100644 --- a/INSTALL/grub/menu/uk_UA.json +++ b/INSTALL/grub/menu/uk_UA.json @@ -88,6 +88,11 @@ "VTLANG_WIN11_BYPASS_NRO": "Обійти вимогу онлайн-аккаунту під час інсталяції Windows 11", "VTLANG_LINUX_REMOUNT": "Монтувати розділ Ventoy після завантаження Linux", "VTLANG_SECONDARY_BOOT_MENU": "Показувати вторинне меню завантаження", - + "VTLANG_WIN_UEFI_RES_LOCK": "Lock the resolution when UEFI boot Windows/WinPE", + "VTLANG_UEFI_RES_LOCK_NONE": "None", + "VTLANG_UEFI_RES_LOCK_MAX": "Highest", + "VTLANG_UEFI_RES_LOCK_1024_768": "1024 x 768", + + "MENU_STR_XXX": "" } diff --git a/INSTALL/grub/menu/vi_VN.json b/INSTALL/grub/menu/vi_VN.json index eddf6e78..2dc4729c 100644 --- a/INSTALL/grub/menu/vi_VN.json +++ b/INSTALL/grub/menu/vi_VN.json @@ -88,6 +88,11 @@ "VTLANG_WIN11_BYPASS_NRO": "Bỏ qua yêu cầu tài khoản trực tuyến khi cài đặt Windows 11", "VTLANG_LINUX_REMOUNT": "Gắn phân vùng Ventoy sau khi khởi động GNU/Linux", "VTLANG_SECONDARY_BOOT_MENU": "Hiện menu khởi động thứ cấp`", - + "VTLANG_WIN_UEFI_RES_LOCK": "Lock the resolution when UEFI boot Windows/WinPE", + "VTLANG_UEFI_RES_LOCK_NONE": "None", + "VTLANG_UEFI_RES_LOCK_MAX": "Highest", + "VTLANG_UEFI_RES_LOCK_1024_768": "1024 x 768", + + "MENU_STR_XXX": "" } diff --git a/INSTALL/grub/menu/zh_CN.json b/INSTALL/grub/menu/zh_CN.json index 570d11ae..a084bd96 100644 --- a/INSTALL/grub/menu/zh_CN.json +++ b/INSTALL/grub/menu/zh_CN.json @@ -88,6 +88,10 @@ "VTLANG_WIN11_BYPASS_NRO": "安装 Windows 11 时绕过在线账户的要求", "VTLANG_LINUX_REMOUNT": "启动 Linux 系统后挂载 Ventoy 分区", "VTLANG_SECONDARY_BOOT_MENU": "显示二级启动菜单", + "VTLANG_WIN_UEFI_RES_LOCK": "UEFI启动 Windows/WinPE 时锁定分辨率", + "VTLANG_UEFI_RES_LOCK_NONE": "不锁定", + "VTLANG_UEFI_RES_LOCK_MAX": "锁定最高分辨率", + "VTLANG_UEFI_RES_LOCK_1024_768": "锁定 1024 x 768", "MENU_STR_XXX": "" } diff --git a/INSTALL/grub/menu/zh_TW.json b/INSTALL/grub/menu/zh_TW.json index 962fe5d7..0af425a8 100644 --- a/INSTALL/grub/menu/zh_TW.json +++ b/INSTALL/grub/menu/zh_TW.json @@ -88,6 +88,11 @@ "VTLANG_WIN11_BYPASS_NRO": "安裝 Windows 11 時繞過登入帳戶的需求", "VTLANG_LINUX_REMOUNT": "啟動 Linux 系統後掛載 Ventoy 分區", "VTLANG_SECONDARY_BOOT_MENU": "顯示次要啟動選單", - + "VTLANG_WIN_UEFI_RES_LOCK": "Lock the resolution when UEFI boot Windows/WinPE", + "VTLANG_UEFI_RES_LOCK_NONE": "None", + "VTLANG_UEFI_RES_LOCK_MAX": "Highest", + "VTLANG_UEFI_RES_LOCK_1024_768": "1024 x 768", + + "MENU_STR_XXX": "" }