Compare commits

...

79 Commits

Author SHA1 Message Date
longpanda
d8698b2194 1.0.89 release 2023-03-07 19:21:15 +08:00
longpanda
7fa4724743 Fix the menu missing issue when there exist an invalid vlnk file. (#2228) 2023-03-07 18:05:33 +08:00
WebSnke
2717405a7a Add German translation for STR_4KN_UNSUPPORTED (#2277) 2023-03-05 20:59:09 +08:00
wiz64
d494007df9 update japanese (#2264) 2023-03-05 20:58:55 +08:00
Tayfun Akkoyun
bc9e3f641b Update tr_TR.txt (#2262)
Long translations edited to be shorter
2023-03-05 20:58:32 +08:00
dmitrygribenchuk
9f02d37001 Update translation (#2261)
* update translation

* update translation
2023-03-05 20:58:16 +08:00
Thunderstrike116
fa1461bac7 Add Greek Language (#2258)
* Added Greek Translation

* Added Greek Translation
2023-03-05 20:57:55 +08:00
marcellogianola
3d56c3fa17 Update languages.json (#2257) 2023-03-05 20:57:29 +08:00
ИEØ_ΙΙØZ
a7e3d78d14 Update zh_TW.json (#2256) 2023-03-05 20:57:05 +08:00
longpanda
879a7592bd Fix dm_patch for new linux kernel. 2023-02-20 11:59:03 +08:00
longpanda
5a433f49f7 Optimization for booting Fedora series. 2023-02-18 21:33:05 +08:00
Ikko Eltociear Ashimine
0cce956c54 Fix typo in EXT/README.txt (#2247)
bellow -> below
2023-02-18 21:31:37 +08:00
Ing. Jan Kaláb
0b6372857c Fix typo in Czech translation (#2252)
Thanks to Jiří Červinka
2023-02-18 21:31:19 +08:00
M
028663de9a Update Polish translation (#2232) 2023-02-18 21:31:09 +08:00
Tyemak
5feb3f7b4b Update languages.json (#2230) 2023-02-18 21:30:48 +08:00
longpanda
7035787f38 update languages.json 2023-02-08 10:42:35 +08:00
ИEØ_ΙΙØZ
7dd0f509f5 Update languages.json (#2207)
Fixed one string for Traditional Chinese,
Sorry, I missed it in my last submission.
2023-02-08 10:37:35 +08:00
andrewczm
15947caea2 Updated Polish translation (#2212)
* Update pl_PL.json

A few corrections to the Polish translation

* Update pl_PL.json

small correction

* Update pl_PL.json

the latest update

* Updated Polish translation

Some cosmetic corrections in the Polish translation
2023-02-08 10:36:39 +08:00
YALdysse
6aeba8f8b4 fix ukrainian language (#2222) 2023-02-08 10:36:16 +08:00
ИEØ_ΙΙØZ
fd46b2c3c3 Update languages.json (#2204)
add & correct some strings
2023-02-02 15:51:28 +08:00
YALdysse
e502f4291e Ukrainian language (#2199) 2023-02-02 15:50:22 +08:00
andrewczm
9c59c27eff Update pl_PL.json (#2191)
* Update pl_PL.json

A few corrections to the Polish translation

* Update pl_PL.json

small correction

* Update pl_PL.json

the latest update
2023-02-02 15:50:02 +08:00
YALdysse
daeb96ce80 fixed russian translation (#2190) 2023-02-02 15:49:42 +08:00
YALdysse
b7e878c466 fixed russian translation (#2189) 2023-02-02 15:49:28 +08:00
VenusGirl❤
b76ebf5b07 Update languages.json (#2186) 2023-02-02 15:49:10 +08:00
VenusGirl❤
9532776f39 Update ko_KR.txt (#2188)
* Update ko_KR.txt

* Update ko_KR.txt
2023-02-02 15:48:43 +08:00
Ing. Jan Kaláb
d8e81d41e4 Czech translation (#2185)
* Czech translation

* Fix missing translations

---------

Co-authored-by: Ing. Jan Kaláb <jan@kalabovi.org>
2023-02-02 15:48:16 +08:00
VenusGirl❤
fa3aa3b36f Update ko_KR.json (#2177)
* Update ko_KR.json

* Update ko_KR.json

* Update ko_KR.json
2023-02-02 15:47:48 +08:00
MELERIX
e717d00d53 Update Spanish Latinoamérica translation (#2179) 2023-02-02 15:47:30 +08:00
wiz64
6bcaf19a1a Update languages.json (#2172) 2023-01-16 15:35:25 +08:00
wiz64
bcbe8835d4 update Russian and Bengali languages.json (#2167) 2023-01-15 21:10:25 +08:00
gidano
ed746ce13e Fixed hungarian text (#2163) 2023-01-15 21:10:11 +08:00
VenusGirl❤
07a790fc6a Update languages.json (#2160)
Korean Update
2023-01-15 21:09:54 +08:00
Tayfun Akkoyun
fd393a02fd Update languages.json (#2159)
"STR_4KN_UNSUPPORTED" line is translated to turkish language
2023-01-15 21:09:37 +08:00
longpanda
0501d03dbb Fix the syntax error in hu_HU.json 2023-01-15 13:15:51 +08:00
longpanda
c9939a8cfc Ignore reserved space when do non-destructive installation via GUI. (#2168) 2023-01-15 09:41:46 +08:00
longpanda
5067020a61 Add tip message when theme file contains non-enclosed literal values. (#2166) 2023-01-14 23:07:08 +08:00
longpanda
4f5334026e 1. Fix the issue that Ventoy2Disk_X64.exe can not run under altexe directory.
2. Fix the issue that VentoyPlugson_X64.exe exit silently.
3. Add missing /FS option for Ventoy2Disk.exe in Windows command line mode.
4. Ventoy2Disk.exe automatically change current directory when started from other directory.
2023-01-14 21:56:19 +08:00
longpanda
3e34dd8514 1.0.88 release 2023-01-13 21:57:44 +08:00
longpanda
4df793e021 1. Add new options for Windows CLI mode.
2. Add tip message for 4k native disk.
2023-01-13 20:55:40 +08:00
longpanda
e0132ac4b5 switch to en_US when use text mode. 2023-01-10 16:17:08 +08:00
VenusGirl❤
2b3192b098 Update ko_KR.json (#2152) 2023-01-10 15:48:22 +08:00
민웅기
7ee3a6d9f8 Update ko_KR (부트 -> 부팅) (#2147)
Changed the word "boot" to be spelled "부팅" rather than "부트" in the general context.

일반적인 맥락에서 단어 "boot"는 부트보다 부팅로 표기되므로 변경하였습니다.
2023-01-10 15:09:29 +08:00
Pierfrancesco Passerini
e1d3ca9fc4 Update italian language (#2141)
Small fix to Italian
2023-01-10 15:09:17 +08:00
Stefan Šućur
8653832551 Fixed and updated Serbian translations (both writing systems) (#2144)
* Update Serbian (both writing systems)

Fixed a stray Cyrillic word in the Latin text.
Translated the untranslated strings in both texts.
Changed a word in both texts.
Added part of a string that was missing in the Cyrillic version.
Fixed spelling mistakes in the Cyrillic text.

* Update languages.json

Added myself to the credits of the Cyrillic text too, as I forgot to do so earlier.
2023-01-10 15:08:54 +08:00
longpanda
c308892db0 Show file checksum menu title according to the existence of checksum value. 2023-01-10 12:23:35 +08:00
longpanda
1300f7f4f1 Fix the VHD(x) boot issue introduced in 1.0.87. 2023-01-10 09:37:05 +08:00
longpanda
d9182dbfa4 Fix the syntax error in F4 localboot 2023-01-10 09:17:18 +08:00
longpanda
e988c0dfe2 Fix that workaround #2 not working for Legacy BIOS access limit. 2023-01-08 21:35:50 +08:00
longpanda
0714971f8c Fix VTOY_WIN11_BYPASS_CHECK/VTOY_WIN11_BYPASS_NRO option web page display issue. 2023-01-07 20:14:38 +08:00
longpanda
3c03df31ce 1.0.87 release 2023-01-07 15:57:53 +08:00
longpanda
e24dacadcd Add /F option for VentoyPlugson.exe to use the system default browser.
By default it will firstly try to use Google Chrome if possible.
2023-01-07 15:35:47 +08:00
longpanda
315cabb945 Fix the file path when file checksum in F2 browse mode. 2023-01-07 11:33:04 +08:00
longpanda
72f25f14fc Merge branch 'master' of https://github.com/ventoy/Ventoy 2023-01-06 21:26:39 +08:00
longpanda
47e1553d23 Optimization for VTOY_WIN11_BYPASS_NRO option process. 2023-01-06 21:26:31 +08:00
MELERIX
9a2a7e83eb Add Spanish Translation (json/txt) grub menu (#2135)
* Add Spanish Tranlsation (json/txt) grub menu

* renamed
2023-01-06 12:23:05 +08:00
K.B.Dharun Krishna
5f747148c6 grub/menu: Update Tamil translation (#2133) 2023-01-06 11:55:40 +08:00
longpanda
686ed11037 Optimization for Lenovo Recovery Image (USB unplug process) 2023-01-05 22:18:39 +08:00
longpanda
7fe4762faa 1. grub2 mode supports Porteus ISO file.
2. Optimization for Lenovo Recovery Image.
2023-01-04 21:46:40 +08:00
longpanda
eac1c35f76 Fix the bug when F2 browse and boot VHD/VHDX files in an extend logic partition. 2023-01-04 19:22:02 +08:00
longpanda
c7dcaa5734 1. Fix the blank item in the last of Language select menu
2. Fix the menu display VTLANG_NO_PERSISTENCE issue when use persistence
2023-01-04 19:19:32 +08:00
longpanda
4b17ee30c4 Add "return to previous menu" in secondary boot menu for convenience. 2023-01-04 15:55:32 +08:00
longpanda
a18aa36c01 Code optimization 2023-01-04 15:39:03 +08:00
Tyemak
1de7489c6d Update ru_RU.txt (#2130) 2023-01-03 20:58:13 +08:00
longpanda
afb3340ce7 Disable Fn/L/Ctrl hotkeys when selecting auto install script or perssitence file. 2023-01-03 19:11:36 +08:00
longpanda
fdce4a756a Add support for Dell PER ISO. (#2113) 2023-01-03 16:43:17 +08:00
longpanda
5a7fa0c565 Support lenovo product recovery iso file. 2023-01-03 11:35:27 +08:00
longpanda
287d77224c Disable Fn/L/Ctrl hotkeys on select WIM menu. 2023-01-03 11:29:50 +08:00
longpanda
c6bd857cbe Support BSD style for .md5/.sha1/.sh256/.sha512 checksum file.
Support VENTOY_CHECKSUM file for checksum file.
(#2112)
2023-01-01 00:31:08 +08:00
wiz64
b4bb6efd3c Update ru_RU.txt (#2120) 2022-12-31 20:59:08 +08:00
Hildo Guillardi Júnior
7386f64ed8 Update pt_PT.json (#2118) 2022-12-31 20:58:50 +08:00
Hildo Guillardi Júnior
044ca8811d PT translate and SI grammar (#2117) 2022-12-31 20:58:38 +08:00
Tyemak
8c6fd872af Update ru_RU.json (#2114) 2022-12-31 20:58:06 +08:00
longpanda
683101ae1a vtoyjump optimization.
Signed-off-by: longpanda <admin@ventoy.net>
2022-12-31 19:41:15 +08:00
longpanda
0e968e266e Update the F1 help text. WIMBOOT mode supports both Windows and WinPE ISO files. 2022-12-29 18:48:06 +08:00
longpanda
d94d59583a Search VTEFI directory for UEFI boot files.
When user install for example Windows in the reserved space of Ventoy USB stick in UEFI mode.
Windows will create part 3 as the EFI partition and when you boot the USB stick, the BIOS may skip Ventoy and directly boot the Windows.
To avoid this, we suggest to rename the directory name from EFI to VTEFI.
2022-12-26 22:08:23 +08:00
gidano
05bbef63c1 Edited! (#2105)
* Hungarian translation

* Hungarian translation

* HU update languages.json

Jól értettem, hogy a *#-t módosítani kell \r\n-re?!

* Edited!
2022-12-26 17:01:43 +08:00
longpanda
8923d4b8f1 Fix the menu title of F5 Tools ---> Power ---> $VTLANG_POWER_REBOOT_EFIFW 2022-12-26 16:56:53 +08:00
longpanda
377cd9e468 Update readme 2022-12-25 17:23:50 +08:00
147 changed files with 3199 additions and 592 deletions

View File

@@ -21,7 +21,7 @@ body:
attributes:
label: Ventoy Version
description: What version of ventoy are you running?
placeholder: 1.0.84
placeholder: 1.0.87
validations:
required: true
- type: dropdown

View File

@@ -51,7 +51,8 @@ typedef struct ko_param
unsigned long sym_get_size;
unsigned long sym_put_addr;
unsigned long sym_put_size;
unsigned long padding[3];
unsigned long kv_major;
unsigned long padding[2];
}ko_param;
#pragma pack()
@@ -69,13 +70,23 @@ static volatile ko_param g_ko_param =
};
#if defined(CONFIG_X86_64)
#define PATCH_OP_POS 3
#define CODE_MATCH(code, i) \
#define PATCH_OP_POS1 3
#define CODE_MATCH1(code, i) \
(code[i] == 0x40 && code[i + 1] == 0x80 && code[i + 2] == 0xce && code[i + 3] == 0x80)
#define PATCH_OP_POS2 1
#define CODE_MATCH2(code, i) \
(code[i] == 0x0C && code[i + 1] == 0x80 && code[i + 2] == 0x89 && code[i + 3] == 0xC6)
#elif defined(CONFIG_X86_32)
#define PATCH_OP_POS 2
#define CODE_MATCH(code, i) \
#define PATCH_OP_POS1 2
#define CODE_MATCH1(code, i) \
(code[i] == 0x80 && code[i + 1] == 0xca && code[i + 2] == 0x80 && code[i + 3] == 0xe8)
#define PATCH_OP_POS2 2
#define CODE_MATCH2(code, i) \
(code[i] == 0x80 && code[i + 1] == 0xca && code[i + 2] == 0x80 && code[i + 3] == 0xe8)
#else
#error "unsupported arch"
#endif
@@ -100,6 +111,7 @@ static void notrace dmpatch_restore_code(unsigned char *opCode)
static int notrace dmpatch_replace_code
(
int style,
unsigned long addr,
unsigned long size,
int expect,
@@ -112,14 +124,25 @@ static int notrace dmpatch_replace_code
unsigned long align;
unsigned char *opCode = (unsigned char *)addr;
vdebug("patch for %s 0x%lx %d\n", desc, addr, (int)size);
vdebug("patch for %s style[%d] 0x%lx %d\n", desc, style, addr, (int)size);
for (i = 0; i < (int)size - 4; i++)
{
if (CODE_MATCH(opCode, i) && cnt < MAX_PATCH)
if (style == 1)
{
patch[cnt] = opCode + i + PATCH_OP_POS;
cnt++;
if (CODE_MATCH1(opCode, i) && cnt < MAX_PATCH)
{
patch[cnt] = opCode + i + PATCH_OP_POS1;
cnt++;
}
}
else
{
if (CODE_MATCH2(opCode, i) && cnt < MAX_PATCH)
{
patch[cnt] = opCode + i + PATCH_OP_POS2;
cnt++;
}
}
}
@@ -169,7 +192,13 @@ static int notrace dmpatch_init(void)
reg_kprobe = (kprobe_reg_pf)g_ko_param.reg_kprobe_addr;
unreg_kprobe = (kprobe_unreg_pf)g_ko_param.unreg_kprobe_addr;
r = dmpatch_replace_code(g_ko_param.sym_get_addr, g_ko_param.sym_get_size, 2, "dm_get_table_device", g_get_patch);
r = dmpatch_replace_code(1, g_ko_param.sym_get_addr, g_ko_param.sym_get_size, 2, "dm_get_table_device", g_get_patch);
if (r && g_ko_param.kv_major >= 5)
{
vdebug("new patch dm_get_table_device...\n");
r = dmpatch_replace_code(2, g_ko_param.sym_get_addr, g_ko_param.sym_get_size, 1, "dm_get_table_device", g_get_patch);
}
if (r)
{
rc = -EINVAL;
@@ -177,7 +206,7 @@ static int notrace dmpatch_init(void)
}
vdebug("patch dm_get_table_device success\n");
r = dmpatch_replace_code(g_ko_param.sym_put_addr, g_ko_param.sym_put_size, 1, "dm_put_table_device", g_put_patch);
r = dmpatch_replace_code(1, g_ko_param.sym_put_addr, g_ko_param.sym_put_size, 1, "dm_put_table_device", g_put_patch);
if (r)
{
rc = -EINVAL;

View File

@@ -260,6 +260,7 @@ grub_cmd_hashsum (struct grub_extcmd_context *ctxt,
grub_file_t file;
grub_err_t err;
unsigned j;
int vlnk = 0;
file = grub_file_open (args[i], GRUB_FILE_TYPE_TO_HASH
| (!uncompress ? GRUB_FILE_TYPE_NO_DECOMPRESS
: GRUB_FILE_TYPE_NONE));
@@ -272,6 +273,7 @@ grub_cmd_hashsum (struct grub_extcmd_context *ctxt,
unread++;
continue;
}
vlnk = file->vlnk;
err = hash_file (file, hash, result);
grub_file_close (file);
if (err)
@@ -288,7 +290,7 @@ grub_cmd_hashsum (struct grub_extcmd_context *ctxt,
grub_printf ("%02x", ((grub_uint8_t *) result)[j]);
len += grub_snprintf(hashsum + len, sizeof(hashsum) - len, "%02x", ((grub_uint8_t *) result)[j]);
}
grub_printf (" %s\n", args[i]);
grub_printf (" %s\n", vlnk ? grub_file_get_vlnk(args[i], NULL) : args[i]);
grub_env_set("VT_LAST_CHECK_SUM", hashsum);
}

View File

@@ -734,6 +734,11 @@ read_property (struct parsebuf *p)
"%s:%d:%d property value invalid; "
"enclose literal values in quotes (\")",
p->filename, p->line_num, p->col_num);
grub_printf("File: %s\nLine:%d Column:%d\n"
"property value invalid; enclose literal values in quotes (\")\n\n",
p->filename, p->line_num, p->col_num);
goto done;
}

View File

@@ -200,7 +200,8 @@ const char *grub_file_get_vlnk(const char *name, int *vlnk)
if (len == g_vtoy_vlnk.srclen && grub_strcmp(name, g_vtoy_vlnk.src) == 0)
{
*vlnk = 1;
if (vlnk)
*vlnk = 1;
return g_vtoy_vlnk.dst;
}
@@ -208,7 +209,8 @@ const char *grub_file_get_vlnk(const char *name, int *vlnk)
{
if (node->srclen == len && grub_strcmp(name, node->src) == 0)
{
*vlnk = 1;
if (vlnk)
*vlnk = 1;
return node->dst;
}
node = node->next;

View File

@@ -951,12 +951,12 @@ run_menu (grub_menu_t menu, int nested, int *auto_boot)
menu_fini ();
if (g_ventoy_terminal_output == 0)
{
grub_script_execute_sourcecode("terminal_output console");
grub_script_execute_sourcecode("vt_push_menu_lang en_US\nterminal_output console");
g_ventoy_terminal_output = 1;
}
else
{
grub_script_execute_sourcecode("terminal_output gfxterm");
grub_script_execute_sourcecode("terminal_output gfxterm\nvt_pop_menu_lang");
g_ventoy_terminal_output = 0;
}
goto refresh;

View File

@@ -115,6 +115,92 @@ int ventoy_str_all_digit(const char *str)
return 1;
}
int ventoy_str_all_alnum(const char *str)
{
if (NULL == str || 0 == *str)
{
return 0;
}
while (*str)
{
if (!grub_isalnum(*str))
{
return 0;
}
}
return 1;
}
int ventoy_str_len_alnum(const char *str, int len)
{
int i;
int slen;
if (NULL == str || 0 == *str)
{
return 0;
}
slen = grub_strlen(str);
if (slen <= len)
{
return 0;
}
for (i = 0; i < len; i++)
{
if (!grub_isalnum(str[i]))
{
return 0;
}
}
if (str[len] == 0 || grub_isspace(str[len]))
{
return 1;
}
return 0;
}
char * ventoy_str_basename(char *path)
{
char *pos = NULL;
pos = grub_strrchr(path, '/');
if (pos)
{
pos++;
}
else
{
pos = path;
}
return pos;
}
int ventoy_str_chrcnt(const char *str, char c)
{
int n = 0;
if (str)
{
while (*str)
{
if (*str == c)
{
n++;
}
str++;
}
}
return n;
}
int ventoy_strcmp(const char *pattern, const char *str)
{
while (*pattern && *str)
@@ -146,6 +232,14 @@ int ventoy_strncmp (const char *pattern, const char *str, grub_size_t n)
return (int)(grub_uint8_t)*pattern - (int)(grub_uint8_t)*str;
}
grub_err_t ventoy_env_int_set(const char *name, int value)
{
char buf[16];
grub_snprintf(buf, sizeof(buf), "%d", value);
return grub_env_set(name, buf);
}
void ventoy_debug_dump_guid(const char *prefix, grub_uint8_t *guid)
{
int i;

View File

@@ -392,6 +392,11 @@ static int ventoy_browser_iterate_dir(const char *filename, const struct grub_di
return 0;
}
if (grub_file_is_vlnk_suffix(filename, len))
{
return 0;
}
node = grub_zalloc(sizeof(browser_node));
if (!node)
{

View File

@@ -158,6 +158,10 @@ const char *g_menu_prefix[img_type_max] =
"iso", "wim", "efi", "img", "vhd", "vtoy"
};
static const char *g_lower_chksum_name[VTOY_CHKSUM_NUM] = { "md5", "sha1", "sha256", "sha512" };
static int g_lower_chksum_namelen[VTOY_CHKSUM_NUM] = { 3, 4, 6, 6 };
static int g_chksum_retlen[VTOY_CHKSUM_NUM] = { 32, 40, 64, 128 };
static int g_vtoy_secondary_need_recover = 0;
static int g_vtoy_load_prompt = 0;
@@ -1763,6 +1767,10 @@ static int ventoy_check_vlnk_data(ventoy_vlnk *vlnk, int print, char *dst, int s
cur->fs->fs_close(&file);
grub_snprintf(dst, size - 1, "(%s)%s", cur->device, vlnk->filepath);
}
else
{
grub_errno = 0;
}
}
}
}
@@ -3761,13 +3769,15 @@ static grub_err_t ventoy_cmd_sel_auto_install(grub_extcmd_context_t ctxt, int ar
g_ventoy_menu_esc = 1;
g_ventoy_suppress_esc = 1;
g_ventoy_suppress_esc_default = defidx;
g_ventoy_secondary_menu_on = 1;
grub_snprintf(configfile, sizeof(configfile), "configfile mem:0x%llx:size:%d", (ulonglong)(ulong)buf, pos);
grub_script_execute_sourcecode(configfile);
g_ventoy_menu_esc = 0;
g_ventoy_suppress_esc = 0;
g_ventoy_suppress_esc_default = 1;
g_ventoy_secondary_menu_on = 0;
grub_free(buf);
@@ -3854,7 +3864,7 @@ static grub_err_t ventoy_cmd_sel_persistence(grub_extcmd_context_t ctxt, int arg
vtoy_ssprintf(buf, pos, "set timeout=%d\n", node->timeout);
}
vtoy_ssprintf(buf, pos, "menuentry \"$VTLANG_NO_PERSISTENCE\" --class=\"sel_persistence\" {\n"
vtoy_ssprintf(buf, pos, "menuentry \"$VTLANG_NO_PERSIST\" --class=\"sel_persistence\" {\n"
" echo %s\n}\n", "");
for (i = 0; i < node->backendnum; i++)
@@ -3869,13 +3879,15 @@ static grub_err_t ventoy_cmd_sel_persistence(grub_extcmd_context_t ctxt, int arg
g_ventoy_menu_esc = 1;
g_ventoy_suppress_esc = 1;
g_ventoy_suppress_esc_default = defidx;
g_ventoy_secondary_menu_on = 1;
grub_snprintf(configfile, sizeof(configfile), "configfile mem:0x%llx:size:%d", (ulonglong)(ulong)buf, pos);
grub_script_execute_sourcecode(configfile);
g_ventoy_menu_esc = 0;
g_ventoy_suppress_esc = 0;
g_ventoy_suppress_esc_default = 1;
g_ventoy_secondary_menu_on = 0;
grub_free(buf);
@@ -6157,6 +6169,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");
@@ -6192,8 +6205,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;
@@ -6227,10 +6242,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)
@@ -6292,6 +6311,418 @@ static grub_err_t ventoy_cmd_load_menu_lang(grub_extcmd_context_t ctxt, int argc
VENTOY_CMD_RETURN(0);
}
static int ventoy_chksum_pathcmp(int chktype, char *rlpath, char *rdpath)
{
char *pos1 = NULL;
char *pos2 = NULL;
if (chktype == 2)
{
pos1 = ventoy_str_basename(rlpath);
pos2 = ventoy_str_basename(rdpath);
return grub_strcmp(pos1, pos2);
}
else if (chktype == 3 || chktype == 4)
{
if (grub_strcmp(rlpath, rdpath) == 0 || grub_strcmp(rlpath + 1, rdpath) == 0)
{
return 0;
}
}
return 1;
}
static int ventoy_find_checksum
(
grub_file_t file,
const char *uname,
int retlen,
char *path,
int chktype,
char *chksum
)
{
int ulen;
char *pos = NULL;
char *pos1 = NULL;
char *pos2 = NULL;
char *buf = NULL;
char *currline = NULL;
char *nextline = NULL;
ulen = (int)grub_strlen(uname);
/* read file to buffer */
buf = grub_malloc(file->size + 4);
if (!buf)
{
return 1;
}
grub_file_read(file, buf, file->size);
buf[file->size] = 0;
/* parse each line */
for (currline = buf; currline; currline = nextline)
{
nextline = ventoy_get_line(currline);
VTOY_SKIP_SPACE(currline);
if (grub_strncasecmp(currline, uname, ulen) == 0)
{
pos = grub_strchr(currline, '=');
pos1 = grub_strchr(currline, '(');
pos2 = grub_strchr(currline, ')');
if (pos && pos1 && pos2)
{
*pos2 = 0;
if (ventoy_chksum_pathcmp(chktype, path, pos1 + 1) == 0)
{
VTOY_SKIP_SPACE_NEXT(pos, 1);
grub_memcpy(chksum, pos, retlen);
goto end;
}
}
}
else if (ventoy_str_len_alnum(currline, retlen))
{
VTOY_SKIP_SPACE_NEXT_EX(pos, currline, retlen);
if (ventoy_chksum_pathcmp(chktype, path, pos) == 0)
{
grub_memcpy(chksum, currline, retlen);
goto end;
}
}
}
end:
grub_free(buf);
return 0;
}
static int ventoy_check_chkfile(const char *isopart, char *path, const char *lchkname, grub_file_t *pfile)
{
int ret = 0;
int cnt = 0;
char c = 0;
char *pos = NULL;
grub_file_t file = NULL;
file = ventoy_grub_file_open(VENTOY_FILE_TYPE, "%s%s.%s", isopart, path, lchkname);
if (file)
{
VTOY_GOTO_END(1);
}
cnt = ventoy_str_chrcnt(path, '/');
if (cnt > 1)
{
pos = grub_strrchr(path, '/');
c = *pos;
*pos = 0;
file = ventoy_grub_file_open(VENTOY_FILE_TYPE, "%s%s/VENTOY_CHECKSUM", isopart, path);
if (file)
{
*pos = c;
VTOY_GOTO_END(2);
}
*pos = c;
}
file = ventoy_grub_file_open(VENTOY_FILE_TYPE, "%s/VENTOY_CHECKSUM", isopart);
if (file)
{
ret = (cnt > 1) ? 3 : 4;
}
end:
if (pfile)
{
*pfile = file;
}
else
{
check_free(file, grub_file_close);
}
return ret;
}
static grub_err_t ventoy_cmd_cmp_checksum(grub_extcmd_context_t ctxt, int argc, char **args)
{
int index = 0;
int chktype = 0;
char *pos = NULL;
grub_file_t file = NULL;
const char *calc_value = NULL;
const char *isopart = NULL;
char fchksum[64];
char readchk[256] = {0};
char filebuf[512] = {0};
char uchkname[16];
(void)ctxt;
index = (int)grub_strtol(args[0], NULL, 10);
if (argc != 2 || index < 0 || index >= VTOY_CHKSUM_NUM)
{
return 1;
}
grub_strncpy(uchkname, g_lower_chksum_name[index], sizeof(uchkname));
ventoy_str_toupper(uchkname);
isopart = grub_env_get("vtoy_iso_part");
calc_value = grub_env_get("VT_LAST_CHECK_SUM");
chktype = ventoy_check_chkfile(isopart, args[1], g_lower_chksum_name[index], &file);
if (chktype <= 0)
{
grub_printf("\n\nNo checksum file found.\n");
goto end;
}
if (chktype == 1)
{
grub_snprintf(fchksum, sizeof(fchksum), ".%s", g_lower_chksum_name[index]);
grub_memset(filebuf, 0, sizeof(filebuf));
grub_file_read(file, filebuf, 511);
pos = grub_strchr(filebuf, '=');
if (pos)
{
VTOY_SKIP_SPACE_NEXT(pos, 1);
grub_memcpy(readchk, pos, g_chksum_retlen[index]);
}
else
{
grub_memcpy(readchk, filebuf, g_chksum_retlen[index]);
}
}
else if (chktype == 3 || chktype == 4)
{
grub_snprintf(fchksum, sizeof(fchksum), "global VENTOY_CHECKSUM");
ventoy_find_checksum(file, uchkname, g_chksum_retlen[index], args[1], chktype, readchk);
if (readchk[0] == 0)
{
grub_printf("\n\n%s value not found in %s.\n", uchkname, fchksum);
goto end;
}
}
else
{
grub_snprintf(fchksum, sizeof(fchksum), "local VENTOY_CHECKSUM");
ventoy_find_checksum(file, uchkname, g_chksum_retlen[index], args[1], chktype, readchk);
if (readchk[0] == 0)
{
grub_file_close(file);
file = ventoy_grub_file_open(VENTOY_FILE_TYPE, "%s/VENTOY_CHECKSUM", isopart);
if (file)
{
grub_snprintf(fchksum, sizeof(fchksum), "global VENTOY_CHECKSUM");
ventoy_find_checksum(file, uchkname, g_chksum_retlen[index], args[1], 3, readchk);
if (readchk[0] == 0)
{
grub_printf("\n\n%s value not found in both local and global VENTOY_CHECKSUM.\n", uchkname);
goto end;
}
}
}
}
if (grub_strcasecmp(calc_value, readchk) == 0)
{
grub_printf("\n\nCheck %s value with %s file. [ SUCCESS ]\n", uchkname, fchksum);
}
else
{
grub_printf("\n\nCheck %s value with %s file. [ ERROR ]\n", uchkname, fchksum);
grub_printf("The %s value in %s file is:\n%s\n", uchkname, fchksum, readchk);
}
end:
grub_refresh();
check_free(file, grub_file_close);
VENTOY_CMD_RETURN(0);
}
static int ventoy_find_all_checksum
(
grub_file_t file,
char *path,
int chktype,
int exists[VTOY_CHKSUM_NUM],
int *ptotexist
)
{
int i;
int ulen;
int tot = 0;
char c = 0;
char *pos = NULL;
char *pos1 = NULL;
char *pos2 = NULL;
char *buf = NULL;
char *currline = NULL;
char *nextline = NULL;
const char *uname = NULL;
tot = *ptotexist;
/* read file to buffer */
buf = grub_malloc(file->size + 4);
if (!buf)
{
return 1;
}
grub_file_read(file, buf, file->size);
buf[file->size] = 0;
/* parse each line */
for (currline = buf; currline; currline = nextline)
{
nextline = ventoy_get_line(currline);
VTOY_SKIP_SPACE(currline);
for (i = 0; i < VTOY_CHKSUM_NUM; i++)
{
if (exists[i])
{
continue;
}
uname = g_lower_chksum_name[i];
ulen = g_lower_chksum_namelen[i];
if (grub_strncasecmp(currline, uname, ulen) == 0)
{
pos = grub_strchr(currline, '=');
pos1 = grub_strchr(currline, '(');
pos2 = grub_strchr(currline, ')');
if (pos && pos1 && pos2)
{
c = *pos2;
*pos2 = 0;
if (ventoy_chksum_pathcmp(chktype, path, pos1 + 1) == 0)
{
exists[i] = 1;
tot++;
}
*pos2 = c;
}
}
else if (ventoy_str_len_alnum(currline, g_chksum_retlen[i]))
{
VTOY_SKIP_SPACE_NEXT_EX(pos, currline, g_chksum_retlen[i]);
if (ventoy_chksum_pathcmp(chktype, path, pos) == 0)
{
exists[i] = 1;
tot++;
}
}
if (tot >= VTOY_CHKSUM_NUM)
{
goto end;
}
}
}
end:
*ptotexist = tot;
grub_free(buf);
return 0;
}
static grub_err_t ventoy_cmd_vtoychksum_exist(grub_extcmd_context_t ctxt, int argc, char **args)
{
int i = 0;
int cnt = 0;
char c = 0;
int tip = 0;
char *pos = NULL;
grub_file_t file = NULL;
const char *isopart = NULL;
int exists[VTOY_CHKSUM_NUM] = { 0, 0, 0, 0 };
int totexist = 0;
(void)argc;
(void)ctxt;
isopart = grub_env_get("vtoy_iso_part");
for (i = 0; i < VTOY_CHKSUM_NUM; i++)
{
if (ventoy_check_file_exist("%s%s.%s", isopart, args[0], g_lower_chksum_name[i]))
{
exists[i] = 1;
totexist++;
}
}
if (totexist == VTOY_CHKSUM_NUM)
{
goto end;
}
cnt = ventoy_str_chrcnt(args[0], '/');
if (cnt > 1)
{
pos = grub_strrchr(args[0], '/');
c = *pos;
*pos = 0;
file = ventoy_grub_file_open(VENTOY_FILE_TYPE, "%s%s/VENTOY_CHECKSUM", isopart, args[0]);
*pos = c;
if (file)
{
if (tip == 0 && file->size > (32 * VTOY_SIZE_1KB))
{
tip = 1;
grub_printf("Reading checksum file...\n");
grub_refresh();
}
debug("parse local VENTOY_CHECKSUM\n");
ventoy_find_all_checksum(file, args[0], 2, exists, &totexist);
grub_file_close(file);
}
}
if (totexist == VTOY_CHKSUM_NUM)
{
goto end;
}
file = ventoy_grub_file_open(VENTOY_FILE_TYPE, "%s/VENTOY_CHECKSUM", isopart);
if (file)
{
if (tip == 0 && file->size > (32 * VTOY_SIZE_1KB))
{
tip = 1;
grub_printf("Reading checksum file...\n");
grub_refresh();
}
debug("parse global VENTOY_CHECKSUM\n");
ventoy_find_all_checksum(file, args[0], (cnt > 1) ? 3 : 4, exists, &totexist);
grub_file_close(file);
}
end:
ventoy_env_int_set("VT_EXIST_MD5", exists[0]);
ventoy_env_int_set("VT_EXIST_SHA1", exists[1]);
ventoy_env_int_set("VT_EXIST_SHA256", exists[2]);
ventoy_env_int_set("VT_EXIST_SHA512", exists[3]);
VENTOY_CMD_RETURN(0);
}
static const char * ventoy_menu_lang_read_hook(struct grub_env_var *var, const char *val)
{
@@ -6522,6 +6953,10 @@ static cmd_para ventoy_cmds[] =
{ "vt_load_menu_lang", ventoy_cmd_load_menu_lang, 0, NULL, "", "", NULL },
{ "vt_init_menu_lang", ventoy_cmd_init_menu_lang, 0, NULL, "", "", NULL },
{ "vt_cur_menu_lang", ventoy_cmd_cur_menu_lang, 0, NULL, "", "", NULL },
{ "vt_vtoychksum_exist", ventoy_cmd_vtoychksum_exist, 0, NULL, "", "", NULL },
{ "vt_cmp_checksum", ventoy_cmd_cmp_checksum, 0, NULL, "", "", NULL },
{ "vt_push_menu_lang", ventoy_cmd_push_menulang, 0, NULL, "", "", NULL },
{ "vt_pop_menu_lang", ventoy_cmd_pop_menulang, 0, NULL, "", "", NULL },
};

View File

@@ -62,6 +62,8 @@
#define VTOY_WARNING "!!!!!!!!!!!!! WARNING !!!!!!!!!!!!!"
#define VTOY_CHKSUM_NUM 4
#define VTOY_PLAT_I386_UEFI 0x49413332
#define VTOY_PLAT_ARM64_UEFI 0x41413634
#define VTOY_PLAT_X86_64_UEFI 0x55454649
@@ -116,6 +118,15 @@
s++;\
}
#define VTOY_SKIP_SPACE_NEXT_EX(s, base, initial) \
s = base + initial;\
while (ventoy_isspace(*s)) \
{\
s++;\
}
#define VTOY_GOTO_END(v) ret = v; goto end
typedef enum VTOY_FILE_FLT
{
VTOY_FILE_FLT_ISO = 0, /* .iso */
@@ -628,6 +639,11 @@ typedef struct chk_case_fs_dir
}chk_case_fs_dir;
int ventoy_str_all_digit(const char *str);
int ventoy_str_all_alnum(const char *str);
int ventoy_str_len_alnum(const char *str, int len);
char * ventoy_str_basename(char *path);
grub_err_t ventoy_env_int_set(const char *name, int value);
int ventoy_str_chrcnt(const char *str, char c);
int ventoy_strcmp(const char *pattern, const char *str);
int ventoy_strncmp (const char *pattern, const char *str, grub_size_t n);
void ventoy_fill_os_param(grub_file_t file, ventoy_os_param *param);
@@ -1297,6 +1313,8 @@ grub_err_t ventoy_cmd_cur_menu_lang(grub_extcmd_context_t ctxt, int argc, char *
extern int ventoy_menu_push_key(int code);
int ventoy_ctrl_var_init(void);
int ventoy_global_var_init(void);
grub_err_t ventoy_cmd_push_menulang(grub_extcmd_context_t ctxt, int argc, char **args);
grub_err_t ventoy_cmd_pop_menulang(grub_extcmd_context_t ctxt, int argc, char **args);
#endif /* __VENTOY_DEF_H__ */

View File

@@ -66,6 +66,7 @@ static theme_list *g_theme_head = NULL;
static int g_theme_random = vtoy_theme_random_boot_second;
static char g_theme_single_file[256];
static char g_cur_menu_language[32] = {0};
static char g_push_menu_language[32] = {0};
static int ventoy_plugin_is_parent(const char *pat, int patlen, const char *isopath)
{
@@ -3624,3 +3625,33 @@ grub_err_t ventoy_cmd_cur_menu_lang(grub_extcmd_context_t ctxt, int argc, char *
VENTOY_CMD_RETURN(0);
}
grub_err_t ventoy_cmd_push_menulang(grub_extcmd_context_t ctxt, int argc, char **args)
{
(void)argc;
(void)ctxt;
if (g_push_menu_language[0] == 0)
{
grub_memcpy(g_push_menu_language, g_cur_menu_language, sizeof(g_push_menu_language));
ventoy_plugin_load_menu_lang(0, args[0]);
}
VENTOY_CMD_RETURN(0);
}
grub_err_t ventoy_cmd_pop_menulang(grub_extcmd_context_t ctxt, int argc, char **args)
{
(void)argc;
(void)ctxt;
(void)args;
if (g_push_menu_language[0])
{
ventoy_plugin_load_menu_lang(0, g_push_menu_language);
g_push_menu_language[0] = 0;
}
VENTOY_CMD_RETURN(0);
}

View File

@@ -148,9 +148,10 @@ static int ventoy_vhd_patch_path(char *vhdpath, ventoy_patch_vhd *patch1, ventoy
return 0;
}
static int ventoy_vhd_read_parttbl(const char *filename, ventoy_gpt_info *gpt, int *index)
static int ventoy_vhd_read_parttbl(const char *filename, ventoy_gpt_info *gpt, int *index, grub_uint64_t *poffset)
{
int i;
int find = 0;
int ret = 1;
grub_uint64_t start;
grub_file_t file = NULL;
@@ -183,6 +184,7 @@ static int ventoy_vhd_read_parttbl(const char *filename, ventoy_gpt_info *gpt, i
if (start == gpt->PartTbl[i].StartLBA)
{
*index = i;
find = 1;
break;
}
}
@@ -196,11 +198,22 @@ static int ventoy_vhd_read_parttbl(const char *filename, ventoy_gpt_info *gpt, i
if ((grub_uint32_t)start == gpt->MBR.PartTbl[i].StartSectorId)
{
*index = i;
find = 1;
break;
}
}
}
if (find == 0) // MBR Logical partition
{
if (file->device->disk->partition->number > 0)
{
*index = file->device->disk->partition->number;
debug("Fall back part number: %d\n", *index);
}
}
*poffset = start;
ret = 0;
end:
@@ -226,7 +239,7 @@ static int ventoy_vhd_patch_disk(const char *vhdpath, ventoy_patch_vhd *patch1,
else
{
gpt = grub_zalloc(sizeof(ventoy_gpt_info));
ventoy_vhd_read_parttbl(vhdpath, gpt, &partIndex);
ventoy_vhd_read_parttbl(vhdpath, gpt, &partIndex, &offset);
debug("This is HDD partIndex %d %s\n", partIndex, vhdpath);
}
@@ -249,9 +262,11 @@ static int ventoy_vhd_patch_disk(const char *vhdpath, ventoy_patch_vhd *patch1,
}
else
{
offset = gpt->MBR.PartTbl[partIndex].StartSectorId;
if (offset == 0)
{
offset = gpt->MBR.PartTbl[partIndex].StartSectorId;
}
offset *= 512;
debug("MBR disk signature: %02x%02x%02x%02x Part(%d) offset:%llu\n",
gpt->MBR.BootCode[0x1b8 + 0], gpt->MBR.BootCode[0x1b8 + 1],
gpt->MBR.BootCode[0x1b8 + 2], gpt->MBR.BootCode[0x1b8 + 3],

View File

@@ -1448,6 +1448,7 @@ grub_err_t ventoy_cmd_sel_winpe_wim(grub_extcmd_context_t ctxt, int argc, char *
g_ventoy_menu_esc = 1;
g_ventoy_suppress_esc = 1;
g_ventoy_suppress_esc_default = 0;
g_ventoy_secondary_menu_on = 1;
grub_snprintf(cfgfile, sizeof(cfgfile), "configfile mem:0x%llx:size:%d", (ulonglong)(ulong)cmd, pos);
grub_script_execute_sourcecode(cfgfile);
@@ -1455,6 +1456,7 @@ grub_err_t ventoy_cmd_sel_winpe_wim(grub_extcmd_context_t ctxt, int argc, char *
g_ventoy_menu_esc = 0;
g_ventoy_suppress_esc = 0;
g_ventoy_suppress_esc_default = 1;
g_ventoy_secondary_menu_on = 0;
for (node = g_wim_patch_head; node; node = node->next)
{

View File

@@ -12,7 +12,7 @@ make install
PATH=$VT_DIR/GRUB2/INSTALL/bin/:$VT_DIR/GRUB2/INSTALL/sbin/:$PATH
net_modules_legacy="net tftp http"
all_modules_legacy="file date drivemap blocklist newc vga_text ntldr search at_keyboard usb_keyboard gcry_md5 hashsum gzio xzio lzopio lspci pci ext2 xfs ventoy chain read halt iso9660 linux16 test true sleep reboot echo videotest videoinfo videotest_checksum video_colors video_cirrus video_bochs vga vbe font video gettext extcmd terminal linux minicmd help configfile tr trig boot biosdisk disk ls tar squash4 password_pbkdf2 all_video png jpeg part_gpt part_msdos fat exfat ntfs loopback gzio normal udf gfxmenu gfxterm gfxterm_background gfxterm_menu smbios"
all_modules_legacy="file date drivemap blocklist newc vga_text ntldr search at_keyboard usb_keyboard gcry_md5 hashsum gzio xzio lzopio lspci pci ext2 xfs ventoy chain read halt iso9660 linux16 test true sleep reboot echo videotest videoinfo videotest_checksum video_colors video_cirrus video_bochs vga vbe font video gettext extcmd terminal linux minicmd help configfile tr trig boot biosdisk disk ls tar squash4 password_pbkdf2 all_video png jpeg part_gpt part_msdos fat exfat ntfs loopback gzio normal video_fb udf gfxmenu gfxterm gfxterm_background gfxterm_menu smbios"
net_modules_uefi="efinet net tftp http"
all_modules_uefi="file setkey blocklist ventoy test true regexp newc search at_keyboard usb_keyboard gcry_md5 hashsum gzio xzio lzopio ext2 xfs read halt sleep serial terminfo png password_pbkdf2 gcry_sha512 pbkdf2 part_gpt part_msdos ls tar squash4 loopback part_apple minicmd diskfilter linux relocator jpeg iso9660 udf hfsplus halt acpi mmap gfxmenu video_colors trig bitmap_scale gfxterm bitmap font fat exfat ntfs fshelp efifwsetup reboot echo configfile normal terminal gettext chain priority_queue bufio datetime cat extcmd crypto gzio boot all_video efi_gop efi_uga video_bochs video_cirrus video video_fb gfxterm_background gfxterm_menu mouse fwload smbios zfs"

View File

@@ -150,3 +150,19 @@ fi
if [ -f $VTOY_PATH/autoinstall ]; then
cp -a $VTOY_PATH/hook/rhel7/ventoy-autoexp.sh /lib/dracut/hooks/pre-mount/99-ventoy-autoexp.sh
fi
#special distro magic
$BUSYBOX_PATH/mkdir -p $VTOY_PATH/distmagic
if $GREP -q SCRE /proc/cmdline; then
echo 1 > $VTOY_PATH/distmagic/SCRE
fi
if $GREP -qw 'SA[.]1' /proc/cmdline; then
if $GREP -qw 'writable.fsimg' /proc/cmdline; then
if $GREP -qw 'rw' /proc/cmdline; then
echo 1 > $VTOY_PATH/distmagic/DELL_PER
fi
fi
fi

View File

@@ -0,0 +1,26 @@
#!/ventoy/busybox/sh
#************************************************************************************
# Copyright (c) 2023, longpanda <admin@ventoy.net>
#
# This program is free software; you can redistribute it and/or
# 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 <http://www.gnu.org/licenses/>.
#
#************************************************************************************
. /ventoy/hook/ventoy-hook-lib.sh
vtHook=$($CAT $VTOY_PATH/inotifyd-hook-script.txt)
vtdisk=$(get_ventoy_disk_name)
vtlog "... $vtdisk already exist ..."
$BUSYBOX_PATH/sh $vtHook n /dev "${vtdisk#/dev/}2"

View File

@@ -50,7 +50,11 @@ if is_inotify_ventoy_part $3; then
vtScript=$($GREP -m1 'RUN.=' $vtGenRulFile | $AWK -F'RUN.=' '{print $2}' | $SED 's/"\(.*\)".*/\1/')
vtlog "vtScript=$vtScript"
if $GREP -q SCRE /proc/cmdline; then
if [ -f $VTOY_PATH/distmagic/SCRE ]; then
/sbin/dmsquash-live-root /dev/ventoy
elif [ -f $VTOY_PATH/distmagic/DELL_PER ]; then
sed 's/liverw=[^ ]*/liverw=ro/g' -i /sbin/dmsquash-live-root
sed 's/writable_fsimg=[^ ]*/writable_fsimg=""/g' -i /sbin/dmsquash-live-root
/sbin/dmsquash-live-root /dev/ventoy
else
$vtScript

View File

@@ -27,5 +27,8 @@ if [ "$vtdisk" = "unknown" ]; then
$BUSYBOX_PATH/nohup $VTOY_PATH/tool/inotifyd $vtHook /dev:n 2>&- &
else
vtlog "... $vtdisk already exist ..."
$BUSYBOX_PATH/sh $vtHook n /dev "${vtdisk#/dev/}2"
#don't call it too early issue 2225
#$BUSYBOX_PATH/sh $vtHook n /dev "${vtdisk#/dev/}2"
cp -a $VTOY_PATH/hook/rhel7/ventoy-inotifyd-call.sh /lib/dracut/hooks/initqueue/settled/90-ventoy-inotifyd-call.sh
fi

View File

@@ -26,7 +26,9 @@ fi
blkdev_num=$($VTOY_PATH/tool/dmsetup ls | grep ventoy | sed 's/.*(\([0-9][0-9]*\),.*\([0-9][0-9]*\).*/\1:\2/')
vtDM=$(ventoy_find_dm_id ${blkdev_num})
if ! [ -e /dev/mapper/ventoy ]; then
if [ -e /dev/mapper/ventoy ]; then
vtlog "/dev/mapper/ventoy already exist"
else
vtlog "link /dev/$vtDM to /dev/mapper/ventoy"
ln -s /dev/$vtDM /dev/mapper/ventoy
fi
@@ -35,7 +37,13 @@ VTLABEL=$($BUSYBOX_PATH/blkid /dev/$vtDM | $SED 's/.*LABEL="\([^"]*\)".*/\1/')
vtlog "VTLABEL=$VTLABEL"
if [ -n "$VTLABEL" ]; then
if ! [ -e "/dev/disk/by-label/$VTLABEL" ]; then
if ! [ -d /dev/disk/by-label ]; then
mkdir -p /dev/disk/by-label
fi
if [ -e "/dev/disk/by-label/$VTLABEL" ]; then
vtlog "/dev/disk/by-label/$VTLABEL already exist"
else
vtlog "link /dev/$vtDM to /dev/disk/by-label/$VTLABEL"
ln -s /dev/$vtDM "/dev/disk/by-label/$VTLABEL"
fi

View File

@@ -305,6 +305,9 @@ ventoy_dm_patch() {
if [ "$VTOY_DEBUG_LEVEL" = "01" ]; then
printk_addr=$($GREP ' printk$' /proc/kallsyms | $AWK '{print $1}')
if [ -z "$printk_addr" ]; then
printk_addr=$($GREP ' _printk$' /proc/kallsyms | $AWK '{print $1}')
fi
vtDebug="-v"
else
printk_addr=0
@@ -367,8 +370,8 @@ ventoy_dm_patch() {
#step2: fill parameters
vtPgsize=$($VTOY_PATH/tool/vtoyksym -p)
vtlog "$VTOY_PATH/tool/vtoykmod -f $VTOY_PATH/tool/$vtKoName $vtPgsize 0x$printk_addr 0x$ro_addr 0x$rw_addr $get_addr $get_size $put_addr $put_size 0x$kprobe_reg_addr 0x$kprobe_unreg_addr $vtDebug"
$VTOY_PATH/tool/vtoykmod -f $VTOY_PATH/tool/$vtKoName $vtPgsize 0x$printk_addr 0x$ro_addr 0x$rw_addr $get_addr $get_size $put_addr $put_size 0x$kprobe_reg_addr 0x$kprobe_unreg_addr $vtDebug
vtlog "$VTOY_PATH/tool/vtoykmod -f $VTOY_PATH/tool/$vtKoName $vtPgsize 0x$printk_addr 0x$ro_addr 0x$rw_addr $get_addr $get_size $put_addr $put_size 0x$kprobe_reg_addr 0x$kprobe_unreg_addr $vtKv $vtDebug"
$VTOY_PATH/tool/vtoykmod -f $VTOY_PATH/tool/$vtKoName $vtPgsize 0x$printk_addr 0x$ro_addr 0x$rw_addr $get_addr $get_size $put_addr $put_size 0x$kprobe_reg_addr 0x$kprobe_unreg_addr $vtKv $vtDebug
$BUSYBOX_PATH/insmod $VTOY_PATH/tool/$vtKoName
@@ -892,3 +895,17 @@ ventoy_check_umount() {
fi
done
}
ventoy_wait_dir() {
vtdir=$1
vtsec=0
while [ $vtsec -lt $2 ]; do
if [ -d "$vtdir" ]; then
break
else
$SLEEP 1
vtsec=$(expr $vtsec + 1)
fi
done
}

View File

@@ -0,0 +1,46 @@
#!/ventoy/busybox/sh
#************************************************************************************
# Copyright (c) 2020, longpanda <admin@ventoy.net>
#
# This program is free software; you can redistribute it and/or
# 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 <http://www.gnu.org/licenses/>.
#
#************************************************************************************
. /ventoy/hook/ventoy-hook-lib.sh
if is_ventoy_hook_finished; then
exit 0
fi
vtlog "####### $0 $* ########"
VTPATH_OLD=$PATH; PATH=$BUSYBOX_PATH:$VTOY_PATH/tool:$PATH
wait_for_usb_disk_ready
vtdiskname=$(get_ventoy_disk_name)
if [ "$vtdiskname" = "unknown" ]; then
vtlog "ventoy disk not found"
PATH=$VTPATH_OLD
exit 0
fi
ventoy_udev_disk_common_hook "${vtdiskname#/dev/}2" "noreplace"
ventoy_create_dev_ventoy_part
mdev -s
PATH=$VTPATH_OLD
set_ventoy_hook_finish

View File

@@ -0,0 +1,23 @@
#!/ventoy/busybox/sh
#************************************************************************************
# Copyright (c) 2020, longpanda <admin@ventoy.net>
#
# This program is free software; you can redistribute it and/or
# 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 <http://www.gnu.org/licenses/>.
#
#************************************************************************************
. $VTOY_PATH/hook/ventoy-os-lib.sh
$SED "/^mountroot$/i\\$BUSYBOX_PATH/sh $VTOY_PATH/loop/fwts/ventoy-disk.sh" -i /init
#$SED "/^mountroot$/i\\export ROOT=/dev/mapper/ventoy" -i /init

View File

@@ -1,7 +1,7 @@
========== Ventoy2Disk.sh ===============
sudo sh Ventoy2Disk.sh { -i | -I | -u } /dev/sdX sdX is the USB device, for example /dev/sdb.
sudo bash Ventoy2Disk.sh { -i | -I | -u } /dev/sdX sdX is the USB device, for example /dev/sdb.
Ventoy2Disk.sh CMD [ OPTION ] /dev/sdX
CMD:
@@ -18,16 +18,16 @@ Please refer https://www.ventoy.net/en/doc_start.html for details.
========== VentoyWeb.sh ===============
1. sudo sh VentoyWeb.sh
1. sudo bash VentoyWeb.sh
2. open your browser and visit http://127.0.0.1:24680
========== VentoyPlugson.sh ===============
1. sudo sh VentoyPlugson.sh
1. sudo bash VentoyPlugson.sh /dev/sdX
2. open your browser and visit http://127.0.0.1:24681
========== VentoyVlnk.sh ===============
Usage: sudo sh VentoyVlnk.sh CMD FILE
Usage: sudo bash VentoyVlnk.sh CMD FILE
CMD:
-c FILE create vlnk for FILE
-l VLNK parse vlnk file
@@ -43,21 +43,21 @@ VentoyGUI is native GUI program for Linux (GTK/QT)
========== CreatePersistentImg.sh ===============
sudo sh CreatePersistentImg.sh [ -s SIZE_IN_MB ] [ -t FSTYPE ] [ -l LABEL ] for example:
sudo bash CreatePersistentImg.sh [ -s SIZE_IN_MB ] [ -t FSTYPE ] [ -l LABEL ] for example:
sh CreatePersistentImg.sh ----> persistence.dat in 1GB size and ext4 filesystem and casper-rw label
sh CreatePersistentImg.sh -l MX-Persist ----> persistence.dat in 1GB size and ext4 filesystem and MX-Persist label
sh CreatePersistentImg.sh -s 2048 ----> persistence.dat in 2GB size and ext4 filesystem and casper-rw label
sh CreatePersistentImg.sh -s 4096 -t xfs ----> persistence.dat in 4GB size and xfs filesystem (ext2/3/4 xfs are supported) and casper-rw label
bash CreatePersistentImg.sh ----> persistence.dat in 1GB size and ext4 filesystem and casper-rw label
bash CreatePersistentImg.sh -l MX-Persist ----> persistence.dat in 1GB size and ext4 filesystem and MX-Persist label
bash CreatePersistentImg.sh -s 2048 ----> persistence.dat in 2GB size and ext4 filesystem and casper-rw label
bash CreatePersistentImg.sh -s 4096 -t xfs ----> persistence.dat in 4GB size and xfs filesystem (ext2/3/4 xfs are supported) and casper-rw label
Please refer https://www.ventoy.net/en/plugin_persistence.html for details.
========== ExtendPersistentImg.sh ===============
sudo sh ExtendPersistentImg.sh file size
sudo bash ExtendPersistentImg.sh file size
For example:
sh ExtendPersistentImg.sh persistence.dat 2048 ----> Extend persistence.dat by 2048MB
bash ExtendPersistentImg.sh persistence.dat 2048 ----> Extend persistence.dat by 2048MB
That is to say, persistence.dat file will grow to 3GB size (assume that it is 1GB size before extend)
Please refer https://www.ventoy.net/en/plugin_persistence.html for details.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,19 +1,16 @@
if [ -e "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.md5" ]; then
set default=0
unset vtchkdef
vt_vtoychksum_exist "${VTOY_CHKSUM_FILE_PATH}"
if [ "$VT_EXIST_MD5" = "1" ]; then
if [ -z "$vtchkdef" ]; then
set default=0
set vtchkdef=1
fi
menuentry "$VTLANG_CHKSUM_MD5_CALC_CHK" --class=checksum_md5 {
md5sum "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}"
vt_1st_line "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.md5" vtReadChecksum
if vt_str_casebegin "$vtReadChecksum" "$VT_LAST_CHECK_SUM"; then
echo -e "\n\nCheck MD5 value with .md5 file. [ OK ]"
else
echo -e "\n\nCheck MD5 value with .md5 file. [ FAIL ]"
echo "The MD5 value in .md5 file is:"
echo "$vtReadChecksum"
fi
md5sum "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}"
vt_cmp_checksum 0 "${VTOY_CHKSUM_FILE_PATH}"
echo -en "\n\n$VTLANG_ENTER_EXIT ..."
read vtInputKey
}
@@ -26,20 +23,14 @@ else
}
fi
if [ -e "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.sha1" ]; then
set default=1
if [ "$VT_EXIST_SHA1" = "1" ]; then
if [ -z "$vtchkdef" ]; then
set default=1
set vtchkdef=1
fi
menuentry "$VTLANG_CHKSUM_SHA1_CALC_CHK" --class=checksum_sha1 {
sha1sum "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}"
vt_1st_line "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.sha1" vtReadChecksum
if vt_str_casebegin "$vtReadChecksum" "$VT_LAST_CHECK_SUM"; then
echo -e "\n\nCheck SHA1 value with .sha1 file. [ OK ]"
else
echo -e "\n\nCheck SHA1 value with .sha1 file. [ FAIL ]"
echo "The SHA1 value in .sha1 file is:"
echo "$vtReadChecksum"
fi
vt_cmp_checksum 1 "${VTOY_CHKSUM_FILE_PATH}"
echo -en "\n\n$VTLANG_ENTER_EXIT ..."
read vtInputKey
@@ -55,20 +46,14 @@ fi
if [ -e "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.sha256" ]; then
set default=2
if [ "$VT_EXIST_SHA256" = "1" ]; then
if [ -z "$vtchkdef" ]; then
set default=2
set vtchkdef=1
fi
menuentry "$VTLANG_CHKSUM_SHA256_CALC_CHK" --class=checksum_sha256 {
sha256sum "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}"
vt_1st_line "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.sha256" vtReadChecksum
if vt_str_casebegin "$vtReadChecksum" "$VT_LAST_CHECK_SUM"; then
echo -e "\n\nCheck SHA256 value with .sha256 file. [ OK ]"
else
echo -e "\n\nCheck SHA256 value with .sha256 file. [ FAIL ]"
echo "The SHA256 value in .sha256 file is:"
echo "$vtReadChecksum"
fi
vt_cmp_checksum 2 "${VTOY_CHKSUM_FILE_PATH}"
echo -en "\n\n$VTLANG_ENTER_EXIT ..."
read vtInputKey
@@ -84,20 +69,14 @@ fi
if [ -e "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.sha512" ]; then
set default=3
if [ "$VT_EXIST_SHA512" = "1" ]; then
if [ -z "$vtchkdef" ]; then
set default=3
set vtchkdef=1
fi
menuentry "$VTLANG_CHKSUM_SHA512_CALC_CHK" --class=checksum_sha512{
sha512sum "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}"
vt_1st_line "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.sha512" vtReadChecksum
if vt_str_casebegin "$vtReadChecksum" "$VT_LAST_CHECK_SUM"; then
echo -e "\n\nCheck SHA512 value with .sha512 file. [ OK ]"
else
echo -e "\n\nCheck SHA512 value with .sha512 file. [ FAIL ]"
echo "The SHA512 value in .sha512 file is:"
echo "$vtReadChecksum"
fi
vt_cmp_checksum 3 "${VTOY_CHKSUM_FILE_PATH}"
echo -en "\n\n$VTLANG_ENTER_EXIT ..."
read vtInputKey

View File

@@ -83,10 +83,12 @@ submenu "$VTLANG_RESOLUTION_CFG" --class=debug_resolution --class=F5tool {
submenu "$VTLANG_SCREEN_MODE" --class=debug_screen_mode --class=F5tool {
menuentry "$VTLANG_SCREEN_TEXT_MODE" --class=debug_text_mode --class=debug_screen_mode --class=F5tool {
vt_push_menu_lang en_US
terminal_output console
}
menuentry "$VTLANG_SCREEN_GUI_MODE" --class=debug_gui_mode --class=debug_screen_mode --class=F5tool {
terminal_output gfxterm
vt_pop_menu_lang
}
menuentry "$VTLANG_RETURN_PREVIOUS" --class=vtoyret VTOY_RET {
echo "Return ..."

View File

@@ -0,0 +1,15 @@
set label="writable"
menuentry 'Firmware Test Suite' --class ubuntu --class gnu-linux --class gnu --class os {
set root='vtimghd,4'
linux /boot/vmlinuz root=LABEL=$label ro console=tty1 console=ttyS0 quiet
initrd /boot/initrd.img
}
menuentry 'Firmware Test Suite (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
set root='vtimghd,4'
echo 'Loading Linux ...'
linux /boot/vmlinuz root=LABEL=$label ro recovery nomodeset
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img
}

View File

@@ -19,7 +19,6 @@
if [ "$grub_platform" = "pc" ]; then
insmod setkey
insmod regexp
insmod video_fb
fi
function ventoy_pause {
@@ -120,13 +119,14 @@ function ventoy_show_help {
}
function ventoy_load_menu_lang_file {
vt_load_file_to_mem "auto" $vtoy_efi_part/grub/menu.tar.gz vtoy_menu_lang_mem
vt_load_file_to_mem "auto" $prefix/menu.tar.gz vtoy_menu_lang_mem
loopback vt_menu_tarfs mem:${vtoy_menu_lang_mem_addr}:size:${vtoy_menu_lang_mem_size}
}
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
set vtoy_os=Windows
@@ -227,6 +227,8 @@ function distro_specify_wim_patch {
function distro_specify_wim_patch_phase2 {
if [ -f (loop)/boot/boot.wim ]; then
vt_windows_collect_wim_patch wim /boot/boot.wim
elif [ -f (loop)/sources/boot.wim ]; then
vt_windows_collect_wim_patch wim /sources/boot.wim
fi
if vt_str_begin "$vt_volume_id" "DLC Boot"; then
@@ -857,6 +859,9 @@ function uefi_linux_menu_func {
if [ -f (loop)/boot/isolinux/syslnx64.cfg ]; then
syslinux_configfile (loop)/boot/isolinux/syslnx64.cfg
set vtback_cfg_find=1
elif [ -f (loop)/boot/syslinux/porteus.cfg ]; then
syslinux_configfile (loop)/boot/syslinux/porteus.cfg
set vtback_cfg_find=1
fi
fi
@@ -904,11 +909,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
@@ -922,21 +922,13 @@ 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}"
vt_append_extra_sector 1
fi
fi
loopback loop "${1}${chosen_path}"
get_os_type (loop)
if [ -d (loop)/EFI ]; then
set vt_efi_dir=YES
@@ -955,15 +947,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
@@ -980,8 +963,7 @@ function uefi_iso_menu_func {
uefi_linux_menu_func "$1" "${chosen_path}"
fi
ventoy_gui_console
vt_secondary_recover_mode
ventoy_gui_console
}
function uefi_iso_memdisk {
@@ -1331,6 +1313,9 @@ function legacy_linux_menu_func {
if [ -f (loop)/boot/isolinux/syslnx64.cfg ]; then
syslinux_configfile (loop)/boot/isolinux/syslnx64.cfg
set vtback_cfg_find=1
elif [ -f (loop)/boot/syslinux/porteus.cfg ]; then
syslinux_configfile (loop)/boot/syslinux/porteus.cfg
set vtback_cfg_find=1
fi
fi
@@ -1366,26 +1351,10 @@ 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
@@ -1396,15 +1365,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
@@ -1513,6 +1473,33 @@ function iso_common_menuentry {
if ventoy_vcfg_proc "${vt_chosen_path}"; then
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)
ventoy_debug_pause
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}"
@@ -1564,7 +1551,9 @@ function iso_common_menuentry {
else
uefi_iso_menu_func $vtoy_iso_part "$vt_chosen_path"
fi
fi
fi
vt_secondary_recover_mode
}
function miso_common_menuentry {
@@ -2227,6 +2216,23 @@ function ventoy_img_cloudready {
unset linuxpartB
}
function ventoy_img_fwts {
vt_load_cpio $vtoy_path "${vt_chosen_path}" ${vtoy_iso_part} "busybox=$ventoy_busybox_ver"
vt_trailer_cpio ${vtoy_iso_part} "${vt_chosen_path}" noinit
ventoy_debug_pause
#boot image file
vt_set_boot_opt rdinit=/vtoy/vtoy ventoyos=fwts
vt_img_hook_root
configfile $prefix/distro/fwts.cfg
vt_img_unhook_root
vt_unset_boot_opt
}
function ventoy_img_memtest86 {
chainloader (vtimghd,1)/efi/boot/BOOTX64.efi
boot
@@ -2292,6 +2298,12 @@ function img_common_menuentry {
vt_get_fs_label (vtimghd,2) vtImgHd2Label
fi
if [ -z "$vtImgHd1Label" ]; then
if [ -d (vtimghd,2)/efi ]; then
vt_get_fs_label (vtimghd,3) vtImgHd3Label
fi
fi
if [ -e (vtimghd,1)/etc/hostname ]; then
vt_1st_line (vtimghd,1)/etc/hostname vtImgHostname
fi
@@ -2309,6 +2321,8 @@ function img_common_menuentry {
elif [ -f (vtimghd,3)/etc/chrome_dev.conf ]; then
ventoy_img_cloudready
fi
elif vt_str_begin "$vtImgHd3Label" "fwts-result"; then
ventoy_img_fwts
elif vt_str_begin "$vtImgHd1Label" "LAKKA"; then
ventoy_img_openelec lakka
elif vt_str_begin "$vtImgHd1Label" "LIBREELEC"; then
@@ -2397,7 +2411,7 @@ function mimg_common_menuentry {
#############################################################
#############################################################
set VENTOY_VERSION="1.0.86"
set VENTOY_VERSION="1.0.89"
#ACPI not compatible with Window7/8, so disable by default
set VTOY_PARAM_NO_ACPI=1
@@ -2556,9 +2570,18 @@ elif [ "$vtoy_display_mode" = "serial_console" ]; then
terminal_input serial console
terminal_output serial console
else
if [ "$vtoy_res_fit" = "1" ]; then
if [ "$vtoy_gfxmode" = "max" ]; then
set gfxmode=1024x768
terminal_output gfxterm
fi
vt_enum_video_mode
vt_get_video_mode 0 vtCurMode
terminal_output console
set gfxmode=$vtCurMode
terminal_output gfxterm
elif [ "$vtoy_res_fit" = "1" ]; then
terminal_output gfxterm
fi
if [ -n "$vtoy_theme" ]; then
vt_set_theme

View File

@@ -9,7 +9,7 @@ F7 - GUI মোড <-> TEXT মোডের মধ্যে স্যুইচ
m/Ctrl+m - চেকসাম ইমেজ ফাইল (md5/sha1/sha256/sha512)
d/Ctrl+d - Memdisk মোড (শুধুমাত্র ছোট WinPE/LiveCD ISO/IMG জন্য)
w/Ctrl+w - WIMBOOT মোড (শুধুমাত্র standard Windows ISO জন্য)
w/Ctrl+w - WIMBOOT মোড (শুধুমাত্র Windows/WinPE ISO জন্য)
r/Ctrl+r - Grub2 মোড (শুধুমাত্র কিছু Linux distro জন্য)
i/Ctrl+i - Compatible মোড (শুধুমাত্র debug জন্য)
u/Ctrl+u - ISO efi ড্রাইভার লোড করুন (শুধুমাত্র debug জন্য, সরকারীভাবে ব্যবহার করা যাবে না)

View File

@@ -0,0 +1,19 @@
L - Výběr jazyka
F1 - Zobrazení nápovědy
F2 - Procházet spouštět soubory na disku
F3 - Přepínat mezi zobrazením stromu a seznamu
F4 - Spustit Windows/Linux na disku
F5 - Nástroje
F6 - Nahrát vlastní Grub2 nabídku
F7 - Přepínat mezi grafickým a textovým režimem
m/Ctrl+m - Kontrolní součky obrazů (md5/sha1/sha256/sha512)
d/Ctrl+d - Memdisk režim (pouze pro malé WinPE/LiveCD ISO/IMG)
w/Ctrl+w - WIMBOOT režim (pouze pro Windows/WinPE ISO soubory)
r/Ctrl+r - Grub2 režim (pouze pro některé linuxové distribuce)
i/Ctrl+i - Režim kompatibility (pouze pro ladění)
u/Ctrl+u - Nahrát ISO EFI ovladač (pouze pro ladění, oficiálně nejde použít)
Stiskněte ESC pro návrat ......

View File

@@ -9,7 +9,7 @@ F7 - Wechseln zwischen Grafik-/Text-Modus
m/Strg+m - Prüfsumme von Abbilddatei prüfen (md5/sha1/sha256/sha512)
d/Strg+d - Memdisk-Modus (Nur für kleine WinPE/LiveCD ISO/IMG)
w/Strg+w - WIMBOOT-Modus (Nur für Standard Windows ISO)
w/Strg+w - WIMBOOT-Modus (Nur für Windows/WinPE ISO)
r/Strg+r - Grub2-Modus (Nur für einige Linux-Distributionen)
i/Strg+i - Kompatibilitäts-Modus (Nur für Fehleranalyse)
u/Strg+u - ISO EFI-Treiber laden (Nur für Fehleranalyse, darf offiziell nicht benutzt werden)

View File

@@ -0,0 +1,19 @@
L - Επιλογή Γλώσσας
F1 - Εμφάνιση πληροφοριών βοήθειας
F2 - Περιήγηση και εκκίνηση αρχείων στον τοπικό δίσκο
F3 - Εναλλαγή λειτουργίας μενού μεταξύ Προβολής Δένδρου <-> Προβολή Λίστας
F4 - Εκκίνηση Windows/Linux στον τοπικό δίσκο
F5 - Εργαλεία
F6 - Φόρτωση προσαρμοσμένου μενού Grub2
F7 - Εναλλαγή μεταξύ Λειτουργίας GUI <-> Λειτουργίας ΚΕΙΜΕΝΟΥ
m/Ctrl+m - Αρχεία εικόνας Checksum (md5/sha1/sha256/sha512)
d/Ctrl+d - Λειτουργία Memdisk (Μόνο για μικρά WinPE/LiveCD ISO/IMG)
w/Ctrl+w - Λειτουργία WIMBOOT (Μόνο για αρχεία ISO Windows/WinPE)
r/Ctrl+r - Λειτουργία Grub2 (Μόνο για ορισμένες διανομές Linux)
i/Ctrl+i - Λειτουργία Συμβατότητας (Μόνο για εντοπισμό σφαλμάτων - debugging)
u/Ctrl+u - Φόρτωση προγράμματος οδήγησης ISO EFI (Μόνο για εντοπισμό σφαλμάτων - debugging, δεν μπορεί να χρησιμοποιηθεί επίσημα)
Πατήστε ESC για επιστροφή ......

View File

@@ -9,7 +9,7 @@ F7 - Switch between GUI Mode <-> TEXT Mode
m/Ctrl+m - Checksum image files (md5/sha1/sha256/sha512)
d/Ctrl+d - Memdisk Mode (Only for small WinPE/LiveCD ISO/IMG)
w/Ctrl+w - WIMBOOT Mode (Only for standard Windows ISO)
w/Ctrl+w - WIMBOOT Mode (Only for Windows/WinPE ISO files)
r/Ctrl+r - Grub2 Mode (Only for some Linux distros)
i/Ctrl+i - Compatible Mode (Only for debugging)
u/Ctrl+u - Load ISO EFI driver (Only for debugging, cannot be used officially)

View File

@@ -0,0 +1,19 @@
L - Seleccionar lenguaje
F1 - Mostrar información de ayuda
F2 - Navegar y arranca archivos en el disco local
F3 - Cambiar modo de menú entre vista de árbol <-> vista de lista
F4 - arrancar Windows/Linux en el disco local
F5 - Utilidades
F6 - Cargar menú de Grub2 personalizado
F7 - Cambiar entre modo grafico <-> modo texto
m/Ctrl+m - Suma de comprobación de archivos de imagen (md5/sha1/sha256/sha512)
d/Ctrl+d - Modo Memdisk (solo para WinPE/LiveCD ISO/IMG pequeños)
w/Ctrl+w - Modo WIMBOOT (Solo para archivos Windows/WinPE ISO)
r/Ctrl+r - Modo Grub2 (Solo para algunas distribuciones de Linux)
i/Ctrl+i - Modo compatible (Solo para depuración)
u/Ctrl+u - Cargar controlador ISO EFI (Solo para depuración, no se puede usar oficialmente)
Presiona ESC para regresar ......

View File

@@ -9,7 +9,7 @@ F7 - Basculer entre le mode graphique <-> mode texte
m/Ctrl+m - Somme de contrôle des images (md5/sha1/sha256/sha512)
d/Ctrl+d - Mode Memdisk (pour WinPE/LiveCD ISO/IMG uniquement)
w/Ctrl+w - Mode WIMBOOT (pour images standards Windows uniquement)
w/Ctrl+w - Mode WIMBOOT (pour images Windows/WinPE uniquement)
r/Ctrl+r - Mode GRUB 2 (pour quelques distributions Linux uniquement)
i/Ctrl+i - Mode Compatible (pour débug uniquement)
u/Ctrl+u - Charger lISO dun pilote EFI (pour débug uniquement)

View File

@@ -9,7 +9,7 @@ F7 - GUI मोड <-> Text मोड के बीच स्विच करे
m/Ctrl+m - चेकसम इमेज फाइल्स (md5/sha1/sha256/sha512)
d/Ctrl+d - Memdisk मोड (केवल small WinPE/LiveCD ISO/IMG के लिए)
w/Ctrl+w - WIMBOOT मोड (केवल standard Windows ISO के लिए)
w/Ctrl+w - WIMBOOT मोड (केवल Windows/WinPE ISO के लिए)
r/Ctrl+r - Grub2 मोड (केवल कुछ Linux distros के लिए)
i/Ctrl+i - Compatible मोड (केवल डिबग के लिए)
u/Ctrl+u - ISO efi ड्राइवर लोड करें (केवल debug के लिए, आधिकारिक तौर पर इस्तेमाल नहीं किया जा सकता)

View File

@@ -9,7 +9,7 @@ F7 - Mijenja između GUI <-> TEXT načina rada
m/Ctrl+m - Generira heš odabranog imidž fajla (md5/sha1/sha256/sha512)
d/Ctrl+d - Memdisk način rada (samo za male WinPE/LiveCD imidž fajlove)
w/Ctrl+w - WIMBOOT način rada (samo za standardne Windows imidž fajlove)
w/Ctrl+w - WIMBOOT način rada (samo za Windows/WinPE imidž fajlove)
r/Ctrl+r - GRUB2 način rada (samo za neke Linux distribucije)
i/Ctrl+i - Kompatibilni način rada (samo za testiranje)
u/Ctrl+u - Učitava EFI drajver za imidž fajlove (samo za testiranje)

View File

@@ -9,7 +9,7 @@ F7 - Váltás Grafikus mód <-> Szövege mód között
m/Ctrl+m - Image fájlok ell.összege (md5/sha1/sha256/sha512)
d/Ctrl+d - Memdisk mód (Csak kis WinPE/LiveCD ISO/IMG esetén)
w/Ctrl+w - WIMBOOT mód (Csak szabványos Windows ISO esetében)
w/Ctrl+w - WIMBOOT mód (Csak Windows/WinPE ISO esetében)
r/Ctrl+r - Grub2 mód (Csak néhány Linux disztró esetében)
i/Ctrl+i - Kompatibilis mód (Csak hibakeresésre)
u/Ctrl+u - ISO efi driver betöltés (Csak hibakeresésre, hivatalosan nem használható.)

View File

@@ -9,7 +9,7 @@ F7 - Beralih antara mode GUI <-> Mode TEXT
m/Ctrl+m - Periksa berkas files (md5/sha1/sha256/sha512)
d/Ctrl+d - Mode Memdisk (Hanya untuk ukuran WinPE/LiveCD ISO/IMG yang kecil)
w/Ctrl+w - Mode WIMBOOT (Hanya untuk berkas ISO Windows standar)
w/Ctrl+w - Mode WIMBOOT (Hanya untuk berkas ISO Windows/WinPE)
r/Ctrl+r - Mode Grub2 (Hanya untuk distro Linux tertentu)
i/Ctrl+i - Mode Kompatibel/Compatible (Hanya untuk debug saja)
u/Ctrl+u - Memuat ISO efi driver (Hanya untuk debug saja, tidak dapat dipakai secara umum)

View File

@@ -9,7 +9,7 @@ F7 - 操作形式を切り替えるGUI ↔ CUI
m/Ctrl+m - イメージの検査合計を計算する (md5/sha1/sha256/sha512)
d/Ctrl+d - 主記憶装置上に記憶域を作成する容量の小さなWinPE・LiveCD専用
w/Ctrl+w - WIMBOOTモード標準的なWindows ISO専用
w/Ctrl+w - WIMBOOTモードWindows/WinPE ISO専用
r/Ctrl+r - Grub2モード一部のLinuxディストリビューション専用
i/Ctrl+i - 互換モード(開発用)
u/Ctrl+u - ISO efiドライバーを読み取る開発用非公式

View File

@@ -9,7 +9,7 @@ F7 - ჩვენების რეჟიმის გადართვა '
m/Ctrl+m - ფაილის საკონტროლო ჯამის შემოწმება (md5/sha1/sha256/sha512)
d/Ctrl+d - Memdisk რეჟიმი (განკუთვნილია მხოლოდ პატარა ზომის WinPE/LiveCD ISO/IMG დისტრიბუტივებისთვის)
w/Ctrl+w - WIMBOOT რეჟიმი (განკუთვნილია მხოლოდ სტანდარტული Windows ISO დისტრიბუტივებისთვის)
w/Ctrl+w - WIMBOOT რეჟიმი (განკუთვნილია მხოლოდ სტანდარტული Windows/WinPE ISO დისტრიბუტივებისთვის)
r/Ctrl+r - Grub2 რეჟიმი (განკუთვნილია მხოლოდ ზოგიერთი Linux დისტრიბუტივებისთვის)
i/Ctrl+i - თავსებადი რეჟიმი (განკუთვნილია მხოლოდ გამართვისთვის)
u/Ctrl+u - ISO EFI დრაივერის ჩატვირთვა (განკუთვნილია მხოლოდ გამართვისთვის, დაუშვებელია ოფიციალური გამოყენება)

View File

@@ -1,17 +1,17 @@
L - 언어 선택
F1 - 이 도움말 정보 표시
F2 - 로컬 디스크에서 파일 찾아보기 및 부
F2 - 로컬 디스크에서 파일 찾아보기 및 부
F3 - 트리보기 <-> 목록보기 간에 메뉴 모드 전환
F4 - 로컬 디스크에서 Windows/Linux 부
F4 - 로컬 디스크에서 Windows/Linux 부
F5 - 유틸리티
F6 - 사용자 지정 Grub2 메뉴 불러오기
F7 - GUI 모드 <-> TEXT 모드 간에 전환
F7 - 그래픽 모드 <-> 텍스트 모드 간에 전환
m/Ctrl+m - 체크섬 이미지 파일 (md5/sha1/sha256/sha512)
d/Ctrl+d - Memdisk 모드 (작은 WinPE/LiveCD ISO/IMG 전용)
w/Ctrl+w - WIMBOOT 모드 (표준 Windows ISO 전용)
w/Ctrl+w - WIMBOOT 모드 (표준 Windows/WinPE ISO 전용)
r/Ctrl+r - Grub2 모드 (일부 Linux 배포판에만 해당)
i/Ctrl+i - 호환 모드 (디버그 전용)
i/Ctrl+i - 호환 모드 (디버그 전용, 공식적으로 사용할 수 없음)
u/Ctrl+u - ISO EFI 드라이버 불러오기 (디버그 전용, 공식적으로 사용할 수 없음)

View File

@@ -9,7 +9,7 @@ F7 - Przełączanie między trybem GUI <-> trybem TEKST
m/Ctrl+m — Pliki obrazów z sumą kontrolną (md5/sha1/sha256/sha512)
d/Ctrl+d — Tryb Memdisk (tylko dla małych WinPE/LiveCD ISO/IMG)
w/Ctrl+w — tryb WIMBOOT (tylko dla standardowego systemu Windows ISO)
w/Ctrl+w — tryb WIMBOOT (tylko dla standardowego systemu Windows/WinPE ISO)
r/Ctrl+r — tryb Grub2 (tylko dla niektórych dystrybucji Linuksa)
i/Ctrl+i — tryb zgodności (tylko do debugowania)
u/Ctrl+u — Załaduj sterownik ISO EFI (tylko do debugowania, nie można go oficjalnie używać)

View File

@@ -9,7 +9,7 @@ F7 - Alternar entre Modo GUI <-> Modo TEXTO
m/Ctrl+m - Checksum ficheiros de imagem (md5/sha1/sha256/sha512)
d/Ctrl+d - Modo Memdisk (Apenas para pequenos WinPE/LiveCD ISO/IMG)
w/Ctrl+w - Modo WIMBOOT (Apenas para Windows ISO padrão)
w/Ctrl+w - Modo WIMBOOT (Apenas para Windows/WinPE ISO padrão)
r/Ctrl+r - Modo Grub2 (Apenas para algumas distros Linux)
i/Ctrl+i - Modo Compatível (Apenas para depuração)
u/Ctrl+u - Carregar o controlador ISO efi (Apenas para depuração, não pode ser utilizado oficialmente)

View File

@@ -1,19 +1,19 @@
L - Выбор языка
F1 - Показать эту справочную информацию
L - Выбор языка
F1 - Показать эти справочные сведения
F2 - Просмотр и загрузка файлов на локальном диске
F3 - Переключить режим меню между Treeview <-> ListView
F3 - Переключить режим меню между «Вид древом» <-> «Вид списком»
F4 - Загрузка Windows/Linux с локального диска
F5 - Утилиты
F6 - Загрузить пользовательское меню Grub2
F7 - Переключиться между режимом GUI <-> режимом TEXT
F7 - Переключиться между графическим режимом <-> текстовым режимом
m/Ctrl+m - Проверить контрольную сумму файлов образа диска (md5/sha1/sha256/sha512)
d/Ctrl+d - Режим Memdisk (Только для небольших WinPE/LiveCD ISO/IMG)
w/Ctrl+w - Режим WIMBOOT (Только для стандартного Windows ISO)
r/Ctrl+r - Режим Grub2 (Только для некоторых дистрибутивов Linux)
i/Ctrl+i - Совместимый режим (Только для отладки)
u/Ctrl+u - Загрузить драйвер ISO EFI (Только для отладки, нельзя использовать официально)
d/Ctrl+d - Режим Memdisk (только для небольших WinPE/LiveCD ISO/IMG)
w/Ctrl+w - Режим WIMBOOT (только для Windows/WinPE ISO)
r/Ctrl+r - Режим Grub2 (только для некоторых дистрибутивов Linux)
i/Ctrl+i - Совместимый режим (только для отладки)
u/Ctrl+u - Загрузить драйвер ISO EFI (только для отладки, нельзя использовать официально)
Нажмите ESC, чтобы вернуться ......
Нажмите «ESC», чтобы вернуться ......

View File

@@ -9,7 +9,7 @@ F7 - Мења између GUI <-> TEXT начина рада
m/Ctrl+m - Генерира хеш одабраног имиџ фајла (md5/sha1/sha256/sha512)
d/Ctrl+d - Memdisk начин рада (само за мале WinPE/LiveCD имиџ фајлове)
w/Ctrl+w - WIMBOOT начин рада (само за стандардне Windows имиџ фајлове)
w/Ctrl+w - WIMBOOT начин рада (само за стандардне Windows/WinPE имиџ фајлове)
r/Ctrl+r - GRUB2 начин рада (само за неке Linux дистрибуције)
i/Ctrl+i - Компатибилни начин рада (само за тестирање)
u/Ctrl+u - Учитава EFI драјвер за имиџ фајлове (само за тестирање)

View File

@@ -9,7 +9,7 @@ F7 - GUI பயன்முறை <-> TEXT பயன்முறைக்கு
m/Ctrl+m - செக்சம் படக் கோப்புகள் (md5/sha1/sha256/sha512)
d/Ctrl+d - Memdisk பயன்முறை (சிறிய WinPE/LiveCD ISO/IMGக்கு மட்டும்)
w/Ctrl+w - WIMBOOT பயன்முறை (நிலையான Windows ISO க்கு மட்டும்)
w/Ctrl+w - WIMBOOT பயன்முறை (நிலையான Windows/WinPE ISO க்கு மட்டும்)
r/Ctrl+r - Grub2 பயன்முறை (சில லினக்ஸ் டிஸ்ட்ரோக்களுக்கு மட்டும்)
i/Ctrl+i - இணக்கமான பயன்முறை (பிழைத்திருத்தத்திற்கு மட்டும்)
u/Ctrl+u - ISO efi இயக்கியை ஏற்றவும் (பிழைத்திருத்தத்திற்கு மட்டும், அதிகாரப்பூர்வமாக பயன்படுத்த முடியாது)

View File

@@ -1,18 +1,18 @@
L - Dil Seçimi
F1 - Yardım bilgilerini göster
F2 - Yerel diskteki önyükleme dosyalarına GÖZAT ve yerel diskten Önyükleme yap
F3 - Ventoy Menü modu olarak,Klasör görünümü(Treeview) ile Liste görünümü(ListView) arasında geçiş yapmayı sağlar.
F4 - Bilgisayarınızda yüklü olan Windows yada Linux işletim sistemini, sabit diskten başlatır.
F2 - Yerel diskteki önyükleme dosyalarına GÖZAT ve Önyükleme yap
F3 - Menü modunu Ağaç Görünümü <-> Liste Görünümü arasında değiştir
F4 - Windows & Linux'u yerel diskten önyükle
F5 - Ventoy Araçlar menüsü
F6 - Özelleştirilmiş Grub2 menüsünü yükler
F7 - Grafik Modu(GUI Mode) <--> Metin Modu(Text Mode) arasında geçiş yapmayı sağlar
F6 - Özelleştirilmiş Grub2 menüsünü yükle
F7 - Grafik(GUI) <--> Metin(Text) modları arasında geçiş yap
m/Ctrl+m - İndirilen imaj dosyalarının hatasız indirildiğini teyit etmek için "md5/sha1/sha256/sha512" değerlerini kontrol etmeyi sağlar
d/Ctrl+d - Memdisk Modu başlatır(Yalnızca küçük WinPE/LiveCD ISO/IMG ler için bu modu kullanabilirsiniz)
w/Ctrl+w - WIMBOOT Modu çalıştırmayı sağlar(Sadece normal Windows ISO ları için)
r/Ctrl+r - Grub2 Modu çalıştırmayı sağlar (Sadece bazı Linux dağıtımları için)
i/Ctrl+i - Uyumluluk Modu'nu (Compatible Mode) çalıştırmayı sağlar (Sadece hata ayıklama için bu modu kullanabilirsiniz)
u/Ctrl+u - ISO efi sürücüsünü yükler(Sadece hata ayıklama için bu mod kullanılabilir, resmi olarak kullanılamaz)
m/Ctrl+m - Görüntü dosyalarını sağlama toplamı (md5/sha1/sha256/sha512)
d/Ctrl+d - Memdisk Modu başlat(Yalnızca küçük WinPE/LiveCD ISO/IMG ler için)
w/Ctrl+w - WIMBOOT Modu başlat(Yalnızca normal Windows/WinPE ISO ları için)
r/Ctrl+r - Grub2 Modu başlat (Yalnızca bazı Linux dağıtımları için)
i/Ctrl+i - Uyumluluk Modu (Yalnızca hata ayıklama için )
u/Ctrl+u - ISO efi sürücüsünü yükle (Saedece hata ayıklama için, resmi olarak kullanılamaz)

View File

@@ -0,0 +1,19 @@
L - Обрати мову
F1 - Показати довідку
F2 - Переглянути та завантажити файли з локального диску
F3 - Переключитись між видами деревом <-> списком
F4 - Завантажити Windows/Linux з локального диску
F5 - Інструменти
F6 - Завантажити Custom Grub2 меню
F7 - Переключитись між графічним інтерфейсом <-> текстовим інтерфейсом
m/Ctrl+m - Контрольна сума образу диску (md5/sha1/sha256/sha512)
d/Ctrl+d - Режим Memdisk (Тільки для невеликих образів WinPE/LiveCD ISO/IMG)
w/Ctrl+w - Режим WIMBOOT (Тільки для ISO-файлів Windows/WinPE)
r/Ctrl+r - Режим Grub2 (Тільки для деяких дистрибутивів Linux)
i/Ctrl+i - Сумісний режим (Тільки для зневадження)
u/Ctrl+u - Завантажити драйвер ISO EFI (Тільки для зневадження, не офіційно)
Натисність ESC для того, щоб повернутися ......

View File

@@ -9,7 +9,7 @@ F7 - 界面在文本模式和图形模式之间切换。
m/Ctrl+m - 计算文件校验值md5/sha1/sha256/sha512
d/Ctrl+d - MEMDISK 模式,把文件加载到内存启动(只适用于文件很小的 WinPE/LiveCD等
w/Ctrl+w - WIMBOOT 模式 (只适用于标准的 Windows ISO文件
w/Ctrl+w - WIMBOOT 模式 (只适用于 Windows/WinPE 的ISO文件
r/Ctrl+r - Grub2 模式 (只适用于常见的一些 Linux 系统ISO文件
i/Ctrl+i - 兼容模式 (只用作调试目的,不能正式使用)
u/Ctrl+u - 加载 ISO efi 驱动(只用作调试目的,不能正式使用)

View File

@@ -9,7 +9,7 @@ F7 - 介面在文字模式和圖形模式之間切換。
m/Ctrl+m - 計算檔案校驗值md5/sha1/sha256/sha512
d/Ctrl+d - MEMDISK 模式,把檔載入到記憶體啟動(只適用於檔很小的 WinPE/LiveCD等
w/Ctrl+w - WIMBOOT 模式 (只適用於標準的 Windows ISO檔
w/Ctrl+w - WIMBOOT 模式 (只適用於 Windows/WinPE ISO檔
r/Ctrl+r - Grub2 模式 (只適用於常見的一些 Linux 系統ISO檔
i/Ctrl+i - 相容模式 (只用作調試目的,不能正式使用)
u/Ctrl+u - 載入 ISO efi 驅動(只用作調試目的,不能正式使用)

View File

@@ -81,13 +81,18 @@ else
terminal_output console
chainloader /efi/Microsoft/Boot/bootmgfw.efi
boot
elif [ -f ($vtoydev,$partid)/VTEFI/Microsoft/Boot/bootmgfw.efi ]; then
set root=($vtoydev,$partid)
terminal_output console
chainloader /VTEFI/Microsoft/Boot/bootmgfw.efi
boot
fi
else
break
fi
vt_incr partid 1
done
if search -n -s -f /EFI/Microsoft/Boot/bootmgfw.efi; then
terminal_output console
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
@@ -109,6 +114,11 @@ else
terminal_output console
chainloader /efi/boot/bootia32.efi
boot
elif search -n -s -f /vtefi/boot/bootia32.efi; then
unset VTOY_SEARCH_NO_VTOYEFI
terminal_output console
chainloader /vtefi/boot/bootia32.efi
boot
else
unset VTOY_SEARCH_NO_VTOYEFI
echo "BOOTIA32.EFI NOT found ..."
@@ -126,6 +136,15 @@ else
chainloader /efi/xorboot/xorboot.efi
fi
boot
elif search -n -s -f /vtefi/xorboot/xorboot32.xor; then
unset VTOY_SEARCH_NO_VTOYEFI
terminal_output console
if [ -f /vtefi/xorboot/bootia32.efi ]; then
chainloader /vtefi/xorboot/bootia32.efi
elif [ -f /vtefi/xorboot/xorboot.efi ]; then
chainloader /vtefi/xorboot/xorboot.efi
fi
boot
else
unset VTOY_SEARCH_NO_VTOYEFI
echo "xorboot NOT found ..."
@@ -139,6 +158,11 @@ else
terminal_output console
chainloader /efi/boot/bootaa64.efi
boot
elif search -n -s -f /vtefi/boot/bootaa64.efi; then
unset VTOY_SEARCH_NO_VTOYEFI
terminal_output console
chainloader /vtefi/boot/bootaa64.efi
boot
else
unset VTOY_SEARCH_NO_VTOYEFI
echo "BOOTAA64.EFI NOT found ..."
@@ -152,6 +176,11 @@ else
terminal_output console
chainloader /efi/boot/bootx64.efi
boot
elif search -n -s -f /vtefi/boot/bootx64.efi; then
unset VTOY_SEARCH_NO_VTOYEFI
terminal_output console
chainloader /vtefi/boot/bootx64.efi
boot
else
unset VTOY_SEARCH_NO_VTOYEFI
echo "BOOTX64.EFI NOT found ..."
@@ -169,6 +198,15 @@ else
chainloader /efi/xorboot/xorboot.efi
fi
boot
elif search -n -s -f /vtefi/xorboot/xorboot.xor; then
unset VTOY_SEARCH_NO_VTOYEFI
terminal_output console
if [ -f /vtefi/xorboot/bootx64.efi ]; then
chainloader /vtefi/xorboot/bootx64.efi
elif [ -f /vtefi/xorboot/xorboot.efi ]; then
chainloader /vtefi/xorboot/xorboot.efi
fi
boot
else
unset VTOY_SEARCH_NO_VTOYEFI
echo "xorboot NOT found ..."

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

@@ -0,0 +1,93 @@
{
"VTLANG_LANGUAGE_NAME": "Czech (Čeština)",
"VTLANG_STR_HOTKEY_LIST": "L:Jazyk F1:Nápověda F2:Procházet F3:Seznam F4:Místní boot F5:Nástroje F6:Rozšířená nabídka",
"VTLANG_STR_HOTKEY_TREE": "L:Jazyk F1:Nápověda F2:Procházet F3:Strom F4:Místní boot F5:Nástroje F6:Rozšířená nabídka",
"VTLANG_RETURN_PREVIOUS": "Vrátit do předchozí nabídky [Esc]",
"VTLANG_RETURN_PRV_NOESC": "Vrátit do předchozí nabídky",
"VTLANG_MENU_LANG": "Výběrt jazyka nabídel",
"VTLANG_LB_SBOOT_WINDOWS": "Najít a spustit Windows",
"VTLANG_LB_SBOOT_G4D": "Najít a spustit Grub4dos",
"VTLANG_LB_SBOOT_HDD1": "Spustit 1. místní disk",
"VTLANG_LB_SBOOT_HDD2": "Spustit 2. místní disk",
"VTLANG_LB_SBOOT_HDD3": "Spustit 3. místní disk",
"VTLANG_LB_SBOOT_X64EFI": "Najít a spustit BOOTX64.EFI",
"VTLANG_LB_SBOOT_IA32EFI": "Najít a spustit BOOTIA32.EFI",
"VTLANG_LB_SBOOT_AA64EFI": "Najít a spustit BOOTAA64.EFI",
"VTLANG_LB_SBOOT_XORBOOT": "Najít a spustit xorboot",
"VTLANG_FILE_CHKSUM": "Kontrolní součet souboru",
"VTLANG_CHKSUM_MD5_CALC": "Spočítat md5sum",
"VTLANG_CHKSUM_SHA1_CALC": "Spočítat sha1sum",
"VTLANG_CHKSUM_SHA256_CALC": "Spočítat sha256sum",
"VTLANG_CHKSUM_SHA512_CALC": "Spočítat sha512sum",
"VTLANG_CHKSUM_MD5_CALC_CHK": "Spočítat a ověřit md5sum",
"VTLANG_CHKSUM_SHA1_CALC_CHK": "Spočítat a ověřit sha1sum",
"VTLANG_CHKSUM_SHA256_CALC_CHK": "Spočítat a ověřit sha256sum",
"VTLANG_CHKSUM_SHA512_CALC_CHK": "Spočítat a ověřit sha512sum",
"VTLANG_POWER": "Napájení",
"VTLANG_POWER_REBOOT": "Restartovat",
"VTLANG_POWER_HALT": "Vypnout",
"VTLANG_POWER_BOOT_EFIFW": "Restartovat do EFI nastavení",
"VTLANG_KEYBRD_LAYOUT": "Rozložení klávesnice",
"VTLANG_HWINFO": "Informace o hardwaru",
"VTLANG_RESOLUTION_CFG": "Nastavení rolišení",
"VTLANG_SCREEN_MODE": "Nastavení režimu zobrazení",
"VTLANG_SCREEN_TEXT_MODE": "Vynutit textový režim",
"VTLANG_SCREEN_GUI_MODE": "Vynutit grafický režim",
"VTLANG_THEME_SELECT": "Výběr motivu",
"VTLANG_UEFI_UTIL": "Ventoy UEFI nástroje",
"VTLANG_UTIL_SHOW_EFI_DRV": "Zobrazit EFI ovladače",
"VTLANG_UTIL_FIX_BLINIT_FAIL": "Opravit chybu Windows BlinitializeLibrary",
"VTLANG_JSON_CHK_JSON": "Zkontrolovat json konfiguraci zásuvných modulů (ventoy.json)",
"VTLANG_JSON_CHK_CONTROL": "Zkontrolovat konfiguraci hlavního zásuvného modulu",
"VTLANG_JSON_CHK_THEME": "Zkontrolovat konfiguraci zásuvného modulu motivů",
"VTLANG_JSON_CHK_AUTOINS": "Zkontrolovat konfiguraci zásuvného modulu automatické instalace",
"VTLANG_JSON_CHK_PERSIST": "Zkontrolovat konfiguraci zásuvného modulu perzistence",
"VTLANG_JSON_CHK_MENU_ALIAS": "Zkontrolovat konfiguraci zásuvného modulu aliasů",
"VTLANG_JSON_CHK_MENU_TIP": "Zkontrolovat konfiguraci zásuvného modulu tip",
"VTLANG_JSON_CHK_MENU_CLASS": "Zkontrolovat konfiguraci zásuvného modulu tříd",
"VTLANG_JSON_CHK_INJECTION": "Zkontrolovat konfiguraci zásuvného modulu injekcí",
"VTLANG_JSON_CHK_AUTO_MEMDISK": "Zkontrolovat konfiguraci zásuvného modulu automatického memdisku",
"VTLANG_JSON_CHK_IMG_LIST": "Zkontrolovat konfiguraci zásuvného modulu seznamu obrazů",
"VTLANG_JSON_CHK_IMG_BLIST": "Zkontrolovat konfiguraci zásuvného modulu černé listiny obrazů",
"VTLANG_JSON_CHK_CONF_REPLACE": "Zkontrolovat konfiguraci zásuvného modulu nahrazení konfigurace spouštění",
"VTLANG_JSON_CHK_DUD": "Zkontrolovat konfiguraci zásuvného modulu dud",
"VTLANG_JSON_CHK_PASSWORD": "Zkontrolovat konfiguraci zásuvného modulu hesla",
"VTLANG_NORMAL_MODE": "Spustit normálně",
"VTLANG_WIMBOOT_MODE": "Spustit v režimu wimboot",
"VTLANG_GRUB2_MODE": "Spustit v režimu grub2",
"VTLANG_MEMDISK_MODE": "Spustit v režimu memdisk",
"VTLANG_RET_TO_LISTVIEW": "Vrátis do zobrazení seznamu",
"VTLANG_RET_TO_TREEVIEW": "Vrátit do zobrazení stromu",
"VTLANG_NO_AUTOINS_SCRIPT": "Spustit bez šablony automatické instalace",
"VTLANG_AUTOINS_USE": "Spustit s",
"VTLANG_NO_PERSIST": "Spustit bez perzistence",
"VTLANG_PERSIST_USE": "Spustit s",
"VTLANG_BROWER_RETURN": "Vrátit",
"VTLANG_ENTER_EXIT": "zmáčkněte Enter pro ukončení",
"VTLANG_ENTER_REBOOT": "zmáčkněte Enter pro restart",
"VTLANG_ENTER_CONTINUE": "zmáčkněte enter pro pokračování",
"VTLANG_CTRL_TEMP_SET": "Dočasné řídící nastavení",
"VTLANG_WIN11_BYPASS_CHECK": "Obejít CPU/TPM/SecureBoot kontrolu při instalaci Windows 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",
"MENU_STR_XXX": ""
}

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

@@ -0,0 +1,93 @@
{
"VTLANG_LANGUAGE_NAME": "Greek (Ελληνικά)",
"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": "Αναζήτηση και εκκίνηση των Windows",
"VTLANG_LB_SBOOT_G4D": "Αναζήτηση και εκκίνηση του Grub4dos",
"VTLANG_LB_SBOOT_HDD1": "Εκκίνηση του 1ου τοπικού δίσκου",
"VTLANG_LB_SBOOT_HDD2": "Εκκίνηση του 2ου τοπικού δίσκου",
"VTLANG_LB_SBOOT_HDD3": "Εκκίνηση του 3ου τοπικού δίσκου",
"VTLANG_LB_SBOOT_X64EFI": "Αναζήτηση και εκκίνηση του BOOTX64.EFI",
"VTLANG_LB_SBOOT_IA32EFI": "Αναζήτηση και εκκίνηση του BOOTIA32.EFI",
"VTLANG_LB_SBOOT_AA64EFI": "Αναζήτηση και εκκίνηση του BOOTAA64.EFI",
"VTLANG_LB_SBOOT_XORBOOT": "Αναζήτηση και εκκίνηση του xorboot",
"VTLANG_FILE_CHKSUM": "Αρχείο checksum",
"VTLANG_CHKSUM_MD5_CALC": "Υπολογισμός md5sum",
"VTLANG_CHKSUM_SHA1_CALC": "Υπολογισμός sha1sum",
"VTLANG_CHKSUM_SHA256_CALC": "Υπολογισμός sha256sum",
"VTLANG_CHKSUM_SHA512_CALC": "Υπολογισμός sha512sum",
"VTLANG_CHKSUM_MD5_CALC_CHK": "Υπολογισμός και έλεγχος md5sum",
"VTLANG_CHKSUM_SHA1_CALC_CHK": "Υπολογισμός και έλεγχος sha1sum",
"VTLANG_CHKSUM_SHA256_CALC_CHK": "Υπολογισμός και έλεγχος sha256sum",
"VTLANG_CHKSUM_SHA512_CALC_CHK": "Υπολογισμός και έλεγχος sha512sum",
"VTLANG_POWER": "Λειτουργία",
"VTLANG_POWER_REBOOT": "Επανεκκίνηση",
"VTLANG_POWER_HALT": "Απενεργοποίηση",
"VTLANG_POWER_BOOT_EFIFW": "Επανεκκίνηση σε EFI setup",
"VTLANG_KEYBRD_LAYOUT": "Διατάξεις Πληκτρολογίου",
"VTLANG_HWINFO": "Πληροφορίες υλικού",
"VTLANG_RESOLUTION_CFG": "Διαμόρφωση ανάλυσης",
"VTLANG_SCREEN_MODE": "Λειτουργία Προβολής Οθόνης",
"VTLANG_SCREEN_TEXT_MODE": "Επιβολή λειτουργίας κειμένου",
"VTLANG_SCREEN_GUI_MODE": "Επιβολή λειτουργίας Γραφικών (GUI)",
"VTLANG_THEME_SELECT": "Επιλογή Θέματος",
"VTLANG_UEFI_UTIL": "Εργαλεία Ventoy UEFI",
"VTLANG_UTIL_SHOW_EFI_DRV": "Προβολή EFI Drivers",
"VTLANG_UTIL_FIX_BLINIT_FAIL": "Διόρθωση αποτυχίας Windows BlinitializeLibrary",
"VTLANG_JSON_CHK_JSON": "Ελεγχος διαμόρφωσης json πρόσθετων (ventoy.json)",
"VTLANG_JSON_CHK_CONTROL": "Ελεγχος διαμόρφωσης του πρόσθετου καθολικού ελέγχου",
"VTLANG_JSON_CHK_THEME": "Ελεγχος διαμόρφωσης του πρόσθετου θέματος",
"VTLANG_JSON_CHK_AUTOINS": "Ελεγχος διαμόρφωσης του πρόσθετου αυτόματης εγκατάστασης",
"VTLANG_JSON_CHK_PERSIST": "Ελεγχος διαμόρφωσης του πρόσθετου επιμονής",
"VTLANG_JSON_CHK_MENU_ALIAS": "Ελεγχος διαμόρφωσης του πρόσθετου ψευδώνυμου μενού",
"VTLANG_JSON_CHK_MENU_TIP": "Ελεγχος διαμόρφωσης του πρόσθετου συμβουλών μενού",
"VTLANG_JSON_CHK_MENU_CLASS": "Ελεγχος διαμόρφωσης του πρόσθετου κατηγορίας μενού",
"VTLANG_JSON_CHK_INJECTION": "Ελεγχος διαμόρφωσης του πρόσθετου injection",
"VTLANG_JSON_CHK_AUTO_MEMDISK": "Ελεγχος διαμόρφωσης του πρόσθετου auto memdisk",
"VTLANG_JSON_CHK_IMG_LIST": "Ελεγχος διαμόρφωσης του πρόσθετου Λίστα images",
"VTLANG_JSON_CHK_IMG_BLIST": "Ελεγχος διαμόρφωσης του πρόσθετου Μαύρη λίστα images",
"VTLANG_JSON_CHK_CONF_REPLACE": "Ελεγχος διαμόρφωσης του πρόσθετου Αντικατάσταση διαμόρφ. εκκίνησης",
"VTLANG_JSON_CHK_DUD": "Ελεγχος διαμόρφωσης του πρόσθετου dud",
"VTLANG_JSON_CHK_PASSWORD": "Ελεγχος διαμόρφωσης του πρόσθετου Κωδικός πρόσβασης",
"VTLANG_NORMAL_MODE": "Κανονική εκκίνηση",
"VTLANG_WIMBOOT_MODE": "Εκκίνηση σε λειτουργία wimboot",
"VTLANG_GRUB2_MODE": "Εκκίνηση σε λειτουργία grub2",
"VTLANG_MEMDISK_MODE": "Εκκίνηση σε λειτουργία memdisk",
"VTLANG_RET_TO_LISTVIEW": "Επιστροφή σε Προβολή Λίστας",
"VTLANG_RET_TO_TREEVIEW": "Επιστροφή σε Προβολή Δένδρου",
"VTLANG_NO_AUTOINS_SCRIPT": "Εκκίνηση χωρίς πρότυπο αυτόματης εγκατάστασης",
"VTLANG_AUTOINS_USE": "Εκκίνηση",
"VTLANG_NO_PERSIST": "Εκκίνηση χωρίς επιμονή",
"VTLANG_PERSIST_USE": "Εκκίνηση",
"VTLANG_BROWER_RETURN": "Επιστροφή",
"VTLANG_ENTER_EXIT": "πατήστε το πλήκτρο Enter για έξοδο",
"VTLANG_ENTER_REBOOT": "πατήστε το πλήκτρο Enter για επανεκκίνηση",
"VTLANG_ENTER_CONTINUE": "πατήστε το πλήκτρο Enter για να συνεχίσετε",
"VTLANG_CTRL_TEMP_SET": "Προσωρινές ρυθμίσεις ελέγχου",
"VTLANG_WIN11_BYPASS_CHECK": "Παράκαμψη ελέγχου CPU/TPM/SecureBoot κατά την εγκατάσταση των Windows 11",
"VTLANG_WIN11_BYPASS_NRO": "Παράκαμψη της απαίτησης online λογαριασμού κατά την εγκατάσταση των Windows 11",
"VTLANG_LINUX_REMOUNT": "Προσάρτηση διαμερίσματος Ventoy μετά την εκκίνηση του Linux",
"VTLANG_SECONDARY_BOOT_MENU": "Εμφάνιση δευτερεύοντος μενού εκκίνησης",
"MENU_STR_XXX": ""
}

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

@@ -0,0 +1,93 @@
{
"VTLANG_LANGUAGE_NAME": "Spanish (Español)",
"VTLANG_STR_HOTKEY_LIST": "L:Lenguaje F1:Ayuda F2:Navegar F3:Vista de lista F4:Arranque local F5:Herramientas F6:Extensión de menú",
"VTLANG_STR_HOTKEY_TREE": "L:Lenguaje F1:Ayuda F2:Navegar F3:Vista de árbol F4:Arranque local F5:Herramientas F6:Extensión de menú",
"VTLANG_RETURN_PREVIOUS": "Regresar al menú previo [Esc]",
"VTLANG_RETURN_PRV_NOESC": "Regresar al menú previo",
"VTLANG_MENU_LANG": "Selección de idioma del menú",
"VTLANG_LB_SBOOT_WINDOWS": "Buscar y arrancar Windows",
"VTLANG_LB_SBOOT_G4D": "Buscar y arrancar Grub4dos",
"VTLANG_LB_SBOOT_HDD1": "Arrancar el 1er disco local",
"VTLANG_LB_SBOOT_HDD2": "Arrancar el 2do disco local",
"VTLANG_LB_SBOOT_HDD3": "Arrancar el 3er disco local",
"VTLANG_LB_SBOOT_X64EFI": "Buscar y arrancar BOOTX64.EFI",
"VTLANG_LB_SBOOT_IA32EFI": "Buscar y arrancar BOOTIA32.EFI",
"VTLANG_LB_SBOOT_AA64EFI": "Buscar y arrancar BOOTAA64.EFI",
"VTLANG_LB_SBOOT_XORBOOT": "Buscar y arrancar xorboot",
"VTLANG_FILE_CHKSUM": "Suma de comprobación del archivo",
"VTLANG_CHKSUM_MD5_CALC": "Calcular md5sum",
"VTLANG_CHKSUM_SHA1_CALC": "Calcular sha1sum",
"VTLANG_CHKSUM_SHA256_CALC": "Calcular sha256sum",
"VTLANG_CHKSUM_SHA512_CALC": "Calcular sha512sum",
"VTLANG_CHKSUM_MD5_CALC_CHK": "Calcular y comprobar md5sum",
"VTLANG_CHKSUM_SHA1_CALC_CHK": "Calcular y comprobar sha1sum",
"VTLANG_CHKSUM_SHA256_CALC_CHK": "Calcular y comprobar sha256sum",
"VTLANG_CHKSUM_SHA512_CALC_CHK": "Calcular y comprobar sha512sum",
"VTLANG_POWER": "Poder",
"VTLANG_POWER_REBOOT": "Reiniciar",
"VTLANG_POWER_HALT": "Detener",
"VTLANG_POWER_BOOT_EFIFW": "Reiniciar a configuración EFI",
"VTLANG_KEYBRD_LAYOUT": "Distribuciones de teclado",
"VTLANG_HWINFO": "Información de Hardware",
"VTLANG_RESOLUTION_CFG": "Configuración de resolución",
"VTLANG_SCREEN_MODE": "Modo de visualización de pantalla",
"VTLANG_SCREEN_TEXT_MODE": "Forzar modo texto",
"VTLANG_SCREEN_GUI_MODE": "Forzar modo gráfico",
"VTLANG_THEME_SELECT": "Selección de tema",
"VTLANG_UEFI_UTIL": "Utilidades UEFI de Ventoy",
"VTLANG_UTIL_SHOW_EFI_DRV": "Mostrar controladores EFI",
"VTLANG_UTIL_FIX_BLINIT_FAIL": "Reparar la falla de BinitializeLibrary de Windows",
"VTLANG_JSON_CHK_JSON": "Comprobar configuración de complemento de json (ventoy.json)",
"VTLANG_JSON_CHK_CONTROL": "Comprobar configuración de complemento de control global",
"VTLANG_JSON_CHK_THEME": "Comprobar configuración de complemento de tema",
"VTLANG_JSON_CHK_AUTOINS": "Comprobar configuración de complemento de auto instalación",
"VTLANG_JSON_CHK_PERSIST": "Comprobar configuración de complemento de persistencia",
"VTLANG_JSON_CHK_MENU_ALIAS": "Comprobar configuración de complemento de alias de menú",
"VTLANG_JSON_CHK_MENU_TIP": "Comprobar configuración de complemento de consejo de menú",
"VTLANG_JSON_CHK_MENU_CLASS": "Comprobar configuración de complemento de clase de menú",
"VTLANG_JSON_CHK_INJECTION": "Comprobar configuración de complemento de inyección",
"VTLANG_JSON_CHK_AUTO_MEMDISK": "Comprobar configuración de complemento de auto memdisk",
"VTLANG_JSON_CHK_IMG_LIST": "Comprobar configuración de complemento de lista de imágenes",
"VTLANG_JSON_CHK_IMG_BLIST": "Comprobar configuración de complemento de lista negra de imágenes",
"VTLANG_JSON_CHK_CONF_REPLACE": "Comprobar configuración de complemento de reemplazo de configuración de arranque",
"VTLANG_JSON_CHK_DUD": "Comprobar configuración de complemento de dud",
"VTLANG_JSON_CHK_PASSWORD": "Comprobar configuración de complemento de contraseñas",
"VTLANG_NORMAL_MODE": "Arrancar en modo normal",
"VTLANG_WIMBOOT_MODE": "Arrancar en modo wimboot",
"VTLANG_GRUB2_MODE": "Arrancar en modo grub2",
"VTLANG_MEMDISK_MODE": "Arrancar en modo memdisk",
"VTLANG_RET_TO_LISTVIEW": "Regresar a vista de lista",
"VTLANG_RET_TO_TREEVIEW": "regresar a vista de árbol",
"VTLANG_NO_AUTOINS_SCRIPT": "Arrancar sin plantilla de auto instalación",
"VTLANG_AUTOINS_USE": "Arrancar con",
"VTLANG_NO_PERSIST": "Arrancar sin persistencia",
"VTLANG_PERSIST_USE": "Arrancar con",
"VTLANG_BROWER_RETURN": "Regresar",
"VTLANG_ENTER_EXIT": "presiona tecla Entrar para salir",
"VTLANG_ENTER_REBOOT": "presiona tecla Entrar para reiniciar",
"VTLANG_ENTER_CONTINUE": "presiona tecla Entrar para continuar",
"VTLANG_CTRL_TEMP_SET": "Ajustes de control temporales",
"VTLANG_WIN11_BYPASS_CHECK": "Saltar comprobación de CPU/TPM/Arranque Seguro al instalar Windows 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",
"MENU_STR_XXX": ""
}

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

@@ -1,9 +1,10 @@
{
"VTLANG_LANGUAGE_NAME": "Hungarian (Magyar)",
"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

@@ -1,21 +1,22 @@
{
"VTLANG_LANGUAGE_NAME": "Korean (한국어)",
"VTLANG_STR_HOTKEY_LIST": "번역: 비너스걸 L:언어 F1:도움말 F2:찾아보기 F3:목록보기 F4:로컬부 F5:도구 F6:확장메뉴",
"VTLANG_STR_HOTKEY_TREE": "번역: 비너스걸 L:언어 F1:도움말 F2:찾아보기 F3:목록보기 F4:로컬부 F5:도구 F6:확장메뉴",
"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": "Windows 검색 및 부",
"VTLANG_LB_SBOOT_G4D": "Grub4dos 검색 및 부",
"VTLANG_LB_SBOOT_HDD1": "첫 번째 로컬 디스크 부",
"VTLANG_LB_SBOOT_HDD2": "두 번째 로컬 디스크 부",
"VTLANG_LB_SBOOT_HDD3": "세 번째 로컬 디스크 부",
"VTLANG_LB_SBOOT_X64EFI": "BOOTX64.EFI 검색 및 부",
"VTLANG_LB_SBOOT_IA32EFI": "BOOTIA32.EFI 검색 및 부",
"VTLANG_LB_SBOOT_AA64EFI": "BOOTAA64.EFI 검색 및 부",
"VTLANG_LB_SBOOT_XORBOOT": "xorboot 검색 및 부",
"VTLANG_LB_SBOOT_WINDOWS": "Windows 검색 및 부",
"VTLANG_LB_SBOOT_G4D": "Grub4dos 검색 및 부",
"VTLANG_LB_SBOOT_HDD1": "첫 번째 로컬 디스크 부",
"VTLANG_LB_SBOOT_HDD2": "두 번째 로컬 디스크 부",
"VTLANG_LB_SBOOT_HDD3": "세 번째 로컬 디스크 부",
"VTLANG_LB_SBOOT_X64EFI": "BOOTX64.EFI 검색 및 부",
"VTLANG_LB_SBOOT_IA32EFI": "BOOTIA32.EFI 검색 및 부",
"VTLANG_LB_SBOOT_AA64EFI": "BOOTAA64.EFI 검색 및 부",
"VTLANG_LB_SBOOT_XORBOOT": "xorboot 검색 및 부",
"VTLANG_FILE_CHKSUM": "파일 체크섬",
"VTLANG_CHKSUM_MD5_CALC": "md5sum 계산",
@@ -28,9 +29,9 @@
"VTLANG_CHKSUM_SHA512_CALC_CHK": "sha512sum 계산 및 확인",
"VTLANG_POWER": "전원",
"VTLANG_POWER_REBOOT": "다시 부트",
"VTLANG_POWER_HALT": "끄기",
"VTLANG_POWER_BOOT_EFIFW": "EFI 설정으로 재부트",
"VTLANG_POWER_REBOOT": "다시 시작",
"VTLANG_POWER_HALT": "전원 끄기",
"VTLANG_POWER_BOOT_EFIFW": "EFI 설정으로 다시 시작",
"VTLANG_KEYBRD_LAYOUT": "키보드 레이아웃",
"VTLANG_HWINFO": "하드웨어 정보",
@@ -47,10 +48,11 @@
"VTLANG_UTIL_FIX_BLINIT_FAIL": "Windows 초기화 라이브러리 오류 복구",
"VTLANG_JSON_CHK_JSON": "플러그인 json 구성 확인 (ventoy.json)",
"VTLANG_JSON_CHK_CONTROL": "전역 제어 플러그인 구성 확인",
"VTLANG_JSON_CHK_THEME": "테마 플러그인 구성 확인",
"VTLANG_JSON_CHK_AUTOINS": "자동 설치 플러그인 구성 확인",
"VTLANG_JSON_CHK_PERSIST": "지속성 플러그인 구성 확인",
"VTLANG_JSON_CHK_PERSIST": "영구화 플러그인 구성 확인",
"VTLANG_JSON_CHK_MENU_ALIAS": "메뉴 별칭 플러그인 구성 확인",
"VTLANG_JSON_CHK_MENU_TIP": "메뉴 팁 플러그인 구성 확인",
"VTLANG_JSON_CHK_MENU_CLASS": "메뉴 클래스 플러그인 구성 확인",
@@ -59,34 +61,32 @@
"VTLANG_JSON_CHK_IMG_LIST": "이미지 목록 플러그인 구성 확인",
"VTLANG_JSON_CHK_IMG_BLIST": "이미지 블랙리스트 플러그인 구성 확인",
"VTLANG_JSON_CHK_CONF_REPLACE": "부팅 구성 대체 플러그인 구성 확인",
"VTLANG_JSON_CHK_DUD": "드라이버 디스크 업데이트 플러그인 구성 확인",
"VTLANG_JSON_CHK_DUD": "드라이버 업데이트 디스크 플러그인 구성 확인",
"VTLANG_JSON_CHK_PASSWORD": "암호 플러그인 구성 확인",
"VTLANG_NORMAL_MODE": "정상 모드로 부",
"VTLANG_WIMBOOT_MODE": "wimboot 모드로 부",
"VTLANG_NORMAL_MODE": "정상 모드로 부",
"VTLANG_WIMBOOT_MODE": "wimboot 모드로 부",
"VTLANG_GRUB2_MODE": "grub2 모드로 부팅",
"VTLANG_MEMDISK_MODE": "memdisk 모드로 부",
"VTLANG_MEMDISK_MODE": "메모리 디스크 모드로 부",
"VTLANG_RET_TO_LISTVIEW": "목록 보기로 돌아가기",
"VTLANG_RET_TO_TREEVIEW": "트리 보기로 돌아가기",
"VTLANG_RET_TO_LISTVIEW": "목록보기로 돌아가기",
"VTLANG_RET_TO_TREEVIEW": "트리보기로 돌아가기",
"VTLANG_NO_AUTOINS_SCRIPT": "자동 설치 템플릿 없이 부트",
"VTLANG_NO_AUTOINS_SCRIPT": "자동 설치 스크립트 사용 안 함",
"VTLANG_AUTOINS_USE": "부팅 대상",
"VTLANG_NO_PERSIST": "지속성 없는 부트",
"VTLANG_PERSIST_USE": "부트 대상",
"VTLANG_NO_PERSIST": "영구화된 데이터 파일 사용 안 함",
"VTLANG_PERSIST_USE": "부팅 대상",
"VTLANG_BROWER_RETURN": "돌아가기",
"VTLANG_ENTER_EXIT": "Enter 키를 눌러 종료",
"VTLANG_ENTER_REBOOT": "Enter 키를 눌러 재부팅",
"VTLANG_ENTER_EXIT": "종료하려면 Enter 키를 누르십시오",
"VTLANG_ENTER_REBOOT": "다시 시작하려면 Enter 키를 누르십시오",
"VTLANG_ENTER_CONTINUE": "계속하려면 Enter 키를 누르십시오",
"VTLANG_CTRL_TEMP_SET": "임시 제어 설정",
"VTLANG_WIN11_BYPASS_CHECK": "Windows 11 설치할 때 우회 점검",
"VTLANG_WIN11_BYPASS_NRO": "Windows 11 설치 시 온라인 계정 요구 사항 우회",
"VTLANG_LINUX_REMOUNT": "Linux 부 후 Ventoy 파티션 마운트",
"VTLANG_SECONDARY_BOOT_MENU": "보조 부 메뉴 표시",
"VTLANG_WIN11_BYPASS_CHECK": "Windows 11 설치 시 CPU/TPM/Secure Boot 검사 회피",
"VTLANG_WIN11_BYPASS_NRO": "Windows 11 설치 시 온라인 계정 요구 사항 무시",
"VTLANG_LINUX_REMOUNT": "Linux 부 후 Ventoy 파티션 마운트",
"VTLANG_SECONDARY_BOOT_MENU": "보조 부 메뉴 표시",
"MENU_STR_XXX": ""
}

View File

@@ -1,13 +1,14 @@
{
"VTLANG_LANGUAGE_NAME": "Polish (Poland)",
"VTLANG_STR_HOTKEY_LIST": "L:Język F1:Pomoc F2:Przeglądaj F3:ListView F4:Localboot F5:Narzędzia F6:ExMenu",
"VTLANG_STR_HOTKEY_LIST": "L:Język F1:Pomoc F2:Przeglądaj F3:Widok listy 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",
"VTLANG_MENU_LANG": "Wybierz język menu",
"VTLANG_LB_SBOOT_WINDOWS": "Wyszukaj i uruchom system Windows",
"VTLANG_LB_SBOOT_WINDOWS": "Wyszukaj i uruchom Windows",
"VTLANG_LB_SBOOT_G4D": "Wyszukaj i uruchom Grub4dos",
"VTLANG_LB_SBOOT_HDD1": "Uruchom pierwszy dysk lokalny",
"VTLANG_LB_SBOOT_HDD2": "Uruchom drugi dysk lokalny",
@@ -27,10 +28,10 @@
"VTLANG_CHKSUM_SHA256_CALC_CHK": "Oblicz i sprawdź sumę sha256",
"VTLANG_CHKSUM_SHA512_CALC_CHK": "Oblicz i sprawdź sumę sha512",
"VTLANG_POWER": "Moc",
"VTLANG_POWER": "Zasilanie",
"VTLANG_POWER_REBOOT": "Uruchom ponownie",
"VTLANG_POWER_HALT": "Zatrzymanie",
"VTLANG_POWER_BOOT_EFIFW": "Uruchom ponownie do konfiguracji EFI",
"VTLANG_POWER_HALT": "Zakończ",
"VTLANG_POWER_BOOT_EFIFW": "Uruchom ponownie i przejdź do konfiguracji EFI",
"VTLANG_KEYBRD_LAYOUT": "Układy klawiatury",
"VTLANG_HWINFO": "Informacje o sprzęcie",
@@ -42,23 +43,23 @@
"VTLANG_THEME_SELECT": "Wybór motywu",
"VTLANG_UEFI_UTIL": "Ventoy UEFI Utilities",
"VTLANG_UEFI_UTIL": "Narzędzia UEFI Ventoy",
"VTLANG_UTIL_SHOW_EFI_DRV": "Pokaż sterowniki EFI",
"VTLANG_UTIL_FIX_BLINIT_FAIL": "Napraw błąd BlinitializeLibrary systemu Windows",
"VTLANG_JSON_CHK_JSON": "Sprawdź konfigurację wtyczki json (ventoy.json)",
"VTLANG_JSON_CHK_CONTROL": "Sprawdź konfigurację wtyczki globalnej kontroli",
"VTLANG_JSON_CHK_THEME": "Sprawdź konfigurację wtyczki motywu",
"VTLANG_JSON_CHK_AUTOINS": "Sprawdź konfigurację automatycznej instalacji wtyczki",
"VTLANG_JSON_CHK_AUTOINS": "Sprawdź konfigurację wtyczki automatycznej instalacji",
"VTLANG_JSON_CHK_PERSIST": "Sprawdź konfigurację wtyczki trwałości",
"VTLANG_JSON_CHK_MENU_ALIAS": "Sprawdź konfigurację wtyczek aliasów menu",
"VTLANG_JSON_CHK_MENU_TIP": "Sprawdź konfigurację wtyczki podpowiedzi menu",
"VTLANG_JSON_CHK_MENU_CLASS": "Sprawdź konfigurację wtyczki klasy menu",
"VTLANG_JSON_CHK_INJECTION": "Sprawdź konfigurację wtyczki wtrysku",
"VTLANG_JSON_CHK_INJECTION": "Sprawdź konfigurację wtyczki wstrzykiwania",
"VTLANG_JSON_CHK_AUTO_MEMDISK": "Sprawdź automatyczną konfigurację wtyczki memdisk",
"VTLANG_JSON_CHK_IMG_LIST": "Sprawdź konfigurację wtyczki listy obrazów",
"VTLANG_JSON_CHK_IMG_BLIST": "Sprawdź konfigurację wtyczki czarnej listy obrazów",
"VTLANG_JSON_CHK_CONF_REPLACE": "Sprawdź konfigurację bootowania zamień konfigurację wtyczki",
"VTLANG_JSON_CHK_CONF_REPLACE": "Sprawdź konfigurację wtyczki zastępującej konfigurację bootowania",
"VTLANG_JSON_CHK_DUD": "Sprawdź konfigurację wtyczki dud",
"VTLANG_JSON_CHK_PASSWORD": "Sprawdź konfigurację wtyczki hasła",
@@ -68,12 +69,12 @@
"VTLANG_MEMDISK_MODE": "Uruchom w trybie memdisk",
"VTLANG_RET_TO_LISTVIEW": "Powrót do widoku listy",
"VTLANG_RET_TO_TREEVIEW": "Powrót do TreeView",
"VTLANG_RET_TO_TREEVIEW": "Powrót do widoku drzewa",
"VTLANG_NO_AUTOINS_SCRIPT": "Uruchom bez szablonu automatycznej instalacji",
"VTLANG_AUTOINS_USE": "Uruchom z",
"VTLANG_NO_PERSIST": "Uruchom bez trwałości",
"VTLANG_NO_PERSIST": "Uruchom bez zachowania",
"VTLANG_PERSIST_USE": "Uruchom z",
"VTLANG_BROWER_RETURN": "Powrót",
@@ -82,11 +83,11 @@
"VTLANG_ENTER_REBOOT": "naciśnij klawisz Enter, aby ponownie uruchomić",
"VTLANG_ENTER_CONTINUE": "naciśnij klawisz Enter, aby kontynuować",
"VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
"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_CTRL_TEMP_SET": "Tymczasowe ustawienia kontroli",
"VTLANG_WIN11_BYPASS_CHECK": "Pominięcie kontroli CPU/TPM/SecureBoot podczas instalacji Windows 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",
"MENU_STR_XXX": ""
}

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",
@@ -82,11 +83,11 @@
"VTLANG_ENTER_REBOOT": "pressione a tecla Enter para reiniciar",
"VTLANG_ENTER_CONTINUE": "pressione a tecla Enter para continuar",
"VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
"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_CTRL_TEMP_SET": "Configurações de Controle Temporário",
"VTLANG_WIN11_BYPASS_CHECK": "Ignorar checagem de CPU/TPM/SecureBoot quando instalando Windows 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",
"MENU_STR_XXX": ""
}

View File

@@ -1,9 +1,10 @@
{
"VTLANG_LANGUAGE_NAME": "Russian (Русский)",
"VTLANG_STR_HOTKEY_LIST": "L:Язык F1:Помощь F2:Просмотр F3:ListView F4:Локальная загрузка F5:Инструменты F6:Выйти из меню",
"VTLANG_STR_HOTKEY_TREE": "L:Язык F1:Помощь F2:Просмотр F3:TreeView F4:Локальная загрузка F5:Инструменты F6:Выйти из меню",
"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": "Выбор языка меню",
@@ -27,13 +28,13 @@
"VTLANG_CHKSUM_SHA256_CALC_CHK": "Вычислить и проверить sha256sum",
"VTLANG_CHKSUM_SHA512_CALC_CHK": "Вычислить и проверить sha512sum",
"VTLANG_POWER": "Включить",
"VTLANG_POWER": "Питание",
"VTLANG_POWER_REBOOT": "Перезагрузить",
"VTLANG_POWER_HALT": "Остановить",
"VTLANG_POWER_HALT": "Завершить роботу",
"VTLANG_POWER_BOOT_EFIFW": "Перезагрузиться в настройку EFI",
"VTLANG_KEYBRD_LAYOUT": "Раскладки клавиатуры",
"VTLANG_HWINFO": "Информация об оборудовании",
"VTLANG_HWINFO": "Сведения об оборудовании",
"VTLANG_RESOLUTION_CFG": "Конфигурация разрешения",
"VTLANG_SCREEN_MODE": "Режим Screen Display",
@@ -42,49 +43,49 @@
"VTLANG_THEME_SELECT": "Выбор темы",
"VTLANG_UEFI_UTIL": "UEFI утилиты Вентоя",
"VTLANG_UEFI_UTIL": "UEFI утилиты Ventoy",
"VTLANG_UTIL_SHOW_EFI_DRV": "Показать драйверы EFI",
"VTLANG_UTIL_FIX_BLINIT_FAIL": "Исправить ошибку Windows BlinitializeLibrary",
"VTLANG_UTIL_FIX_BLINIT_FAIL": "Исправить ошибку Windows «BlinitializeLibrary»",
"VTLANG_JSON_CHK_JSON": "Проверить конфигурацию плагина json (ventoy.json)",
"VTLANG_JSON_CHK_CONTROL": "Проверить конфигурацию плагина global control",
"VTLANG_JSON_CHK_THEME": "Проверить конфигурацию плагина theme",
"VTLANG_JSON_CHK_AUTOINS": "Проверить конфигурацию плагина auto install",
"VTLANG_JSON_CHK_PERSIST": "Проверить конфигурацию плагина persistence",
"VTLANG_JSON_CHK_MENU_ALIAS": "Проверить конфигурацию плагина menu alias",
"VTLANG_JSON_CHK_MENU_TIP": "Проверить конфигурацию плагина menu tip",
"VTLANG_JSON_CHK_MENU_CLASS": "Проверить конфигурацию плагина menu class",
"VTLANG_JSON_CHK_INJECTION": "Проверить конфигурацию плагина injection",
"VTLANG_JSON_CHK_AUTO_MEMDISK": "Проверить конфигурацию плагина auto memdisk",
"VTLANG_JSON_CHK_IMG_LIST": "Проверить конфигурацию плагина image list",
"VTLANG_JSON_CHK_IMG_BLIST": "Проверить конфигурацию плагина image blacklist",
"VTLANG_JSON_CHK_CONF_REPLACE": "Проверить конфигурацию плагина boot conf replace",
"VTLANG_JSON_CHK_DUD": "Проверить конфигурацию плагина dud",
"VTLANG_JSON_CHK_PASSWORD": "Проверить конфигурацию плагина password",
"VTLANG_JSON_CHK_JSON": "Проверить настройки расширения «json» (ventoy.json)",
"VTLANG_JSON_CHK_CONTROL": "Проверить настройки расширения «global control»",
"VTLANG_JSON_CHK_THEME": "Проверить настройки расширения «theme»",
"VTLANG_JSON_CHK_AUTOINS": "Проверить настройки расширения «auto install»",
"VTLANG_JSON_CHK_PERSIST": "Проверить настройки расширения «persistence»",
"VTLANG_JSON_CHK_MENU_ALIAS": "Проверить настройки расширения «menu alias»",
"VTLANG_JSON_CHK_MENU_TIP": "Проверить настройки расширения «menu tip»",
"VTLANG_JSON_CHK_MENU_CLASS": "Проверить настройки расширения «menu class»",
"VTLANG_JSON_CHK_INJECTION": "Проверить настройки расширения «injection»",
"VTLANG_JSON_CHK_AUTO_MEMDISK": "Проверить настройки расширения «auto memdisk»",
"VTLANG_JSON_CHK_IMG_LIST": "Проверить настройки расширения «image list»",
"VTLANG_JSON_CHK_IMG_BLIST": "Проверить настройки расширения «image blacklist»",
"VTLANG_JSON_CHK_CONF_REPLACE": "Проверить настройки расширения «boot conf replace»",
"VTLANG_JSON_CHK_DUD": "Проверить настройки расширения «dud»",
"VTLANG_JSON_CHK_PASSWORD": "Проверить настройки расширения «password»",
"VTLANG_NORMAL_MODE": "Загрузиться в обычном режиме",
"VTLANG_WIMBOOT_MODE": "Загрузиться в режиме wimboot",
"VTLANG_GRUB2_MODE": "Загрузиться в режиме grub2",
"VTLANG_MEMDISK_MODE": "Загрузиться в режиме memdisk",
"VTLANG_RET_TO_LISTVIEW": "Вернуться к ListView",
"VTLANG_RET_TO_TREEVIEW": "Вернуться к TreeView",
"VTLANG_RET_TO_LISTVIEW": "Вернуться к Виду списком",
"VTLANG_RET_TO_TREEVIEW": "Вернуться к Виду древом",
"VTLANG_NO_AUTOINS_SCRIPT": "Загрузка без шаблона автоматической установки",
"VTLANG_AUTOINS_USE": "Загрузиться с",
"VTLANG_NO_PERSIST": "Загрузка без персистентности",
"VTLANG_NO_PERSIST": "Загрузка без сохраняемости",
"VTLANG_PERSIST_USE": "Загрузиться с",
"VTLANG_BROWER_RETURN": "Вернуться",
"VTLANG_ENTER_EXIT": "нажмите клавишу Enter, чтобы выйти",
"VTLANG_ENTER_REBOOT": "нажмите клавишу Enter для перезагрузки",
"VTLANG_ENTER_CONTINUE": "нажмите клавишу Enter, чтобы продолжить",
"VTLANG_ENTER_EXIT": "нажмите клавишу ввода, чтобы выйти",
"VTLANG_ENTER_REBOOT": "нажмите клавишу ввода для перезагрузки",
"VTLANG_ENTER_CONTINUE": "нажмите клавишу ввода, чтобы продолжить",
"VTLANG_CTRL_TEMP_SET": "Настройки временного управления",
"VTLANG_WIN11_BYPASS_CHECK": "Обойти проверку при установке Windows 11",
"VTLANG_WIN11_BYPASS_NRO": "Обойти требование учетной записи в Интернете при установке Windows 11",
"VTLANG_WIN11_BYPASS_CHECK": "Обойти проверку CPU/TPM/SecureBoot при установке Windows 11",
"VTLANG_WIN11_BYPASS_NRO": "Обойти требование сетевой учётной записи при установке Windows 11",
"VTLANG_LINUX_REMOUNT": "Смонтировать раздел Ventoy после загрузки Linux",
"VTLANG_SECONDARY_BOOT_MENU": "Показать вторичное загрузочное меню",

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

@@ -3,9 +3,10 @@
"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_PREVIOUS": "முந்தைய பட்டியலுக்குத் திரும்பு [Esc]",
"VTLANG_RETURN_PRV_NOESC": "முந்தைய பட்டியலுக்குத் திரும்பு",
"VTLANG_MENU_LANG": "மெனு மொழி தேர்வு",
"VTLANG_MENU_LANG": "மொழி தேர்வு பட்டியல்",
"VTLANG_LB_SBOOT_WINDOWS": "விண்டோஸைத் தேடி துவக்கவும்",
"VTLANG_LB_SBOOT_G4D": "Grub4dos ஐத் தேடி துவக்கவும்",
@@ -42,7 +43,7 @@
"VTLANG_THEME_SELECT": "தீம் தேர்வு",
"VTLANG_UEFI_UTIL": "Ventoy UEFI Utilities",
"VTLANG_UEFI_UTIL": "Ventoy UEFI பயன்பாடுகள்",
"VTLANG_UTIL_SHOW_EFI_DRV": "EFI இயக்கிகளைக் காட்டு",
"VTLANG_UTIL_FIX_BLINIT_FAIL": "Windows BlinitializeLibrary தோல்வியைச் சரிசெய்தல்",
@@ -51,9 +52,9 @@
"VTLANG_JSON_CHK_THEME": "தீம் செருகுநிரல் உள்ளமைவைச் சரிபார்க்கவும்",
"VTLANG_JSON_CHK_AUTOINS": "தானாக நிறுவும் செருகுநிரல் உள்ளமைவைச் சரிபார்க்கவும்",
"VTLANG_JSON_CHK_PERSIST": "நிலைத்தன்மை செருகுநிரல் உள்ளமைவைச் சரிபார்க்கவும்",
"VTLANG_JSON_CHK_MENU_ALIAS": "மெனு மாற்று செருகுநிரல் உள்ளமைவைச் சரிபார்க்கவும்",
"VTLANG_JSON_CHK_MENU_TIP": "மெனு முனை செருகுநிரல் உள்ளமைவைச் சரிபார்க்கவும்",
"VTLANG_JSON_CHK_MENU_CLASS": "மெனு வகுப்பு செருகுநிரல் உள்ளமைவைச் சரிபார்க்கவும்",
"VTLANG_JSON_CHK_MENU_ALIAS": "பட்டியலில் மாற்று செருகுநிரல் உள்ளமைவைச் சரிபார்க்கவும்",
"VTLANG_JSON_CHK_MENU_TIP": "பட்டியலில் முனை செருகுநிரல் உள்ளமைவைச் சரிபார்க்கவும்",
"VTLANG_JSON_CHK_MENU_CLASS": "பட்டியலில் வகுப்பு செருகுநிரல் உள்ளமைவைச் சரிபார்க்கவும்",
"VTLANG_JSON_CHK_INJECTION": "ஊசி செருகுநிரல் உள்ளமைவைச் சரிபார்க்கவும்",
"VTLANG_JSON_CHK_AUTO_MEMDISK": "ஆட்டோ மெம்டிஸ்க் செருகுநிரல் உள்ளமைவைச் சரிபார்க்கவும்",
"VTLANG_JSON_CHK_IMG_LIST": "பட பட்டியல் செருகுநிரல் உள்ளமைவை சரிபார்க்கவும்",
@@ -82,11 +83,11 @@
"VTLANG_ENTER_REBOOT": "மறுதொடக்கம் செய்ய Enter விசையை அழுத்தவும்",
"VTLANG_ENTER_CONTINUE": "தொடர Enter விசையை அழுத்தவும்",
"VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
"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_CTRL_TEMP_SET": "தற்காலிக கட்டுப்பாட்டு அமைப்புகள்",
"VTLANG_WIN11_BYPASS_CHECK": "விண்டோஸ் 11 ஐ நிறுவும் போது CPU/TPM/SecureBoot சரிபார்பை புறக்கணிக்கவும்",
"VTLANG_WIN11_BYPASS_NRO": "விண்டோஸ் 11 ஐ நிறுவும் போது ஆன்லைன் கணக்கின் தேவையை புறக்கணிக்கவும்",
"VTLANG_LINUX_REMOUNT": "லினக்ஸை துவக்கிய பிறகு Ventoy பகிர்வை ஏற்றவும்",
"VTLANG_SECONDARY_BOOT_MENU": "இரண்டாம் நிலை துவக்க பட்டியலைக் காட்டு",
"MENU_STR_XXX": ""
}

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

@@ -0,0 +1,93 @@
{
"VTLANG_LANGUAGE_NAME": "Ukrainian (Українська)",
"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": "Знайти та завантажити Windows",
"VTLANG_LB_SBOOT_G4D": "Знайти та завантажити Grub4dos",
"VTLANG_LB_SBOOT_HDD1": "Завантажити 1-й локальний диск",
"VTLANG_LB_SBOOT_HDD2": "Завантажити 2-й локальний диск",
"VTLANG_LB_SBOOT_HDD3": "Завантажити 3-й локальний диск",
"VTLANG_LB_SBOOT_X64EFI": "Знайти та завантажити BOOTX64.EFI",
"VTLANG_LB_SBOOT_IA32EFI": "Знайти та завантажити BOOTIA32.EFI",
"VTLANG_LB_SBOOT_AA64EFI": "Знайти та завантажити BOOTAA64.EFI",
"VTLANG_LB_SBOOT_XORBOOT": "Знайти та завантажити xorboot",
"VTLANG_FILE_CHKSUM": "Контрольна сума файлу",
"VTLANG_CHKSUM_MD5_CALC": "Розрахувати md5",
"VTLANG_CHKSUM_SHA1_CALC": "Розрахувати sha1",
"VTLANG_CHKSUM_SHA256_CALC": "Розрахувати sha256",
"VTLANG_CHKSUM_SHA512_CALC": "Розрахувати sha512",
"VTLANG_CHKSUM_MD5_CALC_CHK": "Розрахувати та перевірити md5",
"VTLANG_CHKSUM_SHA1_CALC_CHK": "Розрахувати та перевірити sha1",
"VTLANG_CHKSUM_SHA256_CALC_CHK": "Розрахувати та перевірити sha256",
"VTLANG_CHKSUM_SHA512_CALC_CHK": "Розрахувати та перевірити sha512",
"VTLANG_POWER": "Живлення",
"VTLANG_POWER_REBOOT": "Перезавантажити",
"VTLANG_POWER_HALT": "Завершити роботу",
"VTLANG_POWER_BOOT_EFIFW": "Перезавантажитись до налаштувань EFI",
"VTLANG_KEYBRD_LAYOUT": "Розкладка клавіатури",
"VTLANG_HWINFO": "Відомості про пристрій",
"VTLANG_RESOLUTION_CFG": "Налаштування роздільної здатності",
"VTLANG_SCREEN_MODE": "Інтерфейс користувача",
"VTLANG_SCREEN_TEXT_MODE": "Перейти до текстового інтерфейсу",
"VTLANG_SCREEN_GUI_MODE": "Перейти до графічного інтерфейсу",
"VTLANG_THEME_SELECT": "Обрати тему",
"VTLANG_UEFI_UTIL": "Утиліти Ventoy UEFI",
"VTLANG_UTIL_SHOW_EFI_DRV": "Показати драйвери EFI",
"VTLANG_UTIL_FIX_BLINIT_FAIL": "Виправити помилку Windows 'BlinitializeLibrary Failure'",
"VTLANG_JSON_CHK_JSON": "Перевірити налаштування плагіну 'json' (ventoy.json)",
"VTLANG_JSON_CHK_CONTROL": "Перевірити налаштування плагіну 'global control'",
"VTLANG_JSON_CHK_THEME": "Перевірити налаштування плагіну 'theme'",
"VTLANG_JSON_CHK_AUTOINS": "Перевірити налаштування плагіну 'auto install'",
"VTLANG_JSON_CHK_PERSIST": "Перевірити налаштування плагіну 'persistence'",
"VTLANG_JSON_CHK_MENU_ALIAS": "Перевірити налаштування плагіну 'menu alias'",
"VTLANG_JSON_CHK_MENU_TIP": "Перевірити налаштування плагіну 'menu tip'",
"VTLANG_JSON_CHK_MENU_CLASS": "Перевірити налаштування плагіну 'menu class'",
"VTLANG_JSON_CHK_INJECTION": "Перевірити налаштування плагіну 'injection'",
"VTLANG_JSON_CHK_AUTO_MEMDISK": "Перевірити налаштування плагіну 'auto memdisk'",
"VTLANG_JSON_CHK_IMG_LIST": "Перевірити налаштування плагіну 'image list'",
"VTLANG_JSON_CHK_IMG_BLIST": "Перевірити налаштування плагіну 'image blacklist plugin'",
"VTLANG_JSON_CHK_CONF_REPLACE": "Перевірити налаштування плагіну 'boot conf replace'",
"VTLANG_JSON_CHK_DUD": "Перевірити налаштування плагіну 'dud'",
"VTLANG_JSON_CHK_PASSWORD": "Перевірити налаштування плагіну 'password'",
"VTLANG_NORMAL_MODE": "Завантажити в нормальному режимі",
"VTLANG_WIMBOOT_MODE": "Завантажити в режимі wimboot",
"VTLANG_GRUB2_MODE": "Завантажити в режимі GRUB2",
"VTLANG_MEMDISK_MODE": "Завантажити в режимі MEMDISK",
"VTLANG_RET_TO_LISTVIEW": "Повернутись до перегляду списком",
"VTLANG_RET_TO_TREEVIEW": "Повернутись до деревовидного перегляду",
"VTLANG_NO_AUTOINS_SCRIPT": "Завантажити без шаблону авто-інсталяції",
"VTLANG_AUTOINS_USE": "Завантажити з",
"VTLANG_NO_PERSIST": "Завантажити без збереження",
"VTLANG_PERSIST_USE": "Завантажити з ",
"VTLANG_BROWER_RETURN": "Повернутись",
"VTLANG_ENTER_EXIT": "натисніть Enter для виходу",
"VTLANG_ENTER_REBOOT": "натисніть Enter для перезавантаження",
"VTLANG_ENTER_CONTINUE": "натисніть Enter для продовження",
"VTLANG_CTRL_TEMP_SET": "Налаштування тимчасового контролю",
"VTLANG_WIN11_BYPASS_CHECK": "Обійти перевірку CPU/TPM/SecureBoot під час інсталяції Windows 11",
"VTLANG_WIN11_BYPASS_NRO": "Обійти вимогу онлайн-аккаунту під час інсталяції Windows 11",
"VTLANG_LINUX_REMOUNT": "Монтувати розділ Ventoy після завантаження Linux",
"VTLANG_SECONDARY_BOOT_MENU": "Показувати вторинне меню завантаження",
"MENU_STR_XXX": ""
}

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

@@ -1,92 +1,93 @@
{
"VTLANG_LANGUAGE_NAME": "Chinese Traditional (正體中文)",
"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_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_MENU_LANG": "選單語言",
"VTLANG_LB_SBOOT_WINDOWS": "搜尋並啟動 Windows",
"VTLANG_LB_SBOOT_G4D": "搜尋並啟動 Grub4dos",
"VTLANG_LB_SBOOT_HDD1": "啟動本硬碟1中的系統",
"VTLANG_LB_SBOOT_HDD2": "啟動本硬碟2中的系統",
"VTLANG_LB_SBOOT_HDD3": "啟動本硬碟3中的系統",
"VTLANG_LB_SBOOT_HDD1": "啟動本硬碟1中的系統",
"VTLANG_LB_SBOOT_HDD2": "啟動本硬碟2中的系統",
"VTLANG_LB_SBOOT_HDD3": "啟動本硬碟3中的系統",
"VTLANG_LB_SBOOT_X64EFI": "搜尋並啟動 BOOTX64.EFI",
"VTLANG_LB_SBOOT_IA32EFI": "搜尋並啟動 BOOTIA32.EFI",
"VTLANG_LB_SBOOT_AA64EFI": "搜尋並啟動 BOOTAA64.EFI",
"VTLANG_LB_SBOOT_XORBOOT": "搜尋並啟動 xorboot",
"VTLANG_FILE_CHKSUM": "檔案校驗",
"VTLANG_CHKSUM_MD5_CALC": "計算 MD5 校驗值",
"VTLANG_CHKSUM_SHA1_CALC": "計算 SHA1 校驗值",
"VTLANG_CHKSUM_SHA256_CALC": "計算 SHA256 校驗值",
"VTLANG_CHKSUM_SHA512_CALC": "計算 SHA512 校驗值",
"VTLANG_CHKSUM_MD5_CALC_CHK": "計算並檢查 MD5 校驗值",
"VTLANG_CHKSUM_SHA1_CALC_CHK": "計算並檢查 SHA1 校驗值",
"VTLANG_CHKSUM_SHA256_CALC_CHK": "計算並檢查 SHA256 校驗值",
"VTLANG_CHKSUM_SHA512_CALC_CHK": "計算並檢查 SHA512 校驗值",
"VTLANG_FILE_CHKSUM": "校驗檔案",
"VTLANG_CHKSUM_MD5_CALC": "計算 MD5 檢查碼",
"VTLANG_CHKSUM_SHA1_CALC": "計算 SHA1 檢查碼",
"VTLANG_CHKSUM_SHA256_CALC": "計算 SHA256 檢查碼",
"VTLANG_CHKSUM_SHA512_CALC": "計算 SHA512 檢查碼",
"VTLANG_CHKSUM_MD5_CALC_CHK": "計算並檢查 MD5 檢查碼",
"VTLANG_CHKSUM_SHA1_CALC_CHK": "計算並檢查 SHA1 檢查碼",
"VTLANG_CHKSUM_SHA256_CALC_CHK": "計算並檢查 SHA256 檢查碼",
"VTLANG_CHKSUM_SHA512_CALC_CHK": "計算並檢查 SHA512 檢查碼",
"VTLANG_POWER": "電源",
"VTLANG_POWER_REBOOT": "重",
"VTLANG_POWER_REBOOT": "重新開機",
"VTLANG_POWER_HALT": "關機",
"VTLANG_POWER_BOOT_EFIFW": "重進入 UEFI 設定選單",
"VTLANG_POWER_BOOT_EFIFW": "重新開機進入 UEFI 設定選單",
"VTLANG_KEYBRD_LAYOUT": "鍵盤配置",
"VTLANG_KEYBRD_LAYOUT": "鍵盤設定",
"VTLANG_HWINFO": "硬體資訊",
"VTLANG_RESOLUTION_CFG": "螢幕解析度",
"VTLANG_SCREEN_MODE": "顯示模式",
"VTLANG_SCREEN_TEXT_MODE": "文字模式",
"VTLANG_SCREEN_GUI_MODE": "圖形模式",
"VTLANG_SCREEN_TEXT_MODE": "強制文字模式",
"VTLANG_SCREEN_GUI_MODE": "強制圖形模式",
"VTLANG_THEME_SELECT": "主題選擇",
"VTLANG_THEME_SELECT": "主題風格選擇",
"VTLANG_UEFI_UTIL": "Ventoy UEFI 實用程",
"VTLANG_UEFI_UTIL": "Ventoy UEFI 實用程",
"VTLANG_UTIL_SHOW_EFI_DRV": "顯示 UEFI 驅動",
"VTLANG_UTIL_FIX_BLINIT_FAIL": "修復 Windows BlinitializeLibrary 錯誤",
"VTLANG_JSON_CHK_JSON": "檢查外掛程式設定檔 (ventoy.json)",
"VTLANG_JSON_CHK_CONTROL": "配置檢查 —— 全域控制外掛程式",
"VTLANG_JSON_CHK_THEME": "配置檢查 —— 主題外掛程式",
"VTLANG_JSON_CHK_AUTOINS": "配置檢查 —— 自動安裝外掛程式",
"VTLANG_JSON_CHK_PERSIST": "配置檢查 —— 持久化外掛程式",
"VTLANG_JSON_CHK_MENU_ALIAS": "配置檢查 —— 功能表別名外掛程式",
"VTLANG_JSON_CHK_MENU_TIP": "配置檢查 —— 功能表提示外掛程式",
"VTLANG_JSON_CHK_MENU_CLASS": "配置檢查 —— 功能表類外掛程式",
"VTLANG_JSON_CHK_INJECTION": "配置檢查 —— 檔注入外掛程式",
"VTLANG_JSON_CHK_AUTO_MEMDISK": "配置檢查 —— 自動內存檔模式外掛程式",
"VTLANG_JSON_CHK_IMG_LIST": "配置檢查 —— 檔清單外掛程式(白名單)",
"VTLANG_JSON_CHK_IMG_BLIST": "配置檢查 —— 檔清單外掛程式(黑名單)",
"VTLANG_JSON_CHK_CONF_REPLACE": "配置檢查 —— 啟動配置替換外掛程式",
"VTLANG_JSON_CHK_DUD": "配置檢查 —— Driver Update Disk外掛程式",
"VTLANG_JSON_CHK_PASSWORD": "配置檢查 —— 密碼外掛程式",
"VTLANG_JSON_CHK_CONTROL": "設定檢查 —— 全域控制外掛程式",
"VTLANG_JSON_CHK_THEME": "設定檢查 —— 主題風格外掛程式",
"VTLANG_JSON_CHK_AUTOINS": "設定檢查 —— 自動安裝外掛程式",
"VTLANG_JSON_CHK_PERSIST": "設定檢查 —— 永久性外掛程式",
"VTLANG_JSON_CHK_MENU_ALIAS": "設定檢查 —— 功能表別名外掛程式",
"VTLANG_JSON_CHK_MENU_TIP": "設定檢查 —— 功能表提示外掛程式",
"VTLANG_JSON_CHK_MENU_CLASS": "設定檢查 —— 功能表類外掛程式",
"VTLANG_JSON_CHK_INJECTION": "設定檢查 —— 檔注入外掛程式",
"VTLANG_JSON_CHK_AUTO_MEMDISK": "設定檢查 —— 自動 memdisk 模式外掛程式",
"VTLANG_JSON_CHK_IMG_LIST": "設定檢查 —— 映像檔清單外掛程式(白名單)",
"VTLANG_JSON_CHK_IMG_BLIST": "設定檢查 —— 映像檔清單外掛程式(黑名單)",
"VTLANG_JSON_CHK_CONF_REPLACE": "設定檢查 —— 啟動設定替換外掛程式",
"VTLANG_JSON_CHK_DUD": "設定檢查 —— Driver Update Disk外掛程式",
"VTLANG_JSON_CHK_PASSWORD": "設定檢查 —— 密碼外掛程式",
"VTLANG_NORMAL_MODE": "以正常模式啟動",
"VTLANG_WIMBOOT_MODE": "以 wimboot 模式啟動",
"VTLANG_GRUB2_MODE": "以 grub2 模式啟動",
"VTLANG_MEMDISK_MODE": "以內存檔模式啟動",
"VTLANG_MEMDISK_MODE": "以 memdisk 模式啟動",
"VTLANG_RET_TO_LISTVIEW": "返回到清單模式",
"VTLANG_RET_TO_TREEVIEW": "返回到樹形模式",
"VTLANG_RET_TO_LISTVIEW": "返回到清單檢視",
"VTLANG_RET_TO_TREEVIEW": "返回到樹狀檢視",
"VTLANG_NO_AUTOINS_SCRIPT": "不使用自動安裝腳本",
"VTLANG_AUTOINS_USE": "使用",
"VTLANG_NO_PERSIST": "不使用持久化資料檔案",
"VTLANG_NO_PERSIST": "不使用永久性資料檔案",
"VTLANG_PERSIST_USE": "使用",
"VTLANG_BROWER_RETURN": "返回",
"VTLANG_ENTER_EXIT": "按回車鍵退出",
"VTLANG_ENTER_REBOOT": "按回車鍵重啟",
"VTLANG_ENTER_CONTINUE": "按回車鍵繼續",
"VTLANG_ENTER_EXIT": "按 Enter 鍵退出",
"VTLANG_ENTER_REBOOT": "按 Enter 鍵重新開機",
"VTLANG_ENTER_CONTINUE": "按 Enter 鍵繼續",
"VTLANG_CTRL_TEMP_SET": "控制變量設置",
"VTLANG_WIN11_BYPASS_CHECK": "安裝 Windows 11 時繞過TPM/安全啟動等硬檢查",
"VTLANG_WIN11_BYPASS_NRO": "安裝 Windows 11 時繞過在線賬戶的求",
"VTLANG_CTRL_TEMP_SET": "控制變數設定",
"VTLANG_WIN11_BYPASS_CHECK": "安裝 Windows 11 時繞過TPM/安全啟動等硬檢查",
"VTLANG_WIN11_BYPASS_NRO": "安裝 Windows 11 時繞過登入帳戶的求",
"VTLANG_LINUX_REMOUNT": "啟動 Linux 系統後掛載 Ventoy 分區",
"VTLANG_SECONDARY_BOOT_MENU": "顯示二級啟動單",
"VTLANG_SECONDARY_BOOT_MENU": "顯示次要啟動單",
"MENU_STR_XXX": ""
}

View File

@@ -12,7 +12,7 @@ submenu "$VTLANG_POWER" --class=debug_power --class=F5tool {
}
if [ "$grub_platform" != "pc" ]; then
menuentry '$VTLANG_POWER_BOOT_EFIFW' --class=debug_efisetup --class=debug_power --class=F5tool {
menuentry "$VTLANG_POWER_BOOT_EFIFW" --class=debug_efisetup --class=debug_power --class=F5tool {
echo -e '\n\nRebooting to enter UEFI firmware setup ... \n'
sleep 1
fwsetup

View File

@@ -185,14 +185,27 @@ if [ "$MODE" = "install" -a -z "$NONDESTRUCTIVE" ]; then
fi
else
if parted -v > /dev/null 2>&1; then
PARTTOOL='parted'
PARTTOOL='parted'
elif fdisk -v >/dev/null 2>&1; then
PARTTOOL='fdisk'
PARTTOOL='fdisk'
else
vterr "Both parted and fdisk are not found in the system, Ventoy can't create new partitions."
exit 1
fi
fi
if [ "$PARTTOOL" = "parted" ]; then
if parted $DISK p | grep -i -q 'sector size.*4096.*4096'; then
vterr "Currently Ventoy does not support 4K native device."
exit 1
fi
else
if fdisk -l $DISK | grep -i -q 'sector size.*4096.*4096'; then
vterr "Currently Ventoy does not support 4K native device."
exit 1
fi
fi
version=$(get_disk_ventoy_version $DISK)
if [ $? -eq 0 ]; then

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -492,7 +492,7 @@ format_ventoy_disk_gpt() {
for i in 0 1 2 3 4 5 6 7 8 9; do
check_umount_disk "$PART2"
if mkfs.vfat -F 16 -n VTOYEFI $PART2; then
if mkfs.vfat -F 16 -n VTOYEFI -s 1 $PART2; then
echo 'success'
break
else

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More