mirror of
https://github.com/ventoy/Ventoy.git
synced 2025-09-18 01:41:15 +00:00
Compare commits
115 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
22ad828df2 | ||
|
83f22173a5 | ||
|
2de7d9ffe0 | ||
|
5c174c4521 | ||
|
c76ece4b74 | ||
|
27eda4d1e7 | ||
|
acf5a84467 | ||
|
c93e406aa5 | ||
|
1b164e74e4 | ||
|
308cb86f83 | ||
|
2ec593d355 | ||
|
594e735b91 | ||
|
6203366040 | ||
|
64f4400305 | ||
|
d00e08e2e1 | ||
|
c6008be394 | ||
|
a5c6859f5f | ||
|
497d4cc991 | ||
|
7e7687afe3 | ||
|
dd3276badf | ||
|
4a06f4a694 | ||
|
c73bf256be | ||
|
21851f7e96 | ||
|
f222f8cac9 | ||
|
40c4825aac | ||
|
dd906e0b16 | ||
|
324f2b927c | ||
|
5797ca3396 | ||
|
b36b322c03 | ||
|
fd7e34b632 | ||
|
e85c02756b | ||
|
c1d68bd787 | ||
|
a35a822723 | ||
|
05137c83e2 | ||
|
8058856182 | ||
|
33b958e112 | ||
|
9eb50a85e4 | ||
|
3cc7e3772e | ||
|
9c8292867f | ||
|
a4053d2d05 | ||
|
5c14ea0a4a | ||
|
194e948cb6 | ||
|
c896c03efe | ||
|
574b4d850c | ||
|
68a98325e6 | ||
|
25b055bb0f | ||
|
bda74cd89b | ||
|
511b8091eb | ||
|
3be4aacd78 | ||
|
2d8b27b172 | ||
|
c174410d35 | ||
|
f83e84f868 | ||
|
a39078b87a | ||
|
2576235f97 | ||
|
ee04af5243 | ||
|
118bedd546 | ||
|
44ff3dd8d4 | ||
|
9da5a6ce65 | ||
|
604b25ec82 | ||
|
0918355035 | ||
|
ce76fd5649 | ||
|
42535f35bc | ||
|
68a9cebe19 | ||
|
cc77c74bf4 | ||
|
ee952e3f69 | ||
|
b11a499939 | ||
|
fdf4693433 | ||
|
ac65c0fb24 | ||
|
ea0afe7c8b | ||
|
f8ca8b13d3 | ||
|
678a2abdf1 | ||
|
e645301713 | ||
|
43b415c032 | ||
|
311d2961ca | ||
|
1d66584190 | ||
|
553c853865 | ||
|
7d90912a09 | ||
|
c2336f555a | ||
|
87391e8b32 | ||
|
f9c56c6686 | ||
|
1ab1799b72 | ||
|
4a42bdfce7 | ||
|
3f09fb9a23 | ||
|
c87ad1d734 | ||
|
5590208885 | ||
|
09a6d33d62 | ||
|
9852252aba | ||
|
0585d83a8f | ||
|
ebe0b7d282 | ||
|
261ddcef45 | ||
|
ebc5e2e993 | ||
|
d58bd8c3f7 | ||
|
17f9e2fd09 | ||
|
6b22a6200e | ||
|
860dce6683 | ||
|
7fc72d5ce6 | ||
|
b7c3cbd23b | ||
|
3de97bdf44 | ||
|
e79dc57ebe | ||
|
7bf85a1ef8 | ||
|
a5e0641226 | ||
|
2c65eec9ec | ||
|
0c310c5bd8 | ||
|
c81b49807b | ||
|
085e20f64d | ||
|
ff3ce4da66 | ||
|
81d3492a61 | ||
|
635b1a1c6c | ||
|
10b80f2690 | ||
|
36c21a21e4 | ||
|
13eb9829fa | ||
|
88f77c01e4 | ||
|
11b30dab5f | ||
|
fb729146de | ||
|
92bd6733dd |
12
.github/ISSUE_TEMPLATE/issue_template.yml
vendored
12
.github/ISSUE_TEMPLATE/issue_template.yml
vendored
@@ -21,7 +21,7 @@ body:
|
||||
attributes:
|
||||
label: Ventoy Version
|
||||
description: What version of ventoy are you running?
|
||||
placeholder: 1.0.79
|
||||
placeholder: 1.0.84
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
@@ -34,6 +34,16 @@ body:
|
||||
- No. I didn't try the latest release.
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: alternativemode
|
||||
attributes:
|
||||
label: Try alternative boot mode
|
||||
description: Have you tried alternative boot mode? (wimboot mode for Windows/WinPE, grub2 mode for linux)
|
||||
options:
|
||||
- Yes. I have tried them, but the bug still exist.
|
||||
- No. I didn't try these alternative boot modes.
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: bios
|
||||
attributes:
|
||||
|
@@ -85,7 +85,7 @@ body:
|
||||
- type: input
|
||||
id: testenv
|
||||
attributes:
|
||||
label: Test envrionment
|
||||
label: Test environment
|
||||
description: The manufacturer/model and other details about your computer (or VM).
|
||||
placeholder: Lenovo Thinkpad T420 laptop
|
||||
validations:
|
||||
|
@@ -34,7 +34,7 @@
|
||||
https://codeload.github.com/libfuse/libfuse/zip/fuse-2.9.9 ===> /home/Ventoy-master/ExFAT/libfuse-fuse-2.9.9.zip
|
||||
https://releases.linaro.org/components/toolchain/binaries/7.4-2019.02/aarch64-linux-gnu/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu.tar.xz ===> /opt/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu.tar.xz
|
||||
https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/tarballs/aarch64--uclibc--stable-2020.08-1.tar.bz2 ===> /opt/aarch64--uclibc--stable-2020.08-1.tar.bz2
|
||||
http://ftp.loongnix.org/toolchain/gcc/release/mips-loongson-gcc7.3-2019.06-29-linux-gnu.tar.gz ===> /opt/mips-loongson-gcc7.3-2019.06-29-linux-gnu.tar.gz
|
||||
http://ftp.loongnix.cn/toolchain/gcc/release/mips/gcc7/mips-loongson-gcc7.3-2019.06-29-linux-gnu.tar.gz ===> /opt/mips-loongson-gcc7.3-2019.06-29-linux-gnu.tar.gz
|
||||
https://github.com/ventoy/musl-cross-make/releases/download/latest/output.tar.bz2 ===> /opt/output.tar.bz2
|
||||
|
||||
|
||||
|
@@ -1491,6 +1491,34 @@ STATIC EFI_STATUS EFIAPI ventoy_wrapper_file_procotol(EFI_FILE_PROTOCOL *File, B
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
STATIC BOOLEAN EFIAPI ventoy_replace_name_match(CHAR8 *pReplace, CHAR8 *pName)
|
||||
{
|
||||
UINTN Len1, Len2;
|
||||
|
||||
Len1 = AsciiStrLen(pReplace);
|
||||
Len2 = AsciiStrLen(pName);
|
||||
|
||||
if (Len1 == 0 || Len2 == 0)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (0 == AsciiStriCmp(pReplace, pName))
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (Len1 > 2 && Len2 > 2)
|
||||
{
|
||||
if ((pReplace[0] != '\\') && (pName[0] == '\\') && (0 == AsciiStriCmp(pReplace, pName + 1)))
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
STATIC EFI_STATUS EFIAPI ventoy_wrapper_file_open
|
||||
(
|
||||
EFI_FILE_HANDLE This,
|
||||
@@ -1534,7 +1562,7 @@ STATIC EFI_STATUS EFIAPI ventoy_wrapper_file_open
|
||||
AsciiSPrint(TmpName, sizeof(TmpName), "%s", Name);
|
||||
for (j = 0; j < 4; j++)
|
||||
{
|
||||
if (0 == AsciiStriCmp(g_file_replace_list[i].old_file_name[j], TmpName))
|
||||
if (ventoy_replace_name_match(g_file_replace_list[i].old_file_name[j], TmpName))
|
||||
{
|
||||
g_original_fclose(*New);
|
||||
*New = &g_efi_file_replace.WrapperHandle;
|
||||
|
174
GRUB2/MOD_SRC/grub-2.04/grub-core/commands/echo.c
Normal file
174
GRUB2/MOD_SRC/grub-2.04/grub-core/commands/echo.c
Normal file
@@ -0,0 +1,174 @@
|
||||
/* echo.c - Command to display a line of text */
|
||||
/*
|
||||
* GRUB -- GRand Unified Bootloader
|
||||
* Copyright (C) 2006,2007,2010 Free Software Foundation, Inc.
|
||||
*
|
||||
* GRUB 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.
|
||||
*
|
||||
* GRUB 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 GRUB. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <grub/dl.h>
|
||||
#include <grub/misc.h>
|
||||
#include <grub/extcmd.h>
|
||||
#include <grub/i18n.h>
|
||||
#include <grub/term.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
extern const char *ventoy_get_vmenu_title(const char *vMenu);
|
||||
|
||||
static const struct grub_arg_option options[] =
|
||||
{
|
||||
{0, 'n', 0, N_("Do not output the trailing newline."), 0, 0},
|
||||
{0, 'e', 0, N_("Enable interpretation of backslash escapes."), 0, 0},
|
||||
{0, 'v', 0, N_("ventoy menu language."), 0, 0},
|
||||
{0, 'V', 0, N_("ventoy menu language with pre-newline."), 0, 0},
|
||||
{0, 0, 0, 0, 0, 0}
|
||||
};
|
||||
|
||||
static grub_err_t
|
||||
grub_cmd_echo (grub_extcmd_context_t ctxt, int argc, char **args)
|
||||
{
|
||||
struct grub_arg_list *state = ctxt->state;
|
||||
char ch;
|
||||
int vtmenu = 0;
|
||||
int newline = 1;
|
||||
int i;
|
||||
|
||||
/* Check if `-n' was used. */
|
||||
if (state[0].set)
|
||||
newline = 0;
|
||||
|
||||
if (state[2].set || state[3].set)
|
||||
vtmenu = 1;
|
||||
|
||||
for (i = 0; i < argc; i++)
|
||||
{
|
||||
char *arg = *args;
|
||||
/* Unescaping results in a string no longer than the original. */
|
||||
char *unescaped = grub_malloc (grub_strlen (arg) + 1);
|
||||
char *p = unescaped;
|
||||
args++;
|
||||
|
||||
if (!unescaped)
|
||||
return grub_errno;
|
||||
|
||||
while (*arg)
|
||||
{
|
||||
/* In case `-e' is used, parse backslashes. */
|
||||
if (*arg == '\\' && state[1].set)
|
||||
{
|
||||
arg++;
|
||||
if (*arg == '\0')
|
||||
break;
|
||||
|
||||
switch (*arg)
|
||||
{
|
||||
case '\\':
|
||||
*p++ = '\\';
|
||||
break;
|
||||
|
||||
case 'a':
|
||||
*p++ = '\a';
|
||||
break;
|
||||
|
||||
case 'c':
|
||||
newline = 0;
|
||||
break;
|
||||
|
||||
case 'f':
|
||||
*p++ = '\f';
|
||||
break;
|
||||
|
||||
case 'n':
|
||||
*p++ = '\n';
|
||||
break;
|
||||
|
||||
case 'r':
|
||||
*p++ = '\r';
|
||||
break;
|
||||
|
||||
case 't':
|
||||
*p++ = '\t';
|
||||
break;
|
||||
|
||||
case 'v':
|
||||
*p++ = '\v';
|
||||
break;
|
||||
}
|
||||
arg++;
|
||||
continue;
|
||||
}
|
||||
|
||||
/* This was not an escaped character, or escaping is not
|
||||
enabled. */
|
||||
*p++ = *arg;
|
||||
arg++;
|
||||
}
|
||||
|
||||
*p = '\0';
|
||||
|
||||
if (vtmenu && grub_strncmp(unescaped, "VTMENU_", 7) == 0)
|
||||
{
|
||||
p = unescaped;
|
||||
while ((*p >= 'A' && *p <= 'Z') || *p == '_')
|
||||
{
|
||||
p++;
|
||||
}
|
||||
|
||||
ch = *p;
|
||||
*p = 0;
|
||||
if (state[3].set)
|
||||
{
|
||||
grub_xputs("\n");
|
||||
}
|
||||
grub_xputs(ventoy_get_vmenu_title(unescaped));
|
||||
|
||||
*p = ch;
|
||||
grub_xputs(p);
|
||||
}
|
||||
else
|
||||
{
|
||||
grub_xputs (unescaped);
|
||||
}
|
||||
|
||||
grub_free (unescaped);
|
||||
|
||||
/* If another argument follows, insert a space. */
|
||||
if ((0 == vtmenu) && (i != argc - 1))
|
||||
grub_printf (" " );
|
||||
}
|
||||
|
||||
if (newline)
|
||||
grub_printf ("\n");
|
||||
|
||||
grub_refresh ();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static grub_extcmd_t cmd;
|
||||
|
||||
GRUB_MOD_INIT(echo)
|
||||
{
|
||||
cmd = grub_register_extcmd ("echo", grub_cmd_echo,
|
||||
GRUB_COMMAND_ACCEPT_DASH
|
||||
| GRUB_COMMAND_OPTIONS_AT_START,
|
||||
N_("[-e|-n] STRING"), N_("Display a line of text."),
|
||||
options);
|
||||
}
|
||||
|
||||
GRUB_MOD_FINI(echo)
|
||||
{
|
||||
grub_unregister_extcmd (cmd);
|
||||
}
|
@@ -25,6 +25,10 @@
|
||||
#include <grub/i18n.h>
|
||||
#include <grub/normal.h>
|
||||
|
||||
typedef const char * (*get_vmenu_title_pf)(const char *vMenu);
|
||||
static get_vmenu_title_pf g_pfvmenu_title = NULL;
|
||||
|
||||
|
||||
static const struct grub_arg_option options[] =
|
||||
{
|
||||
{"class", 1, GRUB_ARG_OPTION_REPEATABLE,
|
||||
@@ -86,6 +90,8 @@ grub_normal_add_menu_entry (int argc, const char **args,
|
||||
char *menu_title = NULL;
|
||||
char *menu_sourcecode = NULL;
|
||||
char *menu_id = NULL;
|
||||
const char *vmenu = NULL;
|
||||
const char *vaddr = NULL;
|
||||
struct grub_menu_entry_class *menu_classes = NULL;
|
||||
|
||||
grub_menu_t menu;
|
||||
@@ -145,7 +151,17 @@ grub_normal_add_menu_entry (int argc, const char **args,
|
||||
goto fail;
|
||||
}
|
||||
|
||||
menu_title = grub_strdup (args[0]);
|
||||
if (!g_pfvmenu_title) {
|
||||
vaddr = grub_env_get("VTOY_VMENU_FUNC_ADDR");
|
||||
if (vaddr)
|
||||
g_pfvmenu_title = (get_vmenu_title_pf)(unsigned long)grub_strtoul(vaddr, NULL, 16);
|
||||
}
|
||||
|
||||
if (g_pfvmenu_title && grub_strncmp(args[0], "@VTMENU_", 8) == 0)
|
||||
vmenu = g_pfvmenu_title(args[0] + 1);
|
||||
|
||||
menu_title = grub_strdup (vmenu ? vmenu : args[0]);
|
||||
|
||||
if (! menu_title)
|
||||
goto fail;
|
||||
|
||||
|
@@ -229,6 +229,13 @@ test_parse (char **args, int *argn, int argc)
|
||||
(*argn) += 3;
|
||||
continue;
|
||||
}
|
||||
if (grub_strcmp (args[*argn + 1], "-EQ") == 0)
|
||||
{
|
||||
update_val (grub_strtoull (args[*argn], 0, 0)
|
||||
== grub_strtoull (args[*argn + 2], 0, 0), &ctx);
|
||||
(*argn) += 3;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (grub_strcmp (args[*argn + 1], "-ge") == 0)
|
||||
{
|
||||
@@ -237,6 +244,13 @@ test_parse (char **args, int *argn, int argc)
|
||||
(*argn) += 3;
|
||||
continue;
|
||||
}
|
||||
if (grub_strcmp (args[*argn + 1], "-GE") == 0)
|
||||
{
|
||||
update_val (grub_strtoull (args[*argn], 0, 0)
|
||||
>= grub_strtoull (args[*argn + 2], 0, 0), &ctx);
|
||||
(*argn) += 3;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (grub_strcmp (args[*argn + 1], "-gt") == 0)
|
||||
{
|
||||
@@ -245,6 +259,13 @@ test_parse (char **args, int *argn, int argc)
|
||||
(*argn) += 3;
|
||||
continue;
|
||||
}
|
||||
if (grub_strcmp (args[*argn + 1], "-GT") == 0)
|
||||
{
|
||||
update_val (grub_strtoull (args[*argn], 0, 0)
|
||||
> grub_strtoull (args[*argn + 2], 0, 0), &ctx);
|
||||
(*argn) += 3;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (grub_strcmp (args[*argn + 1], "-le") == 0)
|
||||
{
|
||||
@@ -253,6 +274,13 @@ test_parse (char **args, int *argn, int argc)
|
||||
(*argn) += 3;
|
||||
continue;
|
||||
}
|
||||
if (grub_strcmp (args[*argn + 1], "-LE") == 0)
|
||||
{
|
||||
update_val (grub_strtoull (args[*argn], 0, 0)
|
||||
<= grub_strtoull (args[*argn + 2], 0, 0), &ctx);
|
||||
(*argn) += 3;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (grub_strcmp (args[*argn + 1], "-lt") == 0)
|
||||
{
|
||||
@@ -261,6 +289,13 @@ test_parse (char **args, int *argn, int argc)
|
||||
(*argn) += 3;
|
||||
continue;
|
||||
}
|
||||
if (grub_strcmp (args[*argn + 1], "-LT") == 0)
|
||||
{
|
||||
update_val (grub_strtoull (args[*argn], 0, 0)
|
||||
< grub_strtoull (args[*argn + 2], 0, 0), &ctx);
|
||||
(*argn) += 3;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (grub_strcmp (args[*argn + 1], "-ne") == 0)
|
||||
{
|
||||
@@ -269,6 +304,13 @@ test_parse (char **args, int *argn, int argc)
|
||||
(*argn) += 3;
|
||||
continue;
|
||||
}
|
||||
if (grub_strcmp (args[*argn + 1], "-NE") == 0)
|
||||
{
|
||||
update_val (grub_strtoull (args[*argn], 0, 0)
|
||||
!= grub_strtoull (args[*argn + 2], 0, 0), &ctx);
|
||||
(*argn) += 3;
|
||||
continue;
|
||||
}
|
||||
|
||||
/* GRUB extension: compare numbers skipping prefixes.
|
||||
Useful for comparing versions. E.g. vmlinuz-2 -plt vmlinuz-11. */
|
||||
|
@@ -31,6 +31,7 @@ extern int g_ventoy_iso_raw;
|
||||
extern int g_ventoy_grub2_mode;
|
||||
extern int g_ventoy_wimboot_mode;
|
||||
extern int g_ventoy_iso_uefi_drv;
|
||||
extern char g_ventoy_hotkey_tip[256];
|
||||
|
||||
static const char *align_options[] =
|
||||
{
|
||||
@@ -230,10 +231,7 @@ label_set_property (void *vself, const char *name, const char *value)
|
||||
value = g_ventoy_iso_uefi_drv ? grub_env_get("VTOY_ISO_UEFI_DRV_STR") : " ";
|
||||
}
|
||||
else if (grub_strcmp (value, "@VTOY_HOTKEY_TIP@") == 0) {
|
||||
value = grub_env_get("VTOY_HOTKEY_TIP");
|
||||
if (value == NULL) {
|
||||
value = _(" ");
|
||||
}
|
||||
value = g_ventoy_hotkey_tip;
|
||||
}
|
||||
|
||||
self->template = grub_strdup (value);
|
||||
|
@@ -362,7 +362,8 @@ static grub_err_t
|
||||
cmd_append (const char *line, struct syslinux_menu *menu)
|
||||
{
|
||||
if (!menu->entries)
|
||||
return grub_error (GRUB_ERR_BAD_ARGUMENT, "kernel without label");
|
||||
return GRUB_ERR_NONE;
|
||||
//return grub_error (GRUB_ERR_BAD_ARGUMENT, "kernel without label");
|
||||
|
||||
menu->entries->append = grub_strdup (line);
|
||||
if (!menu->entries->append)
|
||||
|
@@ -48,10 +48,35 @@ int g_ventoy_suppress_esc = 0;
|
||||
int g_ventoy_suppress_esc_default = 1;
|
||||
int g_ventoy_menu_esc = 0;
|
||||
int g_ventoy_fn_mutex = 0;
|
||||
int g_ventoy_secondary_menu_on = 0;
|
||||
int g_ventoy_terminal_output = 0;
|
||||
char g_ventoy_hotkey_tip[256];
|
||||
|
||||
static int g_vt_key_num = 0;
|
||||
static int g_vt_key_code[128];
|
||||
|
||||
static int ventoy_menu_pop_key(void)
|
||||
{
|
||||
if (g_vt_key_num > 0 && g_vt_key_num < (int)(sizeof(g_vt_key_code) / sizeof(g_vt_key_code[0])))
|
||||
{
|
||||
g_vt_key_num--;
|
||||
return g_vt_key_code[g_vt_key_num];
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
int ventoy_menu_push_key(int code)
|
||||
{
|
||||
if (g_vt_key_num >= 0 && g_vt_key_num < (int)(sizeof(g_vt_key_code) / sizeof(g_vt_key_code[0])))
|
||||
{
|
||||
g_vt_key_code[g_vt_key_num++] = code;
|
||||
return 0;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
#define VTOY_COMM_HOTKEY(cmdkey) \
|
||||
if (0 == g_ventoy_fn_mutex) { \
|
||||
if (0 == g_ventoy_fn_mutex && 0 == g_ventoy_secondary_menu_on) { \
|
||||
cmdstr = grub_env_get(cmdkey); \
|
||||
if (cmdstr) \
|
||||
{ \
|
||||
@@ -795,7 +820,11 @@ run_menu (grub_menu_t menu, int nested, int *auto_boot)
|
||||
return default_entry;
|
||||
}
|
||||
|
||||
if (g_vt_key_num > 0) {
|
||||
c = ventoy_menu_pop_key();
|
||||
} else {
|
||||
c = grub_getkey_noblock ();
|
||||
}
|
||||
|
||||
/* Negative values are returned on error. */
|
||||
if ((c != GRUB_TERM_NO_KEY) && (c > 0))
|
||||
@@ -933,37 +962,7 @@ run_menu (grub_menu_t menu, int nested, int *auto_boot)
|
||||
goto refresh;
|
||||
case GRUB_TERM_KEY_F1:
|
||||
case '1':
|
||||
menu_fini ();
|
||||
g_ventoy_memdisk_mode = 1 - g_ventoy_memdisk_mode;
|
||||
g_ventoy_menu_refresh = 1;
|
||||
goto refresh;
|
||||
|
||||
case (GRUB_TERM_CTRL | 'i'):
|
||||
menu_fini ();
|
||||
g_ventoy_iso_raw = 1 - g_ventoy_iso_raw;
|
||||
g_ventoy_menu_refresh = 1;
|
||||
goto refresh;
|
||||
|
||||
case (GRUB_TERM_CTRL | 'r'):
|
||||
menu_fini ();
|
||||
g_ventoy_grub2_mode = 1 - g_ventoy_grub2_mode;
|
||||
g_ventoy_menu_refresh = 1;
|
||||
goto refresh;
|
||||
|
||||
case (GRUB_TERM_CTRL | 'w'):
|
||||
menu_fini ();
|
||||
g_ventoy_wimboot_mode = 1 - g_ventoy_wimboot_mode;
|
||||
g_ventoy_menu_refresh = 1;
|
||||
goto refresh;
|
||||
|
||||
case (GRUB_TERM_CTRL | 'u'):
|
||||
menu_fini ();
|
||||
g_ventoy_iso_uefi_drv = 1 - g_ventoy_iso_uefi_drv;
|
||||
g_ventoy_menu_refresh = 1;
|
||||
goto refresh;
|
||||
|
||||
case (GRUB_TERM_CTRL | 'h'):
|
||||
case 'h':
|
||||
if (0 == g_ventoy_secondary_menu_on)
|
||||
{
|
||||
cmdstr = grub_env_get("VTOY_HELP_CMD");
|
||||
if (cmdstr)
|
||||
@@ -974,10 +973,72 @@ run_menu (grub_menu_t menu, int nested, int *auto_boot)
|
||||
menu_fini ();
|
||||
goto refresh;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case (GRUB_TERM_CTRL | 'd'):
|
||||
case 'd':
|
||||
if (0 == g_ventoy_secondary_menu_on)
|
||||
{
|
||||
menu_fini ();
|
||||
g_ventoy_memdisk_mode = 1 - g_ventoy_memdisk_mode;
|
||||
g_ventoy_menu_refresh = 1;
|
||||
goto refresh;
|
||||
}
|
||||
break;
|
||||
case (GRUB_TERM_CTRL | 'i'):
|
||||
case 'i':
|
||||
if (0 == g_ventoy_secondary_menu_on)
|
||||
{
|
||||
menu_fini ();
|
||||
g_ventoy_iso_raw = 1 - g_ventoy_iso_raw;
|
||||
g_ventoy_menu_refresh = 1;
|
||||
goto refresh;
|
||||
}
|
||||
break;
|
||||
case (GRUB_TERM_CTRL | 'r'):
|
||||
case 'r':
|
||||
if (0 == g_ventoy_secondary_menu_on)
|
||||
{
|
||||
menu_fini ();
|
||||
g_ventoy_grub2_mode = 1 - g_ventoy_grub2_mode;
|
||||
g_ventoy_menu_refresh = 1;
|
||||
goto refresh;
|
||||
}
|
||||
break;
|
||||
case (GRUB_TERM_CTRL | 'w'):
|
||||
case 'w':
|
||||
if (0 == g_ventoy_secondary_menu_on)
|
||||
{
|
||||
menu_fini ();
|
||||
g_ventoy_wimboot_mode = 1 - g_ventoy_wimboot_mode;
|
||||
g_ventoy_menu_refresh = 1;
|
||||
goto refresh;
|
||||
}
|
||||
break;
|
||||
case (GRUB_TERM_CTRL | 'u'):
|
||||
case 'u':
|
||||
if (0 == g_ventoy_secondary_menu_on)
|
||||
{
|
||||
menu_fini ();
|
||||
g_ventoy_iso_uefi_drv = 1 - g_ventoy_iso_uefi_drv;
|
||||
g_ventoy_menu_refresh = 1;
|
||||
goto refresh;
|
||||
}
|
||||
break;
|
||||
case (GRUB_TERM_CTRL | 'l'):
|
||||
case (GRUB_TERM_CTRL | 'L'):
|
||||
case (GRUB_TERM_SHIFT | 'l'):
|
||||
case (GRUB_TERM_SHIFT | 'L'):
|
||||
case 'l':
|
||||
case 'L':
|
||||
{
|
||||
VTOY_COMM_HOTKEY("VTOY_LANG_CMD");
|
||||
break;
|
||||
}
|
||||
case (GRUB_TERM_CTRL | 'm'):
|
||||
case 'm':
|
||||
{
|
||||
if (0 == g_ventoy_secondary_menu_on)
|
||||
{
|
||||
if (g_ventoy_cur_img_path)
|
||||
{
|
||||
@@ -994,6 +1055,7 @@ run_menu (grub_menu_t menu, int nested, int *auto_boot)
|
||||
{
|
||||
grub_env_set("VTOY_CHKSUM_FILE_PATH", "X");
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
@@ -31,6 +31,8 @@
|
||||
static grub_uint8_t grub_color_menu_normal;
|
||||
static grub_uint8_t grub_color_menu_highlight;
|
||||
|
||||
extern char g_ventoy_hotkey_tip[256];
|
||||
|
||||
struct menu_viewer_data
|
||||
{
|
||||
int first, offset;
|
||||
@@ -204,7 +206,7 @@ command-line or ESC to discard edits and return to the GRUB menu."),
|
||||
ret += grub_print_message_indented_real(szLine, STANDARD_MARGIN, STANDARD_MARGIN, term, dry_run);
|
||||
|
||||
ret += grub_print_message_indented_real("\n", STANDARD_MARGIN, STANDARD_MARGIN, term, dry_run);
|
||||
ret += grub_print_message_indented_real(grub_env_get("VTOY_HOTKEY_TIP"),
|
||||
ret += grub_print_message_indented_real(g_ventoy_hotkey_tip,
|
||||
3, 6, term, dry_run);
|
||||
}
|
||||
}
|
||||
|
@@ -188,6 +188,21 @@ void * ventoy_alloc_chain(grub_size_t size)
|
||||
return p;
|
||||
}
|
||||
|
||||
void ventoy_memfile_env_set(const char *prefix, const void *buf, unsigned long long len)
|
||||
{
|
||||
char name[128];
|
||||
char val[64];
|
||||
|
||||
grub_snprintf(name, sizeof(name), "%s_addr", prefix);
|
||||
grub_snprintf(val, sizeof(val), "0x%llx", (ulonglong)(ulong)buf);
|
||||
grub_env_set(name, val);
|
||||
|
||||
grub_snprintf(name, sizeof(name), "%s_size", prefix);
|
||||
grub_snprintf(val, sizeof(val), "%llu", len);
|
||||
grub_env_set(name, val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
static int ventoy_arch_mode_init(void)
|
||||
{
|
||||
|
@@ -616,13 +616,15 @@ grub_err_t ventoy_cmd_browser_disk(grub_extcmd_context_t ctxt, int argc, char **
|
||||
|
||||
if (g_tree_view_menu_style == 0)
|
||||
{
|
||||
browser_ssprintf(&mbuf, "menuentry \"%-10s [Return]\" --class=\"vtoyret\" VTOY_RET {\n "
|
||||
" echo 'return ...' \n}\n", "<--");
|
||||
browser_ssprintf(&mbuf, "menuentry \"%-10s [%s]\" --class=\"vtoyret\" VTOY_RET {\n "
|
||||
" echo 'return ...' \n}\n", "<--",
|
||||
ventoy_get_vmenu_title("VTMENU_BROWER_RETURN"));
|
||||
}
|
||||
else
|
||||
{
|
||||
browser_ssprintf(&mbuf, "menuentry \"[Return]\" --class=\"vtoyret\" VTOY_RET {\n "
|
||||
" echo 'return ...' \n}\n");
|
||||
browser_ssprintf(&mbuf, "menuentry \"[%s]\" --class=\"vtoyret\" VTOY_RET {\n "
|
||||
" echo 'return ...' \n}\n",
|
||||
ventoy_get_vmenu_title("VTMENU_BROWER_RETURN"));
|
||||
}
|
||||
|
||||
grub_disk_dev_iterate(ventoy_browser_iterate_disk, &mbuf);
|
||||
|
@@ -148,8 +148,6 @@ static char g_iso_vd_id_application[130];
|
||||
static int g_pager_flag = 0;
|
||||
static char g_old_pager[32];
|
||||
|
||||
static const char *g_vtoy_winpeshl_ini = "[LaunchApps]\r\nvtoyjump.exe";
|
||||
|
||||
const char *g_menu_class[img_type_max] =
|
||||
{
|
||||
"vtoyiso", "vtoywim", "vtoyefi", "vtoyimg", "vtoyvhd", "vtoyvtoy"
|
||||
@@ -160,6 +158,8 @@ const char *g_menu_prefix[img_type_max] =
|
||||
"iso", "wim", "efi", "img", "vhd", "vtoy"
|
||||
};
|
||||
|
||||
static int g_vtoy_secondary_need_recover = 0;
|
||||
|
||||
static int g_vtoy_load_prompt = 0;
|
||||
static char g_vtoy_prompt_msg[64];
|
||||
|
||||
@@ -1036,8 +1036,6 @@ static grub_err_t ventoy_cmd_concat_efi_iso(grub_extcmd_context_t ctxt, int argc
|
||||
int totlen = 0;
|
||||
int offset = 0;
|
||||
grub_file_t file;
|
||||
char name[32];
|
||||
char value[32];
|
||||
char *buf = NULL;
|
||||
char *data = NULL;
|
||||
ventoy_iso9660_override *dirent;
|
||||
@@ -1097,13 +1095,7 @@ static grub_err_t ventoy_cmd_concat_efi_iso(grub_extcmd_context_t ctxt, int argc
|
||||
grub_file_read(file, data + sizeof(ventoy_chain_head) + len, file->size);
|
||||
grub_file_close(file);
|
||||
|
||||
grub_snprintf(name, sizeof(name), "%s_addr", args[1]);
|
||||
grub_snprintf(value, sizeof(value), "0x%llx", (ulonglong)(ulong)data);
|
||||
grub_env_set(name, value);
|
||||
|
||||
grub_snprintf(name, sizeof(name), "%s_size", args[1]);
|
||||
grub_snprintf(value, sizeof(value), "%d", (int)(totlen));
|
||||
grub_env_set(name, value);
|
||||
ventoy_memfile_env_set(args[1], data, (ulonglong)totlen);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -1148,6 +1140,10 @@ grub_ssize_t ventoy_load_file_with_prompt(grub_file_t file, void *buf, grub_ssiz
|
||||
left -= VTOY_SIZE_2MB;
|
||||
|
||||
div = grub_divmod64((grub_uint64_t)((size - left) * 100), (grub_uint64_t)size, &ro);
|
||||
if (div < 1)
|
||||
{
|
||||
div = 1;
|
||||
}
|
||||
grub_printf("\r%s %d%% ", g_vtoy_prompt_msg, (int)div);
|
||||
grub_refresh();
|
||||
}
|
||||
@@ -1166,8 +1162,6 @@ grub_ssize_t ventoy_load_file_with_prompt(grub_file_t file, void *buf, grub_ssiz
|
||||
static grub_err_t ventoy_cmd_load_file_to_mem(grub_extcmd_context_t ctxt, int argc, char **args)
|
||||
{
|
||||
int rc = 1;
|
||||
char name[32];
|
||||
char value[32];
|
||||
char *buf = NULL;
|
||||
grub_file_t file;
|
||||
enum grub_file_type type;
|
||||
@@ -1218,13 +1212,7 @@ static grub_err_t ventoy_cmd_load_file_to_mem(grub_extcmd_context_t ctxt, int ar
|
||||
grub_file_read(file, buf, file->size);
|
||||
}
|
||||
|
||||
grub_snprintf(name, sizeof(name), "%s_addr", args[2]);
|
||||
grub_snprintf(value, sizeof(value), "0x%llx", (unsigned long long)(unsigned long)buf);
|
||||
grub_env_set(name, value);
|
||||
|
||||
grub_snprintf(name, sizeof(name), "%s_size", args[2]);
|
||||
grub_snprintf(value, sizeof(value), "%llu", (unsigned long long)file->size);
|
||||
grub_env_set(name, value);
|
||||
ventoy_memfile_env_set(args[2], buf, (ulonglong)(file->size));
|
||||
|
||||
grub_file_close(file);
|
||||
rc = 0;
|
||||
@@ -1236,8 +1224,6 @@ static grub_err_t ventoy_cmd_load_img_memdisk(grub_extcmd_context_t ctxt, int ar
|
||||
{
|
||||
int rc = 1;
|
||||
int headlen;
|
||||
char name[32];
|
||||
char value[32];
|
||||
char *buf = NULL;
|
||||
grub_file_t file;
|
||||
|
||||
@@ -1269,13 +1255,7 @@ static grub_err_t ventoy_cmd_load_img_memdisk(grub_extcmd_context_t ctxt, int ar
|
||||
|
||||
grub_file_read(file, buf + headlen, file->size);
|
||||
|
||||
grub_snprintf(name, sizeof(name), "%s_addr", args[1]);
|
||||
grub_snprintf(value, sizeof(value), "0x%llx", (unsigned long long)(unsigned long)buf);
|
||||
grub_env_set(name, value);
|
||||
|
||||
grub_snprintf(name, sizeof(name), "%s_size", args[1]);
|
||||
grub_snprintf(value, sizeof(value), "%llu", (unsigned long long)file->size);
|
||||
grub_env_set(name, value);
|
||||
ventoy_memfile_env_set(args[1], buf, (ulonglong)(file->size));
|
||||
|
||||
grub_file_close(file);
|
||||
rc = 0;
|
||||
@@ -2099,6 +2079,13 @@ static int ventoy_collect_img_files(const char *filename, const struct grub_dirh
|
||||
img->menu_prefix = "miso";
|
||||
}
|
||||
}
|
||||
else if (img_type_img == type)
|
||||
{
|
||||
if (ventoy_plugin_check_memdisk(img->path))
|
||||
{
|
||||
img->menu_prefix = "mimg";
|
||||
}
|
||||
}
|
||||
|
||||
debug("Add %s%s to list %d\n", node->dir, filename, g_ventoy_img_count);
|
||||
}
|
||||
@@ -2179,6 +2166,74 @@ int ventoy_fill_data(grub_uint32_t buflen, char *buffer)
|
||||
return len;
|
||||
}
|
||||
|
||||
static int
|
||||
ventoy_password_get (char buf[], unsigned buf_size)
|
||||
{
|
||||
unsigned i, cur_len = 0;
|
||||
int key;
|
||||
struct grub_term_coordinate *pos = grub_term_save_pos ();
|
||||
|
||||
while (1)
|
||||
{
|
||||
key = grub_getkey ();
|
||||
if (key == '\n' || key == '\r')
|
||||
break;
|
||||
|
||||
if (key == GRUB_TERM_ESC)
|
||||
{
|
||||
cur_len = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
if (key == '\b')
|
||||
{
|
||||
if (cur_len)
|
||||
{
|
||||
grub_term_restore_pos (pos);
|
||||
for (i = 0; i < cur_len; i++)
|
||||
grub_xputs (" ");
|
||||
grub_term_restore_pos (pos);
|
||||
cur_len--;
|
||||
for (i = 0; i < cur_len; i++)
|
||||
grub_xputs ("*");
|
||||
grub_refresh ();
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!grub_isprint (key))
|
||||
continue;
|
||||
|
||||
if (cur_len + 2 < buf_size)
|
||||
buf[cur_len++] = key;
|
||||
grub_xputs ("*");
|
||||
grub_refresh ();
|
||||
}
|
||||
|
||||
grub_memset (buf + cur_len, 0, buf_size - cur_len);
|
||||
|
||||
grub_xputs ("\n");
|
||||
grub_refresh ();
|
||||
grub_free (pos);
|
||||
|
||||
return (key != GRUB_TERM_ESC);
|
||||
}
|
||||
|
||||
static int ventoy_get_password(char buf[], unsigned buf_size)
|
||||
{
|
||||
const char *env = NULL;
|
||||
|
||||
env = grub_env_get("VTOY_SHOW_PASSWORD_ASTERISK");
|
||||
if (env && env[0] == '0' && env[1] == 0)
|
||||
{
|
||||
return grub_password_get(buf, buf_size);
|
||||
}
|
||||
else
|
||||
{
|
||||
return ventoy_password_get(buf, buf_size);
|
||||
}
|
||||
}
|
||||
|
||||
int ventoy_check_password(const vtoy_password *pwd, int retry)
|
||||
{
|
||||
int offset;
|
||||
@@ -2194,7 +2249,7 @@ int ventoy_check_password(const vtoy_password *pwd, int retry)
|
||||
|
||||
if (pwd->type == VTOY_PASSWORD_TXT)
|
||||
{
|
||||
grub_password_get(input, 128);
|
||||
ventoy_get_password(input, 128);
|
||||
if (grub_strcmp(pwd->text, input) == 0)
|
||||
{
|
||||
return 0;
|
||||
@@ -2202,7 +2257,7 @@ int ventoy_check_password(const vtoy_password *pwd, int retry)
|
||||
}
|
||||
else if (pwd->type == VTOY_PASSWORD_MD5)
|
||||
{
|
||||
grub_password_get(input, 128);
|
||||
ventoy_get_password(input, 128);
|
||||
grub_crypto_hash(GRUB_MD_MD5, md5, input, grub_strlen(input));
|
||||
if (grub_memcmp(pwd->md5, md5, 16) == 0)
|
||||
{
|
||||
@@ -2212,7 +2267,7 @@ int ventoy_check_password(const vtoy_password *pwd, int retry)
|
||||
else if (pwd->type == VTOY_PASSWORD_SALT_MD5)
|
||||
{
|
||||
offset = (int)grub_snprintf(input, 128, "%s", pwd->salt);
|
||||
grub_password_get(input + offset, 128);
|
||||
ventoy_get_password(input + offset, 128);
|
||||
|
||||
grub_crypto_hash(GRUB_MD_MD5, md5, input, grub_strlen(input));
|
||||
if (grub_memcmp(pwd->md5, md5, 16) == 0)
|
||||
@@ -2298,16 +2353,16 @@ static int ventoy_dynamic_tree_menu(img_iterator_node *node)
|
||||
if (g_tree_view_menu_style == 0)
|
||||
{
|
||||
vtoy_ssprintf(g_tree_script_buf, g_tree_script_pos,
|
||||
"menuentry \"%-10s [Return to ListView]\" --class=\"vtoyret\" VTOY_RET {\n "
|
||||
"menuentry \"%-10s [%s]\" --class=\"vtoyret\" VTOY_RET {\n "
|
||||
" echo 'return ...' \n"
|
||||
"}\n", "<--");
|
||||
"}\n", "<--", ventoy_get_vmenu_title("VTMENU_RET_TO_LISTVIEW"));
|
||||
}
|
||||
else
|
||||
{
|
||||
vtoy_ssprintf(g_tree_script_buf, g_tree_script_pos,
|
||||
"menuentry \"[Return to ListView]\" --class=\"vtoyret\" VTOY_RET {\n "
|
||||
"menuentry \"[%s]\" --class=\"vtoyret\" VTOY_RET {\n "
|
||||
" echo 'return ...' \n"
|
||||
"}\n");
|
||||
"}\n", ventoy_get_vmenu_title("VTMENU_RET_TO_LISTVIEW"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2886,9 +2941,9 @@ static grub_err_t ventoy_cmd_list_img(grub_extcmd_context_t ctxt, int argc, char
|
||||
if (g_default_menu_mode == 1)
|
||||
{
|
||||
vtoy_ssprintf(g_list_script_buf, g_list_script_pos,
|
||||
"menuentry \"%s [Return to TreeView]\" --class=\"vtoyret\" VTOY_RET {\n "
|
||||
"menuentry \"%s [%s]\" --class=\"vtoyret\" VTOY_RET {\n "
|
||||
" echo 'return ...' \n"
|
||||
"}\n", "<--");
|
||||
"}\n", "<--", ventoy_get_vmenu_title("VTMENU_RET_TO_TREEVIEW"));
|
||||
}
|
||||
|
||||
for (cur = g_ventoy_img_list; cur; cur = cur->next)
|
||||
@@ -3657,13 +3712,14 @@ static grub_err_t ventoy_cmd_sel_auto_install(grub_extcmd_context_t ctxt, int ar
|
||||
vtoy_ssprintf(buf, pos, "set timeout=%d\n", node->timeout);
|
||||
}
|
||||
|
||||
vtoy_ssprintf(buf, pos, "menuentry \"Boot without auto installation template\" {\n"
|
||||
vtoy_ssprintf(buf, pos, "menuentry \"@VTMENU_NO_AUTOINS_SCRIPT\" --class=\"sel_auto_install\" {\n"
|
||||
" echo %s\n}\n", "");
|
||||
|
||||
for (i = 0; i < node->templatenum; i++)
|
||||
{
|
||||
vtoy_ssprintf(buf, pos, "menuentry \"Boot with %s\"{\n"
|
||||
vtoy_ssprintf(buf, pos, "menuentry \"%s %s\" --class=\"sel_auto_install\" {\n"
|
||||
" echo \"\"\n}\n",
|
||||
ventoy_get_vmenu_title("VTMENU_AUTOINS_USE"),
|
||||
node->templatepath[i].path);
|
||||
}
|
||||
|
||||
@@ -3763,13 +3819,14 @@ 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 \"Boot without persistence\" {\n"
|
||||
vtoy_ssprintf(buf, pos, "menuentry \"@VTMENU_NO_PERSISTENCE\" --class=\"sel_persistence\" {\n"
|
||||
" echo %s\n}\n", "");
|
||||
|
||||
for (i = 0; i < node->backendnum; i++)
|
||||
{
|
||||
vtoy_ssprintf(buf, pos, "menuentry \"Boot with %s\" {\n"
|
||||
vtoy_ssprintf(buf, pos, "menuentry \"%s %s\" --class=\"sel_persistence\" {\n"
|
||||
" echo \"\"\n}\n",
|
||||
ventoy_get_vmenu_title("VTMENU_PERSIST_USE"),
|
||||
node->backendpath[i].path);
|
||||
|
||||
}
|
||||
@@ -5956,6 +6013,195 @@ static grub_err_t ventoy_cmd_dump_rsv_page(grub_extcmd_context_t ctxt, int argc,
|
||||
VENTOY_CMD_RETURN(GRUB_ERR_NONE);
|
||||
}
|
||||
|
||||
static grub_err_t ventoy_cmd_need_secondary_menu(grub_extcmd_context_t ctxt, int argc, char **args)
|
||||
{
|
||||
const char *env = NULL;
|
||||
|
||||
(void)ctxt;
|
||||
(void)argc;
|
||||
|
||||
if (g_ventoy_memdisk_mode || g_ventoy_grub2_mode || g_ventoy_wimboot_mode || g_ventoy_iso_raw)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (ventoy_check_mode_by_name(args[0], "vtgrub2") ||
|
||||
ventoy_check_mode_by_name(args[0], "vtwimboot") ||
|
||||
ventoy_check_mode_by_name(args[0], "vtmemdisk") ||
|
||||
ventoy_check_mode_by_name(args[0], "vtnormal")
|
||||
)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
env = grub_env_get("VTOY_SECONDARY_BOOT_MENU");
|
||||
if (env && env[0] == '0' && env[1] == 0)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static grub_err_t ventoy_cmd_show_secondary_menu(grub_extcmd_context_t ctxt, int argc, char **args)
|
||||
{
|
||||
int n = 0;
|
||||
int pos = 0;
|
||||
int len = 0;
|
||||
int select = 0;
|
||||
int timeout = 0;
|
||||
char *cmd = NULL;
|
||||
const char *env = NULL;
|
||||
ulonglong fsize = 0;
|
||||
char cfgfile[128];
|
||||
int seldata[16] = {0};
|
||||
|
||||
(void)ctxt;
|
||||
(void)argc;
|
||||
|
||||
len = 8 * VTOY_SIZE_1KB;
|
||||
cmd = (char *)grub_malloc(len);
|
||||
if (!cmd)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
g_vtoy_secondary_need_recover = 0;
|
||||
grub_env_unset("VTOY_CHKSUM_FILE_PATH");
|
||||
|
||||
env = grub_env_get("VTOY_SECONDARY_TIMEOUT");
|
||||
if (env)
|
||||
{
|
||||
timeout = (int)grub_strtol(env, NULL, 10);
|
||||
}
|
||||
|
||||
if (timeout > 0)
|
||||
{
|
||||
vtoy_len_ssprintf(cmd, pos, len, "set timeout=%d\n", timeout);
|
||||
}
|
||||
|
||||
fsize = grub_strtoull(args[2], NULL, 10);
|
||||
|
||||
vtoy_dummy_menuentry(cmd, pos, len, "@VTMENU_NORMAL_MODE", "second_normal"); seldata[n++] = 1;
|
||||
|
||||
if (grub_strcmp(args[1], "Unix") != 0)
|
||||
{
|
||||
if (grub_strcmp(args[1], "Windows") == 0)
|
||||
{
|
||||
vtoy_dummy_menuentry(cmd, pos, len, "@VTMENU_WIMBOOT_MODE", "second_wimboot"); seldata[n++] = 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
vtoy_dummy_menuentry(cmd, pos, len, "@VTMENU_GRUB2_MODE", "second_grub2"); seldata[n++] = 3;
|
||||
}
|
||||
|
||||
if (fsize <= VTOY_SIZE_1GB)
|
||||
{
|
||||
vtoy_dummy_menuentry(cmd, pos, len, "@VTMENU_MEMDISK_MODE", "second_memdisk"); seldata[n++] = 4;
|
||||
}
|
||||
}
|
||||
|
||||
vtoy_dummy_menuentry(cmd, pos, len, "@VTMENU_FILE_CHKSUM", "second_checksum"); seldata[n++] = 5;
|
||||
|
||||
do {
|
||||
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);
|
||||
g_ventoy_menu_esc = 0;
|
||||
g_ventoy_suppress_esc = 0;
|
||||
g_ventoy_suppress_esc_default = 1;
|
||||
g_ventoy_secondary_menu_on = 0;
|
||||
|
||||
select = seldata[g_ventoy_last_entry];
|
||||
|
||||
if (select == 2)
|
||||
{
|
||||
g_ventoy_wimboot_mode = 1;
|
||||
g_vtoy_secondary_need_recover = 1;
|
||||
}
|
||||
else if (select == 3)
|
||||
{
|
||||
g_ventoy_grub2_mode = 1;
|
||||
g_vtoy_secondary_need_recover = 2;
|
||||
}
|
||||
else if (select == 4)
|
||||
{
|
||||
g_ventoy_memdisk_mode = 1;
|
||||
g_vtoy_secondary_need_recover = 3;
|
||||
}
|
||||
else if (select == 5)
|
||||
{
|
||||
grub_env_set("VTOY_CHKSUM_FILE_PATH", args[0]);
|
||||
grub_script_execute_sourcecode("configfile $vtoy_efi_part/grub/checksum.cfg");
|
||||
}
|
||||
}while (select == 5);
|
||||
|
||||
grub_free(cmd);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static grub_err_t ventoy_cmd_secondary_recover_mode(grub_extcmd_context_t ctxt, int argc, char **args)
|
||||
{
|
||||
(void)ctxt;
|
||||
(void)argc;
|
||||
(void)args;
|
||||
|
||||
if (g_vtoy_secondary_need_recover == 1)
|
||||
{
|
||||
g_ventoy_wimboot_mode = 0;
|
||||
}
|
||||
else if (g_vtoy_secondary_need_recover == 2)
|
||||
{
|
||||
g_ventoy_grub2_mode = 0;
|
||||
}
|
||||
else if (g_vtoy_secondary_need_recover == 3)
|
||||
{
|
||||
g_ventoy_memdisk_mode = 0;
|
||||
}
|
||||
|
||||
g_vtoy_secondary_need_recover = 0;
|
||||
|
||||
VENTOY_CMD_RETURN(GRUB_ERR_NONE);
|
||||
}
|
||||
|
||||
static grub_err_t ventoy_cmd_fs_ignore_case(grub_extcmd_context_t ctxt, int argc, char **args)
|
||||
{
|
||||
(void)ctxt;
|
||||
(void)argc;
|
||||
|
||||
if (args[0][0] == '0')
|
||||
{
|
||||
g_ventoy_case_insensitive = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
g_ventoy_case_insensitive = 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static grub_err_t ventoy_cmd_init_menu_lang(grub_extcmd_context_t ctxt, int argc, char **args)
|
||||
{
|
||||
(void)ctxt;
|
||||
(void)argc;
|
||||
|
||||
ventoy_plugin_load_menu_lang(1, args[0]);
|
||||
VENTOY_CMD_RETURN(0);
|
||||
}
|
||||
|
||||
static grub_err_t ventoy_cmd_load_menu_lang(grub_extcmd_context_t ctxt, int argc, char **args)
|
||||
{
|
||||
(void)ctxt;
|
||||
(void)argc;
|
||||
|
||||
ventoy_plugin_load_menu_lang(0, args[0]);
|
||||
VENTOY_CMD_RETURN(0);
|
||||
}
|
||||
|
||||
int ventoy_env_init(void)
|
||||
{
|
||||
int i;
|
||||
@@ -5987,12 +6233,6 @@ int ventoy_env_init(void)
|
||||
grub_env_export("ventoy_env_param");
|
||||
}
|
||||
|
||||
grub_snprintf(buf, sizeof(buf), "0x%lx", (ulong)g_vtoy_winpeshl_ini);
|
||||
grub_env_set("vtoy_winpeshl_ini_addr", buf);
|
||||
|
||||
grub_snprintf(buf, sizeof(buf), "%d", (int)grub_strlen(g_vtoy_winpeshl_ini));
|
||||
grub_env_set("vtoy_winpeshl_ini_size", buf);
|
||||
|
||||
grub_env_export("vtoy_winpeshl_ini_addr");
|
||||
grub_env_export("vtoy_winpeshl_ini_size");
|
||||
|
||||
@@ -6004,6 +6244,10 @@ int ventoy_env_init(void)
|
||||
grub_env_set("vtoy_chain_file_read", buf);
|
||||
grub_env_export("vtoy_chain_file_read");
|
||||
|
||||
grub_snprintf(buf, sizeof(buf), "0x%lx", (ulong)ventoy_get_vmenu_title);
|
||||
grub_env_set("VTOY_VMENU_FUNC_ADDR", buf);
|
||||
grub_env_export("VTOY_VMENU_FUNC_ADDR");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -6162,6 +6406,17 @@ static cmd_para ventoy_cmds[] =
|
||||
{ "vt_iso_vd_id_begin", ventoy_cmd_iso_vd_id_begin, 0, NULL, "", "", NULL },
|
||||
{ "vt_fn_mutex_lock", ventoy_cmd_fn_mutex_lock, 0, NULL, "", "", NULL },
|
||||
{ "vt_efi_dump_rsv_page", ventoy_cmd_dump_rsv_page, 0, NULL, "", "", NULL },
|
||||
{ "vt_is_standard_winiso", ventoy_cmd_is_standard_winiso, 0, NULL, "", "", NULL },
|
||||
{ "vt_sel_winpe_wim", ventoy_cmd_sel_winpe_wim, 0, NULL, "", "", NULL },
|
||||
{ "vt_need_secondary_menu", ventoy_cmd_need_secondary_menu, 0, NULL, "", "", NULL },
|
||||
{ "vt_show_secondary_menu", ventoy_cmd_show_secondary_menu, 0, NULL, "", "", NULL },
|
||||
{ "vt_fs_ignore_case", ventoy_cmd_fs_ignore_case, 0, NULL, "", "", NULL },
|
||||
{ "vt_systemd_menu", ventoy_cmd_linux_systemd_menu, 0, NULL, "", "", NULL },
|
||||
{ "vt_limine_menu", ventoy_cmd_linux_limine_menu, 0, NULL, "", "", NULL },
|
||||
{ "vt_secondary_recover_mode", ventoy_cmd_secondary_recover_mode, 0, NULL, "", "", NULL },
|
||||
{ "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 },
|
||||
};
|
||||
|
||||
int ventoy_register_all_cmd(void)
|
||||
|
@@ -29,6 +29,8 @@
|
||||
|
||||
#define VTOY_FILT_MIN_FILE_SIZE 32768
|
||||
|
||||
#define VTOY_LINUX_SYSTEMD_MENU_MAX_BUF 16384
|
||||
|
||||
#define VTOY_SIZE_1GB 1073741824
|
||||
#define VTOY_SIZE_1MB (1024 * 1024)
|
||||
#define VTOY_SIZE_2MB (2 * 1024 * 1024)
|
||||
@@ -97,6 +99,19 @@
|
||||
}\
|
||||
}
|
||||
|
||||
#define VTOY_SKIP_SPACE(s) \
|
||||
while (ventoy_isspace(*s)) \
|
||||
{\
|
||||
s++;\
|
||||
}
|
||||
|
||||
#define VTOY_SKIP_SPACE_NEXT(s, initial) \
|
||||
s += initial;\
|
||||
while (ventoy_isspace(*s)) \
|
||||
{\
|
||||
s++;\
|
||||
}
|
||||
|
||||
typedef enum VTOY_FILE_FLT
|
||||
{
|
||||
VTOY_FILE_FLT_ISO = 0, /* .iso */
|
||||
@@ -329,9 +344,16 @@ void ventoy_debug(const char *fmt, ...);
|
||||
#define vtoy_ssprintf(buf, pos, fmt, args...) \
|
||||
pos += grub_snprintf(buf + pos, VTOY_MAX_SCRIPT_BUF - pos, fmt, ##args)
|
||||
|
||||
#define vtoy_len_ssprintf(buf, pos, len, fmt, args...) \
|
||||
pos += grub_snprintf(buf + pos, len - pos, fmt, ##args)
|
||||
|
||||
#define browser_ssprintf(mbuf, fmt, args...) \
|
||||
(mbuf)->pos += grub_snprintf((mbuf)->buf + (mbuf)->pos, (mbuf)->max - (mbuf)->pos, fmt, ##args)
|
||||
|
||||
#define vtoy_dummy_menuentry(buf, pos, len, title, class) \
|
||||
vtoy_len_ssprintf(buf, pos, len, "menuentry \"%s\" --class=\"%s\" {\n echo \"\"\n}\n", title, class)
|
||||
|
||||
|
||||
#define FLAG_HEADER_RESERVED 0x00000001
|
||||
#define FLAG_HEADER_COMPRESSION 0x00000002
|
||||
#define FLAG_HEADER_READONLY 0x00000004
|
||||
@@ -613,6 +635,8 @@ grub_err_t ventoy_cmd_clear_initrd_list(grub_extcmd_context_t ctxt, int argc, ch
|
||||
grub_uint32_t ventoy_get_iso_boot_catlog(grub_file_t file);
|
||||
int ventoy_has_efi_eltorito(grub_file_t file, grub_uint32_t sector);
|
||||
grub_err_t ventoy_cmd_linux_chain_data(grub_extcmd_context_t ctxt, int argc, char **args);
|
||||
grub_err_t ventoy_cmd_linux_systemd_menu(grub_extcmd_context_t ctxt, int argc, char **args);
|
||||
grub_err_t ventoy_cmd_linux_limine_menu(grub_extcmd_context_t ctxt, int argc, char **args);
|
||||
grub_err_t ventoy_cmd_linux_locate_initrd(grub_extcmd_context_t ctxt, int argc, char **args);
|
||||
grub_err_t ventoy_cmd_initrd_count(grub_extcmd_context_t ctxt, int argc, char **args);
|
||||
grub_err_t ventoy_cmd_valid_initrd_count(grub_extcmd_context_t ctxt, int argc, char **args);
|
||||
@@ -633,6 +657,7 @@ grub_err_t ventoy_cmd_windows_chain_data(grub_extcmd_context_t ctxt, int argc, c
|
||||
grub_err_t ventoy_cmd_windows_wimboot_data(grub_extcmd_context_t ctxt, int argc, char **args);
|
||||
grub_err_t ventoy_cmd_wim_chain_data(grub_extcmd_context_t ctxt, int argc, char **args);
|
||||
grub_err_t ventoy_cmd_wim_check_bootable(grub_extcmd_context_t ctxt, int argc, char **args);
|
||||
grub_err_t ventoy_cmd_is_standard_winiso(grub_extcmd_context_t ctxt, int argc, char **args);
|
||||
grub_err_t ventoy_cmd_dump_wim_patch(grub_extcmd_context_t ctxt, int argc, char **args);
|
||||
grub_err_t ventoy_cmd_sel_wimboot(grub_extcmd_context_t ctxt, int argc, char **args);
|
||||
grub_err_t ventoy_cmd_set_wim_prompt(grub_extcmd_context_t ctxt, int argc, char **args);
|
||||
@@ -1028,6 +1053,7 @@ typedef struct menu_password
|
||||
}menu_password;
|
||||
|
||||
extern int g_ventoy_menu_esc;
|
||||
extern int g_ventoy_secondary_menu_on;
|
||||
extern int g_ventoy_suppress_esc;
|
||||
extern int g_ventoy_suppress_esc_default;
|
||||
extern int g_ventoy_last_entry;
|
||||
@@ -1040,6 +1066,9 @@ extern int g_ventoy_case_insensitive;
|
||||
extern int g_ventoy_fn_mutex;
|
||||
extern grub_uint8_t g_ventoy_chain_type;
|
||||
extern int g_vhdboot_enable;
|
||||
extern int g_default_menu_mode;
|
||||
extern char g_ventoy_hotkey_tip[256];
|
||||
extern int g_ventoy_menu_refresh;
|
||||
|
||||
#define VENTOY_IMG_WHITE_LIST 1
|
||||
#define VENTOY_IMG_BLACK_LIST 2
|
||||
@@ -1111,6 +1140,7 @@ grub_err_t ventoy_cmd_linux_get_main_initrd_index(grub_extcmd_context_t ctxt, in
|
||||
grub_err_t ventoy_cmd_collect_wim_patch(grub_extcmd_context_t ctxt, int argc, char **args);
|
||||
grub_err_t ventoy_cmd_wim_patch_count(grub_extcmd_context_t ctxt, int argc, char **args);
|
||||
grub_err_t ventoy_cmd_locate_wim_patch(grub_extcmd_context_t ctxt, int argc, char **args);
|
||||
grub_err_t ventoy_cmd_sel_winpe_wim(grub_extcmd_context_t ctxt, int argc, char **args);
|
||||
grub_err_t ventoy_cmd_unix_chain_data(grub_extcmd_context_t ctxt, int argc, char **args);
|
||||
int ventoy_get_disk_guid(const char *filename, grub_uint8_t *guid, grub_uint8_t *signature);
|
||||
grub_err_t ventoy_cmd_unix_reset(grub_extcmd_context_t ctxt, int argc, char **args);
|
||||
@@ -1218,6 +1248,16 @@ typedef struct var_node
|
||||
struct var_node *next;
|
||||
}var_node;
|
||||
|
||||
typedef struct systemd_menu_ctx
|
||||
{
|
||||
char *dev;
|
||||
char *buf;
|
||||
int pos;
|
||||
int len;
|
||||
}systemd_menu_ctx;
|
||||
|
||||
#define vtoy_check_goto_out(p) if (!p) goto out
|
||||
|
||||
extern char *g_tree_script_buf;
|
||||
extern int g_tree_script_pos;
|
||||
extern int g_tree_script_pre;
|
||||
@@ -1234,6 +1274,10 @@ grub_err_t ventoy_cmd_browser_disk(grub_extcmd_context_t ctxt, int argc, char **
|
||||
int ventoy_get_fs_type(const char *fs);
|
||||
int ventoy_img_name_valid(const char *filename, grub_size_t namelen);
|
||||
void * ventoy_alloc_chain(grub_size_t size);
|
||||
int ventoy_plugin_load_menu_lang(int init, const char *lang);
|
||||
const char *ventoy_get_vmenu_title(const char *vMenu);
|
||||
grub_err_t ventoy_cmd_cur_menu_lang(grub_extcmd_context_t ctxt, int argc, char **args);
|
||||
extern int ventoy_menu_push_key(int code);
|
||||
|
||||
#endif /* __VENTOY_DEF_H__ */
|
||||
|
||||
|
@@ -177,10 +177,7 @@ static grub_err_t ventoy_isolinux_initrd_collect(grub_file_t file, const char *p
|
||||
{
|
||||
nextline = ventoy_get_line(start);
|
||||
|
||||
while (ventoy_isspace(*start))
|
||||
{
|
||||
start++;
|
||||
}
|
||||
VTOY_SKIP_SPACE(start);
|
||||
|
||||
offset = 7; // strlen("initrd=") or "INITRD " or "initrd "
|
||||
pos = grub_strstr(start, "initrd=");
|
||||
@@ -333,12 +330,84 @@ end:
|
||||
VENTOY_CMD_RETURN(GRUB_ERR_NONE);
|
||||
}
|
||||
|
||||
static int ventoy_linux_initrd_collect_hook(const char *filename, const struct grub_dirhook_info *info, void *data)
|
||||
{
|
||||
int len;
|
||||
initrd_info *img = NULL;
|
||||
|
||||
(void)data;
|
||||
|
||||
if (0 == info->dir)
|
||||
{
|
||||
if (grub_strncmp(filename, "initrd", 6) == 0)
|
||||
{
|
||||
len = (int)grub_strlen(filename);
|
||||
if (grub_strcmp(filename + len - 4, ".img") == 0)
|
||||
{
|
||||
img = grub_zalloc(sizeof(initrd_info));
|
||||
if (img)
|
||||
{
|
||||
grub_snprintf(img->name, sizeof(img->name), "/boot/%s", filename);
|
||||
|
||||
if (ventoy_find_initrd_by_name(g_initrd_img_list, img->name))
|
||||
{
|
||||
grub_free(img);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (g_initrd_img_list)
|
||||
{
|
||||
img->prev = g_initrd_img_tail;
|
||||
g_initrd_img_tail->next = img;
|
||||
}
|
||||
else
|
||||
{
|
||||
g_initrd_img_list = img;
|
||||
}
|
||||
|
||||
g_initrd_img_tail = img;
|
||||
g_initrd_img_count++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int ventoy_linux_collect_boot_initrds(void)
|
||||
{
|
||||
grub_fs_t fs;
|
||||
grub_device_t dev = NULL;
|
||||
|
||||
dev = grub_device_open("loop");
|
||||
if (!dev)
|
||||
{
|
||||
debug("failed to open device loop\n");
|
||||
goto end;
|
||||
}
|
||||
|
||||
fs = grub_fs_probe(dev);
|
||||
if (!fs)
|
||||
{
|
||||
debug("failed to probe fs %d\n", grub_errno);
|
||||
goto end;
|
||||
}
|
||||
|
||||
fs->fs_dir(dev, "/boot", ventoy_linux_initrd_collect_hook, NULL);
|
||||
|
||||
end:
|
||||
return 0;
|
||||
}
|
||||
|
||||
static grub_err_t ventoy_grub_cfg_initrd_collect(const char *fileName)
|
||||
{
|
||||
int i = 0;
|
||||
int len = 0;
|
||||
int dollar = 0;
|
||||
int quotation = 0;
|
||||
int initrd_dollar = 0;
|
||||
grub_file_t file = NULL;
|
||||
char *buf = NULL;
|
||||
char *start = NULL;
|
||||
@@ -366,10 +435,7 @@ static grub_err_t ventoy_grub_cfg_initrd_collect(const char *fileName)
|
||||
{
|
||||
nextline = ventoy_get_line(start);
|
||||
|
||||
while (ventoy_isspace(*start))
|
||||
{
|
||||
start++;
|
||||
}
|
||||
VTOY_SKIP_SPACE(start);
|
||||
|
||||
if (grub_strncmp(start, "initrd", 6) != 0)
|
||||
{
|
||||
@@ -382,10 +448,7 @@ static grub_err_t ventoy_grub_cfg_initrd_collect(const char *fileName)
|
||||
start++;
|
||||
}
|
||||
|
||||
while (ventoy_isspace(*start))
|
||||
{
|
||||
start++;
|
||||
}
|
||||
VTOY_SKIP_SPACE(start);
|
||||
|
||||
if (*start == '"')
|
||||
{
|
||||
@@ -421,6 +484,19 @@ static grub_err_t ventoy_grub_cfg_initrd_collect(const char *fileName)
|
||||
debug("Remove quotation <%s>\n", img->name);
|
||||
}
|
||||
|
||||
/* special process for /boot/initrd$XXX.img */
|
||||
if (dollar == 1)
|
||||
{
|
||||
if (grub_strncmp(img->name, "/boot/initrd$", 13) == 0)
|
||||
{
|
||||
len = (int)grub_strlen(img->name);
|
||||
if (grub_strcmp(img->name + len - 4, ".img") == 0)
|
||||
{
|
||||
initrd_dollar++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (dollar == 1 || ventoy_find_initrd_by_name(g_initrd_img_list, img->name))
|
||||
{
|
||||
grub_free(img);
|
||||
@@ -443,10 +519,7 @@ static grub_err_t ventoy_grub_cfg_initrd_collect(const char *fileName)
|
||||
|
||||
if (*start == ' ' || *start == '\t')
|
||||
{
|
||||
while (ventoy_isspace(*start))
|
||||
{
|
||||
start++;
|
||||
}
|
||||
VTOY_SKIP_SPACE(start);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -458,6 +531,12 @@ static grub_err_t ventoy_grub_cfg_initrd_collect(const char *fileName)
|
||||
grub_free(buf);
|
||||
grub_file_close(file);
|
||||
|
||||
if (initrd_dollar > 0 && grub_strncmp(fileName, "(loop)/", 7) == 0)
|
||||
{
|
||||
debug("collect initrd variable %d\n", initrd_dollar);
|
||||
ventoy_linux_collect_boot_initrds();
|
||||
}
|
||||
|
||||
VENTOY_CMD_RETURN(GRUB_ERR_NONE);
|
||||
}
|
||||
|
||||
@@ -1481,7 +1560,6 @@ grub_err_t ventoy_cmd_trailer_cpio(grub_extcmd_context_t ctxt, int argc, char **
|
||||
grub_uint8_t *bufend;
|
||||
cpio_newc_header *head;
|
||||
grub_file_t file;
|
||||
char value[64];
|
||||
const grub_uint8_t trailler[124] = {
|
||||
0x30, 0x37, 0x30, 0x37, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
|
||||
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
|
||||
@@ -1553,10 +1631,7 @@ grub_err_t ventoy_cmd_trailer_cpio(grub_extcmd_context_t ctxt, int argc, char **
|
||||
}
|
||||
}
|
||||
|
||||
grub_snprintf(value, sizeof(value), "0x%llx", (ulonglong)(ulong)g_ventoy_cpio_buf);
|
||||
ventoy_set_env("ventoy_cpio_addr", value);
|
||||
grub_snprintf(value, sizeof(value), "%d", bufsize);
|
||||
ventoy_set_env("ventoy_cpio_size", value);
|
||||
ventoy_memfile_env_set("ventoy_cpio", g_ventoy_cpio_buf, (ulonglong)bufsize);
|
||||
|
||||
VENTOY_CMD_RETURN(GRUB_ERR_NONE);
|
||||
}
|
||||
@@ -1578,7 +1653,6 @@ grub_err_t ventoy_cmd_linux_chain_data(grub_extcmd_context_t ctxt, int argc, cha
|
||||
const char *pLastChain = NULL;
|
||||
const char *compatible;
|
||||
ventoy_chain_head *chain;
|
||||
char envbuf[64];
|
||||
|
||||
(void)ctxt;
|
||||
(void)argc;
|
||||
@@ -1666,10 +1740,7 @@ grub_err_t ventoy_cmd_linux_chain_data(grub_extcmd_context_t ctxt, int argc, cha
|
||||
return 1;
|
||||
}
|
||||
|
||||
grub_snprintf(envbuf, sizeof(envbuf), "0x%lx", (unsigned long)chain);
|
||||
grub_env_set("vtoy_chain_mem_addr", envbuf);
|
||||
grub_snprintf(envbuf, sizeof(envbuf), "%u", size);
|
||||
grub_env_set("vtoy_chain_mem_size", envbuf);
|
||||
ventoy_memfile_env_set("vtoy_chain_mem", chain, (ulonglong)size);
|
||||
|
||||
grub_memset(chain, 0, sizeof(ventoy_chain_head));
|
||||
|
||||
@@ -1720,3 +1791,300 @@ grub_err_t ventoy_cmd_linux_chain_data(grub_extcmd_context_t ctxt, int argc, cha
|
||||
VENTOY_CMD_RETURN(GRUB_ERR_NONE);
|
||||
}
|
||||
|
||||
static char *ventoy_systemd_conf_tag(char *buf, const char *tag, int optional)
|
||||
{
|
||||
int taglen = 0;
|
||||
char *start = NULL;
|
||||
char *nextline = NULL;
|
||||
|
||||
taglen = grub_strlen(tag);
|
||||
for (start = buf; start; start = nextline)
|
||||
{
|
||||
nextline = ventoy_get_line(start);
|
||||
VTOY_SKIP_SPACE(start);
|
||||
|
||||
if (grub_strncmp(start, tag, taglen) == 0 && (start[taglen] == ' ' || start[taglen] == '\t'))
|
||||
{
|
||||
start += taglen;
|
||||
VTOY_SKIP_SPACE(start);
|
||||
return start;
|
||||
}
|
||||
}
|
||||
|
||||
if (optional == 0)
|
||||
{
|
||||
debug("tag<%s> NOT found\n", tag);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static int ventoy_systemd_conf_hook(const char *filename, const struct grub_dirhook_info *info, void *data)
|
||||
{
|
||||
int oldpos = 0;
|
||||
char *tag = NULL;
|
||||
char *bkbuf = NULL;
|
||||
char *filebuf = NULL;
|
||||
grub_file_t file = NULL;
|
||||
systemd_menu_ctx *ctx = (systemd_menu_ctx *)data;
|
||||
|
||||
debug("ventoy_systemd_conf_hook %s\n", filename);
|
||||
|
||||
if (info->dir || NULL == grub_strstr(filename, ".conf"))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
file = ventoy_grub_file_open(VENTOY_FILE_TYPE, "%s/loader/entries/%s", ctx->dev, filename);
|
||||
if (!file)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
filebuf = grub_zalloc(2 * file->size + 8);
|
||||
if (!filebuf)
|
||||
{
|
||||
goto out;
|
||||
}
|
||||
|
||||
bkbuf = filebuf + file->size + 4;
|
||||
grub_file_read(file, bkbuf, file->size);
|
||||
|
||||
oldpos = ctx->pos;
|
||||
|
||||
/* title --> menuentry */
|
||||
grub_memcpy(filebuf, bkbuf, file->size);
|
||||
tag = ventoy_systemd_conf_tag(filebuf, "title", 0);
|
||||
vtoy_check_goto_out(tag);
|
||||
vtoy_len_ssprintf(ctx->buf, ctx->pos, ctx->len, "menuentry \"%s\" {\n", tag);
|
||||
|
||||
/* linux xxx */
|
||||
grub_memcpy(filebuf, bkbuf, file->size);
|
||||
tag = ventoy_systemd_conf_tag(filebuf, "linux", 0);
|
||||
if (!tag)
|
||||
{
|
||||
ctx->pos = oldpos;
|
||||
goto out;
|
||||
}
|
||||
vtoy_len_ssprintf(ctx->buf, ctx->pos, ctx->len, " echo \"Downloading kernel ...\"\n linux %s ", tag);
|
||||
|
||||
/* kernel options */
|
||||
grub_memcpy(filebuf, bkbuf, file->size);
|
||||
tag = ventoy_systemd_conf_tag(filebuf, "options", 0);
|
||||
vtoy_len_ssprintf(ctx->buf, ctx->pos, ctx->len, "%s \n", tag ? tag : "");
|
||||
|
||||
|
||||
/* initrd xxx xxx xxx */
|
||||
vtoy_len_ssprintf(ctx->buf, ctx->pos, ctx->len, " echo \"Downloading initrd ...\"\n initrd ");
|
||||
grub_memcpy(filebuf, bkbuf, file->size);
|
||||
tag = ventoy_systemd_conf_tag(filebuf, "initrd", 1);
|
||||
while (tag)
|
||||
{
|
||||
vtoy_len_ssprintf(ctx->buf, ctx->pos, ctx->len, "%s ", tag);
|
||||
tag = ventoy_systemd_conf_tag(tag + grub_strlen(tag) + 1, "initrd", 1);
|
||||
}
|
||||
|
||||
vtoy_len_ssprintf(ctx->buf, ctx->pos, ctx->len, "\n boot\n}\n");
|
||||
|
||||
out:
|
||||
grub_check_free(filebuf);
|
||||
grub_file_close(file);
|
||||
return 0;
|
||||
}
|
||||
|
||||
grub_err_t ventoy_cmd_linux_systemd_menu(grub_extcmd_context_t ctxt, int argc, char **args)
|
||||
{
|
||||
static char *buf = NULL;
|
||||
grub_fs_t fs;
|
||||
char *device_name = NULL;
|
||||
grub_device_t dev = NULL;
|
||||
systemd_menu_ctx ctx;
|
||||
|
||||
(void)ctxt;
|
||||
(void)argc;
|
||||
|
||||
if (!buf)
|
||||
{
|
||||
buf = grub_malloc(VTOY_LINUX_SYSTEMD_MENU_MAX_BUF);
|
||||
if (!buf)
|
||||
{
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
|
||||
device_name = grub_file_get_device_name(args[0]);
|
||||
if (!device_name)
|
||||
{
|
||||
debug("failed to get device name %s\n", args[0]);
|
||||
goto end;
|
||||
}
|
||||
|
||||
dev = grub_device_open(device_name);
|
||||
if (!dev)
|
||||
{
|
||||
debug("failed to open device %s\n", device_name);
|
||||
goto end;
|
||||
}
|
||||
|
||||
fs = grub_fs_probe(dev);
|
||||
if (!fs)
|
||||
{
|
||||
debug("failed to probe fs %d\n", grub_errno);
|
||||
goto end;
|
||||
}
|
||||
|
||||
ctx.dev = args[0];
|
||||
ctx.buf = buf;
|
||||
ctx.pos = 0;
|
||||
ctx.len = VTOY_LINUX_SYSTEMD_MENU_MAX_BUF;
|
||||
fs->fs_dir(dev, "/loader/entries", ventoy_systemd_conf_hook, &ctx);
|
||||
|
||||
ventoy_memfile_env_set(args[1], buf, (ulonglong)(ctx.pos));
|
||||
|
||||
end:
|
||||
grub_check_free(device_name);
|
||||
check_free(dev, grub_device_close);
|
||||
VENTOY_CMD_RETURN(GRUB_ERR_NONE);
|
||||
}
|
||||
|
||||
static int ventoy_limine_path_convert(char *path)
|
||||
{
|
||||
char newpath[256] = {0};
|
||||
|
||||
if (grub_strncmp(path, "boot://2/", 9) == 0)
|
||||
{
|
||||
grub_snprintf(newpath, sizeof(newpath), "(vtimghd,2)/%s", path + 9);
|
||||
}
|
||||
else if (grub_strncmp(path, "boot://1/", 9) == 0)
|
||||
{
|
||||
grub_snprintf(newpath, sizeof(newpath), "(vtimghd,1)/%s", path + 9);
|
||||
}
|
||||
|
||||
if (newpath[0])
|
||||
{
|
||||
grub_snprintf(path, 1024, "%s", newpath);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
grub_err_t ventoy_cmd_linux_limine_menu(grub_extcmd_context_t ctxt, int argc, char **args)
|
||||
{
|
||||
int pos = 0;
|
||||
int sub = 0;
|
||||
int len = VTOY_LINUX_SYSTEMD_MENU_MAX_BUF;
|
||||
char *filebuf = NULL;
|
||||
char *start = NULL;
|
||||
char *nextline = NULL;
|
||||
grub_file_t file = NULL;
|
||||
char *title = NULL;
|
||||
char *kernel = NULL;
|
||||
char *initrd = NULL;
|
||||
char *param = NULL;
|
||||
static char *buf = NULL;
|
||||
|
||||
(void)ctxt;
|
||||
(void)argc;
|
||||
|
||||
if (!buf)
|
||||
{
|
||||
buf = grub_malloc(len + 4 * 1024);
|
||||
if (!buf)
|
||||
{
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
|
||||
title = buf + len;
|
||||
kernel = title + 1024;
|
||||
initrd = kernel + 1024;
|
||||
param = initrd + 1024;
|
||||
|
||||
file = ventoy_grub_file_open(VENTOY_FILE_TYPE, args[0]);
|
||||
if (!file)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
filebuf = grub_zalloc(file->size + 8);
|
||||
if (!filebuf)
|
||||
{
|
||||
goto end;
|
||||
}
|
||||
|
||||
grub_file_read(file, filebuf, file->size);
|
||||
grub_file_close(file);
|
||||
|
||||
|
||||
title[0] = kernel[0] = initrd[0] = param[0] = 0;
|
||||
for (start = filebuf; start; start = nextline)
|
||||
{
|
||||
nextline = ventoy_get_line(start);
|
||||
VTOY_SKIP_SPACE(start);
|
||||
|
||||
if (start[0] == ':')
|
||||
{
|
||||
if (start[1] == ':')
|
||||
{
|
||||
grub_snprintf(title, 1024, "%s", start + 2);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (sub)
|
||||
{
|
||||
vtoy_len_ssprintf(buf, pos, len, "}\n");
|
||||
sub = 0;
|
||||
}
|
||||
|
||||
if (nextline && nextline[0] == ':' && nextline[1] == ':')
|
||||
{
|
||||
vtoy_len_ssprintf(buf, pos, len, "submenu \"[+] %s\" {\n", start + 2);
|
||||
sub = 1;
|
||||
title[0] = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
grub_snprintf(title, 1024, "%s", start + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (grub_strncmp(start, "KERNEL_PATH=", 12) == 0)
|
||||
{
|
||||
grub_snprintf(kernel, 1024, "%s", start + 12);
|
||||
}
|
||||
else if (grub_strncmp(start, "MODULE_PATH=", 12) == 0)
|
||||
{
|
||||
grub_snprintf(initrd, 1024, "%s", start + 12);
|
||||
}
|
||||
else if (grub_strncmp(start, "KERNEL_CMDLINE=", 15) == 0)
|
||||
{
|
||||
grub_snprintf(param, 1024, "%s", start + 15);
|
||||
}
|
||||
|
||||
if (title[0] && kernel[0] && initrd[0] && param[0])
|
||||
{
|
||||
ventoy_limine_path_convert(kernel);
|
||||
ventoy_limine_path_convert(initrd);
|
||||
|
||||
vtoy_len_ssprintf(buf, pos, len, "menuentry \"%s\" {\n", title);
|
||||
vtoy_len_ssprintf(buf, pos, len, " echo \"Downloading kernel ...\"\n linux %s %s\n", kernel, param);
|
||||
vtoy_len_ssprintf(buf, pos, len, " echo \"Downloading initrd ...\"\n initrd %s\n", initrd);
|
||||
vtoy_len_ssprintf(buf, pos, len, "}\n");
|
||||
|
||||
title[0] = kernel[0] = initrd[0] = param[0] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (sub)
|
||||
{
|
||||
vtoy_len_ssprintf(buf, pos, len, "}\n");
|
||||
sub = 0;
|
||||
}
|
||||
|
||||
ventoy_memfile_env_set(args[1], buf, (ulonglong)pos);
|
||||
|
||||
end:
|
||||
grub_check_free(filebuf);
|
||||
VENTOY_CMD_RETURN(GRUB_ERR_NONE);
|
||||
}
|
||||
|
||||
|
@@ -56,12 +56,14 @@ static injection_config *g_injection_head = NULL;
|
||||
static auto_memdisk *g_auto_memdisk_head = NULL;
|
||||
static image_list *g_image_list_head = NULL;
|
||||
static conf_replace *g_conf_replace_head = NULL;
|
||||
static VTOY_JSON *g_menu_lang_json = NULL;
|
||||
|
||||
static int g_theme_id = 0;
|
||||
static int g_theme_num = 0;
|
||||
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 int ventoy_plugin_is_parent(const char *pat, int patlen, const char *isopath)
|
||||
{
|
||||
@@ -3369,7 +3371,7 @@ grub_err_t ventoy_cmd_select_theme_cfg(grub_extcmd_context_t ctxt, int argc, cha
|
||||
}
|
||||
|
||||
pos += grub_snprintf(buf + pos, bufsize - pos,
|
||||
"menuentry 'Return to previous menu [Esc]' --class=vtoyret VTOY_RET {\n"
|
||||
"menuentry '@VTMENU_RETURN_PREVIOUS' --class=vtoyret VTOY_RET {\n"
|
||||
"echo 'Return ...'\n"
|
||||
"}\n");
|
||||
|
||||
@@ -3467,3 +3469,97 @@ grub_err_t ventoy_cmd_set_theme_path(grub_extcmd_context_t ctxt, int argc, char
|
||||
VENTOY_CMD_RETURN(GRUB_ERR_NONE);
|
||||
}
|
||||
|
||||
const char *ventoy_get_vmenu_title(const char *vMenu)
|
||||
{
|
||||
return vtoy_json_get_string_ex(g_menu_lang_json->pstChild, vMenu);
|
||||
}
|
||||
|
||||
int ventoy_plugin_load_menu_lang(int init, const char *lang)
|
||||
{
|
||||
int ret = 1;
|
||||
grub_file_t file = NULL;
|
||||
char *buf = NULL;
|
||||
|
||||
if (grub_strcmp(lang, g_cur_menu_language) == 0)
|
||||
{
|
||||
debug("Same menu lang %s\n", lang);
|
||||
return 0;
|
||||
}
|
||||
grub_snprintf(g_cur_menu_language, sizeof(g_cur_menu_language), "%s", lang);
|
||||
|
||||
debug("Load menu lang %s\n", g_cur_menu_language);
|
||||
|
||||
if (g_menu_lang_json)
|
||||
{
|
||||
vtoy_json_destroy(g_menu_lang_json);
|
||||
g_menu_lang_json = NULL;
|
||||
}
|
||||
|
||||
g_menu_lang_json = vtoy_json_create();
|
||||
if (!g_menu_lang_json)
|
||||
{
|
||||
goto end;
|
||||
}
|
||||
|
||||
file = ventoy_grub_file_open(GRUB_FILE_TYPE_LINUX_INITRD, "(vt_menu_tarfs)/menu/%s.json", lang);
|
||||
if (!file)
|
||||
{
|
||||
goto end;
|
||||
}
|
||||
|
||||
buf = grub_malloc(file->size + 1);
|
||||
if (!buf)
|
||||
{
|
||||
grub_printf("Failed to malloc memory %lu.\n", (ulong)(file->size + 1));
|
||||
goto end;
|
||||
}
|
||||
|
||||
buf[file->size] = 0;
|
||||
grub_file_read(file, buf, file->size);
|
||||
|
||||
vtoy_json_parse(g_menu_lang_json, buf);
|
||||
|
||||
if (g_default_menu_mode == 0)
|
||||
{
|
||||
grub_snprintf(g_ventoy_hotkey_tip, sizeof(g_ventoy_hotkey_tip), "%s", ventoy_get_vmenu_title("VTMENU_STR_HOTKEY_TREE"));
|
||||
}
|
||||
else
|
||||
{
|
||||
grub_snprintf(g_ventoy_hotkey_tip, sizeof(g_ventoy_hotkey_tip), "%s", ventoy_get_vmenu_title("VTMENU_STR_HOTKEY_LIST"));
|
||||
}
|
||||
|
||||
if (init == 0)
|
||||
{
|
||||
ventoy_menu_push_key(GRUB_TERM_ESC);
|
||||
ventoy_menu_push_key(GRUB_TERM_ESC);
|
||||
g_ventoy_menu_refresh = 1;
|
||||
}
|
||||
ret = 0;
|
||||
|
||||
end:
|
||||
|
||||
check_free(file, grub_file_close);
|
||||
grub_check_free(buf);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
grub_err_t ventoy_cmd_cur_menu_lang(grub_extcmd_context_t ctxt, int argc, char **args)
|
||||
{
|
||||
(void)ctxt;
|
||||
(void)argc;
|
||||
|
||||
if (argc > 0)
|
||||
{
|
||||
grub_env_set(args[0], g_cur_menu_language);
|
||||
}
|
||||
else
|
||||
{
|
||||
grub_printf("%s\n", g_cur_menu_language);
|
||||
grub_printf("%s\n", g_ventoy_hotkey_tip);
|
||||
grub_refresh();
|
||||
}
|
||||
|
||||
VENTOY_CMD_RETURN(0);
|
||||
}
|
||||
|
||||
|
@@ -1118,7 +1118,6 @@ grub_err_t ventoy_cmd_unix_chain_data(grub_extcmd_context_t ctxt, int argc, char
|
||||
const char *pLastChain = NULL;
|
||||
const char *compatible;
|
||||
ventoy_chain_head *chain;
|
||||
char envbuf[64];
|
||||
|
||||
(void)ctxt;
|
||||
(void)argc;
|
||||
@@ -1197,10 +1196,7 @@ grub_err_t ventoy_cmd_unix_chain_data(grub_extcmd_context_t ctxt, int argc, char
|
||||
return 1;
|
||||
}
|
||||
|
||||
grub_snprintf(envbuf, sizeof(envbuf), "0x%lx", (unsigned long)chain);
|
||||
grub_env_set("vtoy_chain_mem_addr", envbuf);
|
||||
grub_snprintf(envbuf, sizeof(envbuf), "%u", size);
|
||||
grub_env_set("vtoy_chain_mem_size", envbuf);
|
||||
ventoy_memfile_env_set("vtoy_chain_mem", chain, (ulonglong)size);
|
||||
|
||||
grub_memset(chain, 0, sizeof(ventoy_chain_head));
|
||||
|
||||
|
@@ -305,7 +305,6 @@ grub_err_t ventoy_cmd_patch_vhdboot(grub_extcmd_context_t ctxt, int argc, char *
|
||||
int patchoffset[2];
|
||||
ventoy_patch_vhd *patch1;
|
||||
ventoy_patch_vhd *patch2;
|
||||
char envbuf[64];
|
||||
|
||||
(void)ctxt;
|
||||
(void)argc;
|
||||
@@ -356,15 +355,9 @@ grub_err_t ventoy_cmd_patch_vhdboot(grub_extcmd_context_t ctxt, int argc, char *
|
||||
|
||||
/* set buffer and size */
|
||||
#ifdef GRUB_MACHINE_EFI
|
||||
grub_snprintf(envbuf, sizeof(envbuf), "0x%lx", (ulong)g_vhdboot_totbuf);
|
||||
grub_env_set("vtoy_vhd_buf_addr", envbuf);
|
||||
grub_snprintf(envbuf, sizeof(envbuf), "%d", (int)(g_vhdboot_isolen + sizeof(ventoy_chain_head)));
|
||||
grub_env_set("vtoy_vhd_buf_size", envbuf);
|
||||
ventoy_memfile_env_set("vtoy_vhd_buf", g_vhdboot_totbuf, (ulonglong)(g_vhdboot_isolen + sizeof(ventoy_chain_head)));
|
||||
#else
|
||||
grub_snprintf(envbuf, sizeof(envbuf), "0x%lx", (ulong)g_vhdboot_isobuf);
|
||||
grub_env_set("vtoy_vhd_buf_addr", envbuf);
|
||||
grub_snprintf(envbuf, sizeof(envbuf), "%d", g_vhdboot_isolen);
|
||||
grub_env_set("vtoy_vhd_buf_size", envbuf);
|
||||
ventoy_memfile_env_set("vtoy_vhd_buf", g_vhdboot_isobuf, (ulonglong)g_vhdboot_isolen);
|
||||
#endif
|
||||
|
||||
VENTOY_CMD_RETURN(GRUB_ERR_NONE);
|
||||
@@ -645,7 +638,6 @@ grub_err_t ventoy_cmd_raw_chain_data(grub_extcmd_context_t ctxt, int argc, char
|
||||
grub_disk_t disk;
|
||||
const char *pLastChain = NULL;
|
||||
ventoy_chain_head *chain;
|
||||
char envbuf[64];
|
||||
|
||||
(void)ctxt;
|
||||
(void)argc;
|
||||
@@ -695,10 +687,7 @@ grub_err_t ventoy_cmd_raw_chain_data(grub_extcmd_context_t ctxt, int argc, char
|
||||
return 1;
|
||||
}
|
||||
|
||||
grub_snprintf(envbuf, sizeof(envbuf), "0x%lx", (unsigned long)chain);
|
||||
grub_env_set("vtoy_chain_mem_addr", envbuf);
|
||||
grub_snprintf(envbuf, sizeof(envbuf), "%u", size);
|
||||
grub_env_set("vtoy_chain_mem_size", envbuf);
|
||||
ventoy_memfile_env_set("vtoy_chain_mem", chain, (ulonglong)size);
|
||||
|
||||
grub_env_export("vtoy_chain_mem_addr");
|
||||
grub_env_export("vtoy_chain_mem_size");
|
||||
|
@@ -1364,6 +1364,110 @@ static int ventoy_wimdows_locate_wim(const char *disk, wim_patch *patch, int win
|
||||
return 0;
|
||||
}
|
||||
|
||||
grub_err_t ventoy_cmd_sel_winpe_wim(grub_extcmd_context_t ctxt, int argc, char **args)
|
||||
{
|
||||
int i = 0;
|
||||
int pos = 0;
|
||||
int len = 0;
|
||||
int find = 0;
|
||||
char *cmd = NULL;
|
||||
wim_patch *node = NULL;
|
||||
wim_patch *tmp = NULL;
|
||||
grub_file_t file = NULL;
|
||||
wim_header *head = NULL;
|
||||
char cfgfile[128];
|
||||
|
||||
(void)ctxt;
|
||||
(void)argc;
|
||||
|
||||
len = 8 * VTOY_SIZE_1KB;
|
||||
cmd = (char *)grub_malloc(len + sizeof(wim_header));
|
||||
if (!cmd)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
head = (wim_header *)(cmd + len);
|
||||
grub_env_unset("vtoy_pe_wim_path");
|
||||
|
||||
for (node = g_wim_patch_head; node; node = node->next)
|
||||
{
|
||||
find = 0;
|
||||
for (tmp = g_wim_patch_head; tmp != node; tmp = tmp->next)
|
||||
{
|
||||
if (tmp->valid && grub_strcasecmp(tmp->path, node->path) == 0)
|
||||
{
|
||||
find = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (find)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
g_ventoy_case_insensitive = 1;
|
||||
file = ventoy_grub_file_open(VENTOY_FILE_TYPE, "%s%s", args[0], node->path);
|
||||
g_ventoy_case_insensitive = 0;
|
||||
if (!file)
|
||||
{
|
||||
debug("File %s%s NOT exist\n", args[0], node->path);
|
||||
continue;
|
||||
}
|
||||
|
||||
grub_file_read(file, head, sizeof(wim_header));
|
||||
if (grub_memcmp(head->signature, WIM_HEAD_SIGNATURE, sizeof(head->signature)))
|
||||
{
|
||||
debug("Not a valid wim file %s\n", (char *)head->signature);
|
||||
grub_file_close(file);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (head->flags & FLAG_HEADER_COMPRESS_LZMS)
|
||||
{
|
||||
debug("LZMS compress is not supported 0x%x\n", head->flags);
|
||||
grub_file_close(file);
|
||||
continue;
|
||||
}
|
||||
|
||||
grub_file_close(file);
|
||||
node->valid = 1;
|
||||
|
||||
vtoy_len_ssprintf(cmd, pos, len, "menuentry \"%s\" --class=\"sel_wim\" {\n echo \"\"\n}\n", node->path);
|
||||
}
|
||||
|
||||
if (pos > 0)
|
||||
{
|
||||
g_ventoy_menu_esc = 1;
|
||||
g_ventoy_suppress_esc = 1;
|
||||
g_ventoy_suppress_esc_default = 0;
|
||||
|
||||
grub_snprintf(cfgfile, sizeof(cfgfile), "configfile mem:0x%llx:size:%d", (ulonglong)(ulong)cmd, pos);
|
||||
grub_script_execute_sourcecode(cfgfile);
|
||||
|
||||
g_ventoy_menu_esc = 0;
|
||||
g_ventoy_suppress_esc = 0;
|
||||
g_ventoy_suppress_esc_default = 1;
|
||||
|
||||
for (node = g_wim_patch_head; node; node = node->next)
|
||||
{
|
||||
if (node->valid)
|
||||
{
|
||||
if (i == g_ventoy_last_entry)
|
||||
{
|
||||
grub_env_set("vtoy_pe_wim_path", node->path);
|
||||
break;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
grub_free(cmd);
|
||||
return 0;
|
||||
}
|
||||
|
||||
grub_err_t ventoy_cmd_locate_wim_patch(grub_extcmd_context_t ctxt, int argc, char **args)
|
||||
{
|
||||
int datalen = 0;
|
||||
@@ -1790,19 +1894,150 @@ end:
|
||||
return rc;
|
||||
}
|
||||
|
||||
static int ventoy_extract_init_exe(char *wimfile, grub_uint8_t **pexe_data, grub_uint32_t *pexe_len, char *exe_name)
|
||||
{
|
||||
int rc;
|
||||
int ret = 1;
|
||||
grub_uint16_t i;
|
||||
grub_file_t file = NULL;
|
||||
grub_uint32_t exe_len = 0;
|
||||
wim_header *head = NULL;
|
||||
grub_uint16_t *uname = NULL;
|
||||
grub_uint8_t *exe_data = NULL;
|
||||
grub_uint8_t *decompress_data = NULL;
|
||||
wim_lookup_entry *lookup = NULL;
|
||||
wim_security_header *security = NULL;
|
||||
wim_directory_entry *rootdir = NULL;
|
||||
wim_directory_entry *search = NULL;
|
||||
wim_stream_entry *stream = NULL;
|
||||
wim_lookup_entry *replace_look = NULL;
|
||||
wim_header wimhdr;
|
||||
wim_hash hashdata;
|
||||
|
||||
head = &wimhdr;
|
||||
|
||||
file = grub_file_open(wimfile, VENTOY_FILE_TYPE);
|
||||
if (!file)
|
||||
{
|
||||
goto out;
|
||||
}
|
||||
|
||||
grub_file_read(file, head, sizeof(wim_header));
|
||||
rc = ventoy_read_resource(file, head, &head->metadata, (void **)&decompress_data);
|
||||
if (rc)
|
||||
{
|
||||
grub_printf("failed to read meta data %d\n", rc);
|
||||
goto out;
|
||||
}
|
||||
|
||||
security = (wim_security_header *)decompress_data;
|
||||
if (security->len > 0)
|
||||
{
|
||||
rootdir = (wim_directory_entry *)(decompress_data + ((security->len + 7) & 0xFFFFFFF8U));
|
||||
}
|
||||
else
|
||||
{
|
||||
rootdir = (wim_directory_entry *)(decompress_data + 8);
|
||||
}
|
||||
|
||||
debug("read lookup offset:%llu size:%llu\n", (ulonglong)head->lookup.offset, (ulonglong)head->lookup.raw_size);
|
||||
lookup = grub_malloc(head->lookup.raw_size);
|
||||
grub_file_seek(file, head->lookup.offset);
|
||||
grub_file_read(file, lookup, head->lookup.raw_size);
|
||||
|
||||
/* search winpeshl.exe dirent entry */
|
||||
search = search_replace_wim_dirent(file, head, lookup, decompress_data, rootdir);
|
||||
if (!search)
|
||||
{
|
||||
debug("Failed to find replace file %p\n", search);
|
||||
goto out;
|
||||
}
|
||||
|
||||
uname = (grub_uint16_t *)(search + 1);
|
||||
for (i = 0; i < search->name_len / 2 && i < 200; i++)
|
||||
{
|
||||
exe_name[i] = (char)uname[i];
|
||||
}
|
||||
exe_name[i] = 0;
|
||||
debug("find replace file at %p <%s>\n", search, exe_name);
|
||||
|
||||
grub_memset(&hashdata, 0, sizeof(wim_hash));
|
||||
if (grub_memcmp(&hashdata, search->hash.sha1, sizeof(wim_hash)) == 0)
|
||||
{
|
||||
debug("search hash all 0, now do deep search\n");
|
||||
stream = (wim_stream_entry *)((char *)search + search->len);
|
||||
for (i = 0; i < search->streams; i++)
|
||||
{
|
||||
if (stream->name_len == 0)
|
||||
{
|
||||
grub_memcpy(&hashdata, stream->hash.sha1, sizeof(wim_hash));
|
||||
debug("new search hash: %02x %02x %02x %02x %02x %02x %02x %02x\n",
|
||||
ventoy_varg_8(hashdata.sha1));
|
||||
break;
|
||||
}
|
||||
stream = (wim_stream_entry *)((char *)stream + stream->len);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
grub_memcpy(&hashdata, search->hash.sha1, sizeof(wim_hash));
|
||||
}
|
||||
|
||||
/* find and extact winpeshl.exe */
|
||||
replace_look = ventoy_find_look_entry(head, lookup, &hashdata);
|
||||
if (replace_look)
|
||||
{
|
||||
exe_len = (grub_uint32_t)replace_look->resource.raw_size;
|
||||
debug("find replace lookup entry_id:%ld raw_size:%u\n",
|
||||
((long)replace_look - (long)lookup) / sizeof(wim_lookup_entry), exe_len);
|
||||
|
||||
if (0 != ventoy_read_resource(file, head, &(replace_look->resource), (void **)&(exe_data)))
|
||||
{
|
||||
exe_len = 0;
|
||||
exe_data = NULL;
|
||||
debug("failed to read replace file meta data %u\n", exe_len);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
debug("failed to find lookup entry for replace file %02x %02x %02x %02x\n",
|
||||
ventoy_varg_4(hashdata.sha1));
|
||||
}
|
||||
|
||||
if (exe_data)
|
||||
{
|
||||
ret = 0;
|
||||
*pexe_data = exe_data;
|
||||
*pexe_len = exe_len;
|
||||
}
|
||||
|
||||
out:
|
||||
|
||||
grub_check_free(lookup);
|
||||
grub_check_free(decompress_data);
|
||||
check_free(file, grub_file_close);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
grub_err_t ventoy_cmd_windows_wimboot_data(grub_extcmd_context_t ctxt, int argc, char **args)
|
||||
{
|
||||
int rc = 0;
|
||||
int wim64 = 0;
|
||||
int datalen = 0;
|
||||
int dataflag = 0;
|
||||
grub_uint32_t size = 0;
|
||||
grub_uint32_t exe_len = 0;
|
||||
grub_uint32_t jump_align = 0;
|
||||
const char *addr = NULL;
|
||||
ventoy_chain_head *chain = NULL;
|
||||
ventoy_os_param *param = NULL;
|
||||
char envbuf[64];
|
||||
grub_uint8_t *param = NULL;
|
||||
grub_uint8_t *exe_data = NULL;
|
||||
ventoy_windows_data *rtdata = NULL;
|
||||
char exename[128] = {0};
|
||||
wim_tail wim_data;
|
||||
|
||||
(void)ctxt;
|
||||
(void)argc;
|
||||
(void)args;
|
||||
|
||||
addr = grub_env_get("vtoy_chain_mem_addr");
|
||||
if (!addr)
|
||||
@@ -1821,23 +2056,29 @@ grub_err_t ventoy_cmd_windows_wimboot_data(grub_extcmd_context_t ctxt, int argc,
|
||||
|
||||
datalen = ventoy_get_windows_rtdata_len(chain->os_param.vtoy_img_path, &dataflag);
|
||||
|
||||
size = sizeof(ventoy_os_param) + datalen;
|
||||
param = (ventoy_os_param *)grub_zalloc(size);
|
||||
if (!param)
|
||||
rc = ventoy_extract_init_exe(args[0], &exe_data, &exe_len, exename);
|
||||
if (rc)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
wim64 = ventoy_is_pe64(exe_data);
|
||||
|
||||
grub_memcpy(param, &chain->os_param, sizeof(ventoy_os_param));
|
||||
ventoy_fill_windows_rtdata(param + 1, param->vtoy_img_path, dataflag);
|
||||
grub_memset(&wim_data, 0, sizeof(wim_data));
|
||||
ventoy_cat_exe_file_data(&wim_data, exe_len, exe_data, datalen);
|
||||
grub_check_free(exe_data);
|
||||
|
||||
grub_snprintf(envbuf, sizeof(envbuf), "0x%lx", (unsigned long)param);
|
||||
grub_env_set("vtoy_wimboot_mem_addr", envbuf);
|
||||
debug("vtoy_wimboot_mem_addr: %s\n", envbuf);
|
||||
jump_align = ventoy_align(wim_data.jump_exe_len, 16);
|
||||
param = wim_data.jump_bin_data;
|
||||
|
||||
grub_snprintf(envbuf, sizeof(envbuf), "%u", size);
|
||||
grub_env_set("vtoy_wimboot_mem_size", envbuf);
|
||||
debug("vtoy_wimboot_mem_size: %s\n", envbuf);
|
||||
grub_memcpy(param + jump_align, &chain->os_param, sizeof(ventoy_os_param));
|
||||
|
||||
rtdata = (ventoy_windows_data *)(param + jump_align + sizeof(ventoy_os_param));
|
||||
ventoy_fill_windows_rtdata(rtdata, chain->os_param.vtoy_img_path, dataflag);
|
||||
|
||||
ventoy_memfile_env_set("vtoy_wimboot_mem", param, (ulonglong)(wim_data.bin_align_len));
|
||||
|
||||
grub_env_set(args[1], exename);
|
||||
grub_env_set(args[2], wim64 ? "64" : "32");
|
||||
|
||||
VENTOY_CMD_RETURN(GRUB_ERR_NONE);
|
||||
}
|
||||
@@ -1857,7 +2098,6 @@ grub_err_t ventoy_cmd_windows_chain_data(grub_extcmd_context_t ctxt, int argc, c
|
||||
const char *pLastChain = NULL;
|
||||
const char *compatible;
|
||||
ventoy_chain_head *chain;
|
||||
char envbuf[64];
|
||||
|
||||
(void)ctxt;
|
||||
(void)argc;
|
||||
@@ -1879,8 +2119,11 @@ grub_err_t ventoy_cmd_windows_chain_data(grub_extcmd_context_t ctxt, int argc, c
|
||||
if (0 == ventoy_compatible && g_wim_valid_patch_count == 0)
|
||||
{
|
||||
unknown_image = 1;
|
||||
if (!g_ventoy_wimboot_mode)
|
||||
{
|
||||
debug("Warning: %s was not recognized by Ventoy\n", args[0]);
|
||||
}
|
||||
}
|
||||
|
||||
file = ventoy_grub_file_open(VENTOY_FILE_TYPE, "%s", args[0]);
|
||||
if (!file)
|
||||
@@ -1949,10 +2192,7 @@ grub_err_t ventoy_cmd_windows_chain_data(grub_extcmd_context_t ctxt, int argc, c
|
||||
return 1;
|
||||
}
|
||||
|
||||
grub_snprintf(envbuf, sizeof(envbuf), "0x%lx", (unsigned long)chain);
|
||||
grub_env_set("vtoy_chain_mem_addr", envbuf);
|
||||
grub_snprintf(envbuf, sizeof(envbuf), "%u", size);
|
||||
grub_env_set("vtoy_chain_mem_size", envbuf);
|
||||
ventoy_memfile_env_set("vtoy_chain_mem", chain, (ulonglong)size);
|
||||
|
||||
grub_memset(chain, 0, sizeof(ventoy_chain_head));
|
||||
|
||||
@@ -2071,6 +2311,67 @@ static int ventoy_get_wim_chunklist(grub_file_t wimfile, ventoy_img_chunk_list *
|
||||
return 0;
|
||||
}
|
||||
|
||||
grub_err_t ventoy_cmd_is_standard_winiso(grub_extcmd_context_t ctxt, int argc, char **args)
|
||||
{
|
||||
int i;
|
||||
int ret = 1;
|
||||
char prefix[32] = {0};
|
||||
const char *chkfile[] =
|
||||
{
|
||||
"boot/bcd", "boot/boot.sdi", NULL
|
||||
};
|
||||
|
||||
(void)ctxt;
|
||||
(void)argc;
|
||||
|
||||
if (ventoy_check_file_exist("%s/sources/boot.wim", args[0]))
|
||||
{
|
||||
prefix[0] = 0;
|
||||
}
|
||||
else if (ventoy_check_file_exist("%s/x86/sources/boot.wim", args[0]))
|
||||
{
|
||||
grub_snprintf(prefix, sizeof(prefix), "/x86");
|
||||
}
|
||||
else if (ventoy_check_file_exist("%s/x64/sources/boot.wim", args[0]))
|
||||
{
|
||||
grub_snprintf(prefix, sizeof(prefix), "/x64");
|
||||
}
|
||||
else
|
||||
{
|
||||
debug("No boot.wim found.\n");
|
||||
goto out;
|
||||
}
|
||||
|
||||
for (i = 0; chkfile[i]; i++)
|
||||
{
|
||||
if (!ventoy_check_file_exist("%s%s/%s", args[0], prefix, chkfile[i]))
|
||||
{
|
||||
debug("%s not found.\n", chkfile[i]);
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
|
||||
if ((!ventoy_check_file_exist("%s%s/sources/install.wim", args[0], prefix)) &&
|
||||
(!ventoy_check_file_exist("%s%s/sources/install.esd", args[0], prefix)))
|
||||
{
|
||||
debug("No install.wim(esd) found.\n");
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (!ventoy_check_file_exist("%s/setup.exe", args[0]))
|
||||
{
|
||||
debug("No setup.exe found.\n");
|
||||
goto out;
|
||||
}
|
||||
|
||||
ret = 0;
|
||||
debug("This is standard Windows ISO.\n");
|
||||
|
||||
out:
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
grub_err_t ventoy_cmd_wim_check_bootable(grub_extcmd_context_t ctxt, int argc, char **args)
|
||||
{
|
||||
grub_uint32_t boot_index;
|
||||
@@ -2125,7 +2426,6 @@ static grub_err_t ventoy_vlnk_wim_chain_data(grub_file_t wimfile)
|
||||
ventoy_img_chunk *chunknode;
|
||||
ventoy_override_chunk *override;
|
||||
ventoy_img_chunk_list wimchunk;
|
||||
char envbuf[128];
|
||||
|
||||
debug("vlnk wim chain data begin <%s> ...\n", wimfile->name);
|
||||
|
||||
@@ -2182,10 +2482,7 @@ static grub_err_t ventoy_vlnk_wim_chain_data(grub_file_t wimfile)
|
||||
return 1;
|
||||
}
|
||||
|
||||
grub_snprintf(envbuf, sizeof(envbuf), "0x%lx", (unsigned long)chain);
|
||||
grub_env_set("vtoy_chain_mem_addr", envbuf);
|
||||
grub_snprintf(envbuf, sizeof(envbuf), "%u", size);
|
||||
grub_env_set("vtoy_chain_mem_size", envbuf);
|
||||
ventoy_memfile_env_set("vtoy_chain_mem", chain, (ulonglong)size);
|
||||
|
||||
grub_memset(chain, 0, sizeof(ventoy_chain_head));
|
||||
|
||||
@@ -2290,7 +2587,6 @@ static grub_err_t ventoy_normal_wim_chain_data(grub_file_t wimfile)
|
||||
ventoy_img_chunk *chunknode;
|
||||
ventoy_override_chunk *override;
|
||||
ventoy_img_chunk_list wimchunk;
|
||||
char envbuf[128];
|
||||
|
||||
debug("normal wim chain data begin <%s> ...\n", wimfile->name);
|
||||
|
||||
@@ -2347,10 +2643,7 @@ static grub_err_t ventoy_normal_wim_chain_data(grub_file_t wimfile)
|
||||
return 1;
|
||||
}
|
||||
|
||||
grub_snprintf(envbuf, sizeof(envbuf), "0x%lx", (unsigned long)chain);
|
||||
grub_env_set("vtoy_chain_mem_addr", envbuf);
|
||||
grub_snprintf(envbuf, sizeof(envbuf), "%u", size);
|
||||
grub_env_set("vtoy_chain_mem_size", envbuf);
|
||||
ventoy_memfile_env_set("vtoy_chain_mem", chain, (ulonglong)size);
|
||||
|
||||
grub_memset(chain, 0, sizeof(ventoy_chain_head));
|
||||
|
||||
|
@@ -304,6 +304,7 @@ grub_uint64_t grub_udf_get_last_file_attr_offset
|
||||
grub_uint64_t *fe_entry_size_offset
|
||||
);
|
||||
int ventoy_is_efi_os(void);
|
||||
void ventoy_memfile_env_set(const char *prefix, const void *buf, unsigned long long len);
|
||||
|
||||
#endif /* __VENTOY_H__ */
|
||||
|
||||
|
@@ -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 setkey date drivemap blocklist regexp 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 video_fb 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 zfs"
|
||||
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"
|
||||
|
||||
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"
|
||||
|
@@ -33,7 +33,7 @@ ventoy_os_install_dmsetup_by_fuse() {
|
||||
vtoy_fuse_iso -f $VTOY_PATH/ventoy_dm_table -m $VTOY_PATH/mnt/fuse
|
||||
|
||||
mount -t iso9660 $VTOY_PATH/mnt/fuse/ventoy.iso $VTOY_PATH/mnt/iso
|
||||
mount -t squashfs $VTOY_PATH/mnt/iso/minios/01-core*.sb $VTOY_PATH/mnt/squashfs
|
||||
mount -t squashfs $VTOY_PATH/mnt/iso/minios/0*-core*.sb $VTOY_PATH/mnt/squashfs
|
||||
|
||||
KoName=$(ls $VTOY_PATH/mnt/squashfs/lib/modules/$2/kernel/drivers/md/dm-mod.ko*)
|
||||
vtlog "insmod $KoName"
|
||||
|
@@ -24,6 +24,9 @@ if $GREP -q kaspersky /proc/version; then
|
||||
if [ -f /ventoy/ventoy_persistent_map ]; then
|
||||
$SED "/sysresccd_parsecmdline[^(]*$/a\ BACKSTORE_CMD='LABEL=casper-rw,noloop'" -i /init
|
||||
fi
|
||||
elif $GREP -q 'setting up the root filesystem' /init; then
|
||||
$SED "/setting up the root filesystem/a\ $BUSYBOX_PATH/sh $VTOY_PATH/hook/gentoo/disk_hook.sh" -i /init
|
||||
$SED "/setting up the root filesystem/a\ export CDROOT_DEV=/dev/mapper/ventoy" -i /init
|
||||
elif [ -d /etc/udev/rules.d ] || [ -d /lib/udev/rules.d ]; then
|
||||
ventoy_systemd_udevd_work_around
|
||||
ventoy_add_udev_rule "$VTOY_PATH/hook/default/udev_disk_hook.sh %k noreplace"
|
||||
|
@@ -51,6 +51,9 @@ if is_inotify_ventoy_part $3; then
|
||||
|
||||
if [ -e /sbin/anaconda-diskroot ]; then
|
||||
vtlog "set anaconda-diskroot ..."
|
||||
|
||||
#busybox cp doesn't support -t option (issue 1900)
|
||||
/bin/cp -a /bin/cp $BUSYBOX_PATH/cp
|
||||
/sbin/anaconda-diskroot /dev/ventoy
|
||||
fi
|
||||
|
||||
|
@@ -39,6 +39,9 @@ fi
|
||||
|
||||
if [ -e /sbin/anaconda-diskroot ]; then
|
||||
vtlog "set anaconda-diskroot /dev/ventoy ..."
|
||||
|
||||
#busybox cp doesn't support -t option (issue 1900)
|
||||
/bin/cp -a /bin/cp $BUSYBOX_PATH/cp
|
||||
/sbin/anaconda-diskroot /dev/ventoy
|
||||
fi
|
||||
|
||||
|
@@ -26,6 +26,10 @@ if [ -f $VTOY_PATH/autoinstall ]; then
|
||||
VTKS="inst.ks=file:$VTOY_PATH/autoinstall"
|
||||
else
|
||||
for vtParam in $($CAT /proc/cmdline); do
|
||||
if echo $vtParam | $GREP -q 'ks=file:/'; then
|
||||
continue
|
||||
fi
|
||||
|
||||
if echo $vtParam | $GREP -q 'inst.ks=hd:LABEL='; then
|
||||
vtRawKsFull="$vtParam"
|
||||
vtRawKs=$(echo $vtParam | $AWK -F: '{print $NF}')
|
||||
|
@@ -70,6 +70,9 @@ if is_inotify_ventoy_part $3; then
|
||||
|
||||
if [ -e /sbin/anaconda-diskroot ]; then
|
||||
vtlog "set anaconda-diskroot ..."
|
||||
|
||||
#busybox cp doesn't support -t option (issue 1900)
|
||||
/bin/cp -a /bin/cp $BUSYBOX_PATH/cp
|
||||
/sbin/anaconda-diskroot /dev/ventoy
|
||||
fi
|
||||
|
||||
|
@@ -39,6 +39,9 @@ fi
|
||||
|
||||
if [ -e /sbin/anaconda-diskroot ]; then
|
||||
vtlog "set anaconda-diskroot /dev/ventoy ..."
|
||||
|
||||
#busybox cp doesn't support -t option (issue 1900)
|
||||
/bin/cp -a /bin/cp $BUSYBOX_PATH/cp
|
||||
/sbin/anaconda-diskroot /dev/ventoy
|
||||
fi
|
||||
|
||||
|
@@ -37,9 +37,38 @@ if [ "$vtdiskname" = "unknown" ]; then
|
||||
fi
|
||||
|
||||
ventoy_udev_disk_common_hook "${vtdiskname#/dev/}2" "noreplace"
|
||||
|
||||
ventoy_create_dev_ventoy_part
|
||||
|
||||
if ventoy_need_dm_patch; then
|
||||
vtlog "extract a ko file"
|
||||
|
||||
mkdir -p /ventoy/tmpmnt1 /ventoy/tmpmnt2
|
||||
mount /dev/ventoy1 /ventoy/tmpmnt1
|
||||
mount /ventoy/tmpmnt1/boot/batocera /ventoy/tmpmnt2
|
||||
vtKV=$(uname -r)
|
||||
|
||||
mkdir -p /lib/modules/$vtKV/kernel/
|
||||
vtKO=$(find "/ventoy/tmpmnt2/lib/modules/$vtKV/kernel/fs/" -name "*.ko*" | head -n1)
|
||||
cp -a $vtKO /lib/modules/$vtKV/kernel/
|
||||
|
||||
vtlog "vtKV=$vtKV vtKO=$vtKO"
|
||||
|
||||
umount /ventoy/tmpmnt2
|
||||
umount /ventoy/tmpmnt1
|
||||
|
||||
vtPartid=1
|
||||
cat /vtoy_dm_table | while read vtline; do
|
||||
dmsetup remove ventoy$vtPartid
|
||||
vtPartid=$(expr $vtPartid + 1)
|
||||
done
|
||||
dmsetup remove ventoy
|
||||
|
||||
vtlog "Recreate device-mapper"
|
||||
ventoy_udev_disk_common_hook "${vtdiskname#/dev/}2" "noreplace"
|
||||
ventoy_create_dev_ventoy_part
|
||||
fi
|
||||
|
||||
|
||||
PATH=$VTPATH_OLD
|
||||
|
||||
set_ventoy_hook_finish
|
||||
|
@@ -23,6 +23,9 @@ $SED "/find drives/i $BUSYBOX_PATH/sh $VTOY_PATH/loop/easyos/ventoy-disk.sh; vtD
|
||||
|
||||
$SED "1a boot_dev=ventoy1;wkg_dev=ventoy2" -i /init
|
||||
|
||||
$SED 's#\(dd *if=/dev/.*WKG_DRV.* *of=/dev/null.*skip\)=[0-9]*#\1=1048576#' -i /init
|
||||
$SED "s#WKG_DEV=\"\"#WKG_DEV=ventoy2#g" -i /init
|
||||
|
||||
#check for ssd will read /sys/block/ventoy, will no exist, need a workaround
|
||||
$SED "s#/sys/block/\${WKG_DRV}/#/sys/block/\$vtDM/#g" -i /init
|
||||
|
||||
|
@@ -75,6 +75,10 @@ ventoy_get_os_type() {
|
||||
echo 'openwrt'; return
|
||||
fi
|
||||
|
||||
if $GREP -q 'easyos' /proc/cmdline; then
|
||||
echo 'easyos'; return
|
||||
fi
|
||||
|
||||
if [ -e /BOOT_SPECS ]; then
|
||||
if $GREP -q 'easyos' /BOOT_SPECS; then
|
||||
echo 'easyos'; return
|
||||
|
@@ -18,6 +18,18 @@ print_usage() {
|
||||
echo ''
|
||||
}
|
||||
|
||||
print_err() {
|
||||
echo ""
|
||||
echo "$*"
|
||||
echo ""
|
||||
}
|
||||
|
||||
uid=$(id -u)
|
||||
if [ $uid -ne 0 ]; then
|
||||
print_err "Please use sudo or run the script as root."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
while [ -n "$1" ]; do
|
||||
if [ "$1" = "-s" ]; then
|
||||
shift
|
||||
|
Binary file not shown.
Binary file not shown.
BIN
INSTALL/EFI/BOOT/MokManager.efi
Normal file
BIN
INSTALL/EFI/BOOT/MokManager.efi
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
|
||||
print_usage() {
|
||||
echo 'Usage: ExtendPersistentImg.sh file size'
|
||||
@@ -19,6 +19,18 @@ if [ -z "$2" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
if [ "$1" = "__vbash__" ]; then
|
||||
shift
|
||||
else
|
||||
if readlink /bin/sh | grep -q bash; then
|
||||
:
|
||||
else
|
||||
exec /bin/bash $0 "__vbash__" "$@"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
file=$1
|
||||
size=$2
|
||||
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,9 +1,9 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
|
||||
. ./tool/ventoy_lib.sh
|
||||
|
||||
print_usage() {
|
||||
echo 'Usage: sudo sh VentoyPlugson.sh [OPTION] /dev/sdX'
|
||||
echo 'Usage: sudo bash VentoyPlugson.sh [OPTION] /dev/sdX'
|
||||
echo ' OPTION: (optional)'
|
||||
echo ' -H x.x.x.x http server IP address (default is 127.0.0.1)'
|
||||
echo ' -P PORT http server PORT (default is 24681)'
|
||||
@@ -17,6 +17,15 @@ if [ $uid -ne 0 ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$1" = "__vbash__" ]; then
|
||||
shift
|
||||
else
|
||||
if readlink /bin/sh | grep -q bash; then
|
||||
:
|
||||
else
|
||||
exec /bin/bash $0 "__vbash__" "$@"
|
||||
fi
|
||||
fi
|
||||
|
||||
OLDDIR=$(pwd)
|
||||
|
||||
@@ -154,7 +163,7 @@ fi
|
||||
PART1=$(get_disk_part_name $DISK 1)
|
||||
|
||||
if grep -q "^$PART1 " /proc/mounts; then
|
||||
mtpnt=$(grep "^$PART1 " /proc/mounts | awk '{print $2}')
|
||||
mtpnt=$(grep "^$PART1 " /proc/mounts | awk '{print $2}' | sed 's/\\040/ /g')
|
||||
fstype=$(grep "^$PART1 " /proc/mounts | awk '{print $3}')
|
||||
|
||||
if echo $fstype | grep -q -i 'fuse'; then
|
||||
|
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
|
||||
print_usage() {
|
||||
echo 'Usage: VentoyWeb.sh [ OPTION ]'
|
||||
|
Binary file not shown.
Binary file not shown.
@@ -1,7 +1,7 @@
|
||||
|
||||
if [ -e "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.md5" ]; then
|
||||
set default=0
|
||||
menuentry "Calculate and check md5sum" --class=checksum_md5 {
|
||||
menuentry "@VTMENU_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
|
||||
@@ -14,21 +14,21 @@ if [ -e "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.md5" ]; then
|
||||
echo "$vtReadChecksum"
|
||||
fi
|
||||
|
||||
echo -e "\n\npress ENTER to exit ..."
|
||||
echo -ven "\n\n" "VTMENU_ENTER_EXIT ..."
|
||||
read vtInputKey
|
||||
}
|
||||
else
|
||||
menuentry "Calculate md5sum" --class=checksum_md5 {
|
||||
menuentry "@VTMENU_CHKSUM_MD5_CALC" --class=checksum_md5 {
|
||||
md5sum "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}"
|
||||
|
||||
echo -e "\n\npress ENTER to exit ..."
|
||||
echo -ven "\n\n" "VTMENU_ENTER_EXIT ..."
|
||||
read vtInputKey
|
||||
}
|
||||
fi
|
||||
|
||||
if [ -e "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.sha1" ]; then
|
||||
set default=1
|
||||
menuentry "Calculate and check sha1sum" --class=checksum_sha1 {
|
||||
menuentry "@VTMENU_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
|
||||
@@ -41,14 +41,14 @@ if [ -e "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.sha1" ]; then
|
||||
echo "$vtReadChecksum"
|
||||
fi
|
||||
|
||||
echo -e "\n\npress ENTER to exit ..."
|
||||
echo -ven "\n\n" "VTMENU_ENTER_EXIT ..."
|
||||
read vtInputKey
|
||||
}
|
||||
else
|
||||
menuentry "Calculate sha1sum" --class=checksum_sha1 {
|
||||
menuentry "@VTMENU_CHKSUM_SHA1_CALC" --class=checksum_sha1 {
|
||||
sha1sum "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}"
|
||||
|
||||
echo -e "\n\npress ENTER to exit ..."
|
||||
echo -ven "\n\n" "VTMENU_ENTER_EXIT ..."
|
||||
read vtInputKey
|
||||
}
|
||||
fi
|
||||
@@ -57,7 +57,7 @@ fi
|
||||
|
||||
if [ -e "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.sha256" ]; then
|
||||
set default=2
|
||||
menuentry "Calculate and check sha256sum" --class=checksum_sha256 {
|
||||
menuentry "@VTMENU_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
|
||||
@@ -70,14 +70,14 @@ if [ -e "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.sha256" ]; then
|
||||
echo "$vtReadChecksum"
|
||||
fi
|
||||
|
||||
echo -e "\n\npress ENTER to exit ..."
|
||||
echo -ven "\n\n" "VTMENU_ENTER_EXIT ..."
|
||||
read vtInputKey
|
||||
}
|
||||
else
|
||||
menuentry "Calculate sha256sum" --class=checksum_sha256 {
|
||||
menuentry "@VTMENU_CHKSUM_SHA256_CALC" --class=checksum_sha256 {
|
||||
sha256sum "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}"
|
||||
|
||||
echo -e "\n\npress ENTER to exit ..."
|
||||
echo -ven "\n\n" "VTMENU_ENTER_EXIT ..."
|
||||
read vtInputKey
|
||||
}
|
||||
fi
|
||||
@@ -86,7 +86,7 @@ fi
|
||||
|
||||
if [ -e "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.sha512" ]; then
|
||||
set default=3
|
||||
menuentry "Calculate and check sha512sum" --class=checksum_sha512{
|
||||
menuentry "@VTMENU_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
|
||||
@@ -99,19 +99,19 @@ if [ -e "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}.sha512" ]; then
|
||||
echo "$vtReadChecksum"
|
||||
fi
|
||||
|
||||
echo -e "\n\npress ENTER to exit ..."
|
||||
echo -ven "\n\n" "VTMENU_ENTER_EXIT ..."
|
||||
read vtInputKey
|
||||
}
|
||||
else
|
||||
menuentry "Calculate sha512sum" --class=checksum_sha512{
|
||||
menuentry "@VTMENU_CHKSUM_SHA512_CALC" --class=checksum_sha512{
|
||||
sha512sum "${vtoy_iso_part}${VTOY_CHKSUM_FILE_PATH}"
|
||||
|
||||
echo -e "\n\npress ENTER to exit ..."
|
||||
echo -ven "\n\n" "VTMENU_ENTER_EXIT ..."
|
||||
read vtInputKey
|
||||
}
|
||||
fi
|
||||
|
||||
|
||||
menuentry 'Return to previous menu [Esc]' --class=vtoyret VTOY_RET {
|
||||
menuentry '@VTMENU_RETURN_PREVIOUS' --class=vtoyret VTOY_RET {
|
||||
echo 'Return ...'
|
||||
}
|
||||
|
@@ -1,10 +1,13 @@
|
||||
|
||||
submenu "@VTMENU_MENU_LANG" --class=debug_menu_lang --class=F5tool {
|
||||
source $prefix/menulang.cfg
|
||||
}
|
||||
source $prefix/power.cfg
|
||||
source $prefix/hwinfo.cfg
|
||||
source $prefix/keyboard.cfg
|
||||
|
||||
submenu "Resolution Configuration" --class=debug_resolution --class=F5tool {
|
||||
menuentry 'Return to previous menu [Esc]' --class=vtoyret VTOY_RET {
|
||||
submenu "@VTMENU_RESOLUTION_CFG" --class=debug_resolution --class=F5tool {
|
||||
menuentry '@VTMENU_RETURN_PREVIOUS' --class=vtoyret VTOY_RET {
|
||||
echo 'Return ...'
|
||||
}
|
||||
|
||||
@@ -28,194 +31,185 @@ submenu "Resolution Configuration" --class=debug_resolution --class=F5tool {
|
||||
done
|
||||
}
|
||||
|
||||
submenu "Screen Display Mode" --class=debug_screen_mode --class=F5tool {
|
||||
menuentry 'Force Text Mode' --class=debug_text_mode --class=debug_screen_mode --class=F5tool {
|
||||
submenu "@VTMENU_SCREEN_MODE" --class=debug_screen_mode --class=F5tool {
|
||||
menuentry '@VTMENU_SCREEN_TEXT_MODE' --class=debug_text_mode --class=debug_screen_mode --class=F5tool {
|
||||
terminal_output console
|
||||
}
|
||||
menuentry 'Force Graphics Mode' --class=debug_gui_mode --class=debug_screen_mode --class=F5tool {
|
||||
menuentry '@VTMENU_SCREEN_GUI_MODE' --class=debug_gui_mode --class=debug_screen_mode --class=F5tool {
|
||||
terminal_output gfxterm
|
||||
}
|
||||
menuentry 'Return to previous menu [Esc]' --class=vtoyret VTOY_RET {
|
||||
menuentry '@VTMENU_RETURN_PREVIOUS' --class=vtoyret VTOY_RET {
|
||||
echo 'Return ...'
|
||||
}
|
||||
}
|
||||
|
||||
if [ $VTOY_THEME_COUNT -gt 1 ]; then
|
||||
submenu "Theme Select" --class=debug_theme_select --class=F5tool {
|
||||
if [ -n "$VTOY_THEME_COUNT" -a $VTOY_THEME_COUNT -gt 1 ]; then
|
||||
submenu "@VTMENU_THEME_SELECT" --class=debug_theme_select --class=F5tool {
|
||||
vt_select_theme_cfg
|
||||
}
|
||||
fi
|
||||
|
||||
if [ "$grub_platform" != "pc" ]; then
|
||||
submenu 'Ventoy UEFI Utilities' --class=debug_util --class=F5tool {
|
||||
menuentry 'Show EFI Drivers' --class=debug_util_efidrv --class=debug_util --class=F5tool {
|
||||
menuentry '@VTMENU_UTIL_SHOW_EFI_DRV' --class=debug_util_efidrv --class=debug_util --class=F5tool {
|
||||
vt_push_pager
|
||||
chainloader ${vtoy_path}/vtoyutil_${VTOY_EFI_ARCH}.efi env_param=${env_param} ${vtdebug_flag} feature=show_efi_drivers
|
||||
boot
|
||||
vt_pop_pager
|
||||
echo -e "\npress ENTER to exit ..."
|
||||
echo -Vn "VTMENU_ENTER_EXIT ..."
|
||||
read vtInputKey
|
||||
}
|
||||
|
||||
menuentry 'Fixup Windows BlinitializeLibrary Failure' --class=debug_util_blinit --class=debug_util --class=F5tool {
|
||||
menuentry '@VTMENU_UTIL_FIX_BLINIT_FAIL' --class=debug_util_blinit --class=debug_util --class=F5tool {
|
||||
chainloader ${vtoy_path}/vtoyutil_${VTOY_EFI_ARCH}.efi env_param=${env_param} ${vtdebug_flag} feature=fix_windows_mmap
|
||||
boot
|
||||
echo -e "\npress ENTER to exit ..."
|
||||
echo -Vn "VTMENU_ENTER_EXIT ..."
|
||||
read vtInputKey
|
||||
}
|
||||
|
||||
menuentry 'Return to previous menu [Esc]' --class=vtoyret VTOY_RET {
|
||||
menuentry '@VTMENU_RETURN_PREVIOUS' --class=vtoyret VTOY_RET {
|
||||
echo 'Return ...'
|
||||
}
|
||||
}
|
||||
fi
|
||||
|
||||
|
||||
submenu 'Check plugin json configuration (ventoy.json)' --class=debug_json --class=F5tool {
|
||||
menuentry 'Check global control plugin configuration' --class=debug_control --class=debug_json --class=F5tool {
|
||||
submenu '@VTMENU_JSON_CHK_JSON' --class=debug_json --class=F5tool {
|
||||
menuentry '@VTMENU_JSON_CHK_CONTROL' --class=debug_control --class=debug_json --class=F5tool {
|
||||
set pager=1
|
||||
vt_check_plugin_json $vt_plugin_path control $vtoy_iso_part
|
||||
|
||||
echo -e "\npress ENTER to exit ..."
|
||||
echo -Vn "VTMENU_ENTER_EXIT ..."
|
||||
read vtInputKey
|
||||
unset pager
|
||||
}
|
||||
|
||||
menuentry 'Check theme plugin configuration' --class=debug_theme --class=debug_json --class=F5tool {
|
||||
menuentry '@VTMENU_JSON_CHK_THEME' --class=debug_theme --class=debug_json --class=F5tool {
|
||||
set pager=1
|
||||
vt_check_plugin_json $vt_plugin_path theme $vtoy_iso_part
|
||||
|
||||
echo -e "\npress ENTER to exit ..."
|
||||
echo -Vn "VTMENU_ENTER_EXIT ..."
|
||||
read vtInputKey
|
||||
unset pager
|
||||
}
|
||||
|
||||
menuentry 'Check auto install plugin configuration' --class=debug_autoinstall --class=debug_json --class=F5tool {
|
||||
menuentry '@VTMENU_JSON_CHK_AUTOINS' --class=debug_autoinstall --class=debug_json --class=F5tool {
|
||||
set pager=1
|
||||
vt_check_plugin_json $vt_plugin_path auto_install $vtoy_iso_part
|
||||
|
||||
echo -e "\npress ENTER to exit ..."
|
||||
echo -Vn "VTMENU_ENTER_EXIT ..."
|
||||
read vtInputKey
|
||||
unset pager
|
||||
}
|
||||
|
||||
menuentry 'Check persistence plugin configuration' --class=debug_persistence --class=debug_json --class=F5tool {
|
||||
menuentry '@VTMENU_JSON_CHK_PERSIST' --class=debug_persistence --class=debug_json --class=F5tool {
|
||||
set pager=1
|
||||
vt_check_plugin_json $vt_plugin_path persistence $vtoy_iso_part
|
||||
|
||||
echo -e "\n############### dump persistence ###############"
|
||||
vt_dump_persistence
|
||||
|
||||
echo -e "\npress ENTER to exit ..."
|
||||
echo -Vn "VTMENU_ENTER_EXIT ..."
|
||||
read vtInputKey
|
||||
unset pager
|
||||
}
|
||||
|
||||
menuentry 'Check menu alias plugin configuration' --class=debug_menualias --class=debug_json --class=F5tool {
|
||||
menuentry '@VTMENU_JSON_CHK_MENU_ALIAS' --class=debug_menualias --class=debug_json --class=F5tool {
|
||||
set pager=1
|
||||
vt_check_plugin_json $vt_plugin_path menu_alias $vtoy_iso_part
|
||||
|
||||
echo -e "\npress ENTER to exit ..."
|
||||
echo -Vn "VTMENU_ENTER_EXIT ..."
|
||||
read vtInputKey
|
||||
unset pager
|
||||
}
|
||||
|
||||
menuentry 'Check menu tip plugin configuration' --class=debug_menutip --class=debug_json --class=F5tool {
|
||||
menuentry '@VTMENU_JSON_CHK_MENU_TIP' --class=debug_menutip --class=debug_json --class=F5tool {
|
||||
set pager=1
|
||||
vt_check_plugin_json $vt_plugin_path menu_tip $vtoy_iso_part
|
||||
|
||||
echo -e "\npress ENTER to exit ..."
|
||||
echo -Vn "VTMENU_ENTER_EXIT ..."
|
||||
read vtInputKey
|
||||
unset pager
|
||||
}
|
||||
|
||||
menuentry 'Check menu class plugin configuration' --class=debug_menuclass --class=debug_json --class=F5tool {
|
||||
menuentry '@VTMENU_JSON_CHK_MENU_CLASS' --class=debug_menuclass --class=debug_json --class=F5tool {
|
||||
set pager=1
|
||||
vt_check_plugin_json $vt_plugin_path menu_class $vtoy_iso_part
|
||||
|
||||
echo -e "\npress ENTER to exit ..."
|
||||
echo -Vn "VTMENU_ENTER_EXIT ..."
|
||||
read vtInputKey
|
||||
unset pager
|
||||
}
|
||||
|
||||
menuentry 'Check injection plugin configuration' --class=debug_injection --class=debug_json --class=F5tool {
|
||||
menuentry '@VTMENU_JSON_CHK_INJECTION' --class=debug_injection --class=debug_json --class=F5tool {
|
||||
set pager=1
|
||||
vt_check_plugin_json $vt_plugin_path injection $vtoy_iso_part
|
||||
|
||||
echo -e "\npress ENTER to exit ..."
|
||||
echo -Vn "VTMENU_ENTER_EXIT ..."
|
||||
read vtInputKey
|
||||
unset pager
|
||||
}
|
||||
|
||||
menuentry 'Check auto memdisk plugin configuration' --class=debug_automemdisk --class=debug_json --class=F5tool {
|
||||
menuentry '@VTMENU_JSON_CHK_AUTO_MEMDISK' --class=debug_automemdisk --class=debug_json --class=F5tool {
|
||||
set pager=1
|
||||
vt_check_plugin_json $vt_plugin_path auto_memdisk $vtoy_iso_part
|
||||
|
||||
echo -e "\npress ENTER to exit ..."
|
||||
echo -Vn "VTMENU_ENTER_EXIT ..."
|
||||
read vtInputKey
|
||||
unset pager
|
||||
}
|
||||
|
||||
menuentry 'Check image list plugin configuration' --class=debug_imagelist --class=debug_json --class=F5tool {
|
||||
menuentry '@VTMENU_JSON_CHK_IMG_LIST' --class=debug_imagelist --class=debug_json --class=F5tool {
|
||||
set pager=1
|
||||
vt_check_plugin_json $vt_plugin_path image_list $vtoy_iso_part
|
||||
|
||||
echo -e "\npress ENTER to exit ..."
|
||||
echo -Vn "VTMENU_ENTER_EXIT ..."
|
||||
read vtInputKey
|
||||
unset pager
|
||||
}
|
||||
|
||||
menuentry 'Check image blacklist plugin configuration' --class=debug_imageblacklist --class=debug_json --class=F5tool {
|
||||
menuentry '@VTMENU_JSON_CHK_IMG_BLIST' --class=debug_imageblacklist --class=debug_json --class=F5tool {
|
||||
set pager=1
|
||||
vt_check_plugin_json $vt_plugin_path image_blacklist $vtoy_iso_part
|
||||
|
||||
echo -e "\npress ENTER to exit ..."
|
||||
echo -Vn "VTMENU_ENTER_EXIT ..."
|
||||
read vtInputKey
|
||||
unset pager
|
||||
}
|
||||
|
||||
menuentry 'Check boot conf replace plugin configuration' --class=debug_bootconf_replace --class=debug_json --class=F5tool {
|
||||
menuentry '@VTMENU_JSON_CHK_CONF_REPLACE' --class=debug_bootconf_replace --class=debug_json --class=F5tool {
|
||||
set pager=1
|
||||
vt_check_plugin_json $vt_plugin_path conf_replace $vtoy_iso_part
|
||||
|
||||
echo -e "\npress ENTER to exit ..."
|
||||
echo -Vn "VTMENU_ENTER_EXIT ..."
|
||||
read vtInputKey
|
||||
unset pager
|
||||
}
|
||||
|
||||
menuentry 'Check dud plugin configuration' --class=debug_dud --class=debug_json --class=F5tool {
|
||||
menuentry '@VTMENU_JSON_CHK_DUD' --class=debug_dud --class=debug_json --class=F5tool {
|
||||
set pager=1
|
||||
vt_check_plugin_json $vt_plugin_path dud $vtoy_iso_part
|
||||
|
||||
echo -e "\npress ENTER to exit ..."
|
||||
echo -Vn "VTMENU_ENTER_EXIT ..."
|
||||
read vtInputKey
|
||||
unset pager
|
||||
}
|
||||
|
||||
menuentry 'Check password plugin configuration' --class=debug_pwd --class=debug_json --class=F5tool {
|
||||
menuentry '@VTMENU_JSON_CHK_PASSWORD' --class=debug_pwd --class=debug_json --class=F5tool {
|
||||
set pager=1
|
||||
vt_check_plugin_json $vt_plugin_path password $vtoy_iso_part
|
||||
|
||||
echo -e "\npress ENTER to exit ..."
|
||||
echo -Vn "VTMENU_ENTER_EXIT ..."
|
||||
read vtInputKey
|
||||
unset pager
|
||||
}
|
||||
|
||||
menuentry 'Check custom boot plugin configuration' --class=debug_custom_boot --class=debug_json --class=F5tool {
|
||||
set pager=1
|
||||
vt_check_plugin_json $vt_plugin_path custom_boot $vtoy_iso_part
|
||||
|
||||
echo -e "\npress ENTER to exit ..."
|
||||
read vtInputKey
|
||||
unset pager
|
||||
}
|
||||
|
||||
menuentry 'Return to previous menu [Esc]' --class=vtoyret VTOY_RET {
|
||||
menuentry '@VTMENU_RETURN_PREVIOUS' --class=vtoyret VTOY_RET {
|
||||
echo 'Return ...'
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
menuentry 'Return to previous menu [Esc]' --class=vtoyret VTOY_RET {
|
||||
menuentry '@VTMENU_RETURN_PREVIOUS' --class=vtoyret VTOY_RET {
|
||||
echo 'Return ...'
|
||||
}
|
||||
|
@@ -16,6 +16,12 @@
|
||||
#
|
||||
#************************************************************************************
|
||||
|
||||
if [ "$grub_platform" = "pc" ]; then
|
||||
insmod setkey
|
||||
insmod regexp
|
||||
insmod video_fb
|
||||
fi
|
||||
|
||||
function ventoy_pause {
|
||||
echo "press Enter to continue ......"
|
||||
read vtTmpPause
|
||||
@@ -65,6 +71,10 @@ function ventoy_vcfg_proc {
|
||||
fi
|
||||
}
|
||||
|
||||
function ventoy_language {
|
||||
configfile $prefix/menulang.cfg
|
||||
}
|
||||
|
||||
function ventoy_diagnosis {
|
||||
vt_enum_video_mode
|
||||
configfile $prefix/debug.cfg
|
||||
@@ -81,7 +91,7 @@ function ventoy_ext_menu {
|
||||
unset ventoy_new_context
|
||||
else
|
||||
echo "ventoy_grub.cfg NOT exist."
|
||||
echo -e "\npress ENTER to exit ..."
|
||||
echo -V "VTMENU_ENTER_EXIT ..."
|
||||
read vtInputKey
|
||||
fi
|
||||
}
|
||||
@@ -99,8 +109,9 @@ function ventoy_show_help {
|
||||
fi
|
||||
|
||||
loopback vt_help_tarfs mem:${vtoy_help_txt_mem_addr}:size:${vtoy_help_txt_mem_size}
|
||||
if [ -f "(vt_help_tarfs)/help/${VTOY_HELP_TXT_LANGUAGE}.txt" ]; then
|
||||
cat "(vt_help_tarfs)/help/${VTOY_HELP_TXT_LANGUAGE}.txt"
|
||||
vt_cur_menu_lang vtCurLang
|
||||
if [ -f "(vt_help_tarfs)/help/${vtCurLang}.txt" ]; then
|
||||
cat "(vt_help_tarfs)/help/${vtCurLang}.txt"
|
||||
else
|
||||
cat "(vt_help_tarfs)/help/en_US.txt"
|
||||
fi
|
||||
@@ -108,6 +119,11 @@ function ventoy_show_help {
|
||||
fi
|
||||
}
|
||||
|
||||
function ventoy_load_menu_lang_file {
|
||||
vt_load_file_to_mem "auto" $vtoy_efi_part/grub/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
|
||||
|
||||
@@ -158,7 +174,7 @@ function get_os_type {
|
||||
function vt_check_compatible_pe {
|
||||
#Check for PE without external tools
|
||||
#set compatible if ISO file is less than 80MB
|
||||
if [ $vt_chosen_size -gt 33554432 -a $vt_chosen_size -le 83886080 ]; then
|
||||
if [ $vt_chosen_size -GT 33554432 -a $vt_chosen_size -LE 83886080 ]; then
|
||||
set ventoy_compatible=YES
|
||||
fi
|
||||
|
||||
@@ -599,8 +615,12 @@ function ventoy_unix_comm_proc {
|
||||
function uefi_windows_menu_func {
|
||||
vt_windows_reset
|
||||
|
||||
if [ "$ventoy_compatible" = "NO" ]; then
|
||||
unset vt_cur_wimboot_mode
|
||||
if vt_check_mode 4 "$vt_chosen_name"; then
|
||||
set vt_cur_wimboot_mode=1
|
||||
fi
|
||||
|
||||
if [ "$ventoy_compatible" = "NO" -o "$vt_cur_wimboot_mode" = "1" ]; then
|
||||
if [ "$ventoy_fs_probe" = "iso9660" ]; then
|
||||
loopback -d loop
|
||||
vt_iso9660_nojoliet 1
|
||||
@@ -623,8 +643,8 @@ function uefi_windows_menu_func {
|
||||
vt_windows_chain_data "${1}${chosen_path}"
|
||||
ventoy_debug_pause
|
||||
|
||||
if vt_check_mode 4 "$vt_chosen_name"; then
|
||||
vtoy_windows_wimboot_func
|
||||
if [ "$vt_cur_wimboot_mode" = "1" ]; then
|
||||
vtoy_wimboot_func
|
||||
fi
|
||||
|
||||
if [ -n "$vtoy_chain_mem_addr" ]; then
|
||||
@@ -770,7 +790,7 @@ function uefi_linux_menu_func {
|
||||
|
||||
vt_linux_chain_data "${1}${chosen_path}"
|
||||
|
||||
if [ -n "$LoadIsoEfiDriver" -a $vt_chosen_size -lt 104857600 ]; then
|
||||
if [ -n "$LoadIsoEfiDriver" -a $vt_chosen_size -LT 104857600 ]; then
|
||||
if [ -f (loop)/efi/clover/cloverx64.efi ]; then
|
||||
unset LoadIsoEfiDriver
|
||||
fi
|
||||
@@ -783,6 +803,10 @@ function uefi_linux_menu_func {
|
||||
unset vtGrub2Mode
|
||||
if vt_check_mode 3 "$vt_chosen_name"; then
|
||||
set vtGrub2Mode=1
|
||||
elif vt_str_begin "$vt_volume_id" "HOLO_"; then
|
||||
if [ -d (loop)/loader/entries ]; then
|
||||
set vtGrub2Mode=1
|
||||
fi
|
||||
elif vt_str_begin "$vt_volume_id" "KRD"; then
|
||||
if [ -f (loop)/boot/grub/grub.cfg.sig ]; then
|
||||
set vtGrub2Mode=1
|
||||
@@ -816,6 +840,25 @@ function uefi_linux_menu_func {
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [ $vtback_cfg_find -eq 0 ]; then
|
||||
if [ -f (loop)/loader/loader.conf -a -d (loop)/loader/entries ]; then
|
||||
if vt_str_begin "$vt_volume_id" "HOLO_"; then
|
||||
set root=(loop,2)
|
||||
vt_systemd_menu (loop,2) vt_sys_menu_mem
|
||||
else
|
||||
vt_systemd_menu (loop) vt_sys_menu_mem
|
||||
fi
|
||||
set vtback_cfg_find=1
|
||||
configfile "mem:${vt_sys_menu_mem_addr}:size:${vt_sys_menu_mem_size}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ $vtback_cfg_find -eq 0 ]; then
|
||||
if [ -f (loop)/boot/isolinux/syslnx64.cfg ]; then
|
||||
syslinux_configfile (loop)/boot/isolinux/syslnx64.cfg
|
||||
set vtback_cfg_find=1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$vtback_cfg_find" = "0" ]; then
|
||||
echo " "
|
||||
@@ -912,6 +955,15 @@ 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
|
||||
@@ -929,6 +981,7 @@ function uefi_iso_menu_func {
|
||||
fi
|
||||
|
||||
ventoy_gui_console
|
||||
vt_secondary_recover_mode
|
||||
}
|
||||
|
||||
function uefi_iso_memdisk {
|
||||
@@ -942,8 +995,7 @@ function uefi_iso_memdisk {
|
||||
ventoy_gui_console
|
||||
}
|
||||
|
||||
|
||||
function vtoy_windows_wimboot_func {
|
||||
function vtoy_windows_wimboot {
|
||||
if [ -f (loop)/x86/sources/boot.wim -a -f (loop)/x64/sources/boot.wim ]; then
|
||||
vt_sel_wimboot vtoy_wimboot_bit
|
||||
if [ "$vtoy_wimboot_bit" = "32" ]; then
|
||||
@@ -961,43 +1013,24 @@ function vtoy_windows_wimboot_func {
|
||||
fi
|
||||
|
||||
if [ -n "${vtdebug_flag}" ]; then
|
||||
echo vtoy_wimboot_prefix=$vtoy_wimboot_prefix vtoy_wimboot_bit=$vtoy_wimboot_bit
|
||||
echo vtoy_wimboot_prefix=$vtoy_wimboot_prefix vtoy_wimboot_bit=$vtoy_wimboot_bit vt_wimkernel=$vt_wimkernel
|
||||
fi
|
||||
|
||||
for wmfile in sources/boot.wim boot/bcd boot/boot.sdi; do
|
||||
if [ ! -f $vtoy_wimboot_prefix/$wmfile ]; then
|
||||
return
|
||||
fi
|
||||
done
|
||||
|
||||
if [ -f $vtoy_wimboot_prefix/sources/install.wim -o -f $vtoy_wimboot_prefix/sources/install.esd ]; then
|
||||
vt_windows_wimboot_data
|
||||
else
|
||||
return
|
||||
fi
|
||||
vt_windows_wimboot_data "$vtoy_wimboot_prefix/sources/boot.wim" vtoy_init_exe vtoy_wim_bit
|
||||
|
||||
if [ "$grub_platform" = "pc" ]; then
|
||||
set vt_wimkernel=wimboot.x86_64.xz
|
||||
|
||||
linux16 "$vtoy_path/$vt_wimkernel" quiet
|
||||
ventoy_debug_pause
|
||||
|
||||
vt_set_wim_load_prompt 1 "Loading files......"
|
||||
initrd16 newc:vtoyjump.exe:$vtoy_path/vtoyjump${vtoy_wimboot_bit}.exe \
|
||||
newc:wimboot.data:mem:${vtoy_wimboot_mem_addr}:size:${vtoy_wimboot_mem_size} \
|
||||
newc:winpeshl.ini:mem:${vtoy_winpeshl_ini_addr}:size:${vtoy_winpeshl_ini_size} \
|
||||
initrd16 newc:winpeshl.exe:mem:${vtoy_wimboot_mem_addr}:size:${vtoy_wimboot_mem_size} \
|
||||
newc:vtoy_wimboot:$vtoy_wimboot_prefix/boot/bcd \
|
||||
newc:bcd:$vtoy_wimboot_prefix/boot/bcd \
|
||||
newc:boot.sdi:$vtoy_wimboot_prefix/boot/boot.sdi \
|
||||
newc:boot.wim:$vtoy_wimboot_prefix/sources/boot.wim
|
||||
vt_set_wim_load_prompt 0
|
||||
boot
|
||||
else
|
||||
if [ "$grub_cpu" = "i386" ]; then
|
||||
set vt_wimkernel=wimboot.i386.efi.xz
|
||||
else
|
||||
set vt_wimkernel=wimboot.x86_64.xz
|
||||
fi
|
||||
|
||||
vt_set_wim_load_prompt 1 "Loading files......"
|
||||
vt_load_file_to_mem "nodecompress" $vtoy_wimboot_prefix/sources/boot.wim vtoy_wimfile_mem
|
||||
vt_set_wim_load_prompt 0
|
||||
@@ -1010,9 +1043,8 @@ function vtoy_windows_wimboot_func {
|
||||
|
||||
ventoy_cli_console
|
||||
chainloader "$vtoy_path/$vt_wimkernel" quiet \
|
||||
"vf=wimboot.data:mem:${vtoy_wimboot_mem_addr}:size:${vtoy_wimboot_mem_size}" \
|
||||
"vf=winpeshl.ini:mem:${vtoy_winpeshl_ini_addr}:size:${vtoy_winpeshl_ini_size}" \
|
||||
"vf=vtoyjump.exe:$vtoy_path/vtoyjump${vtoy_wimboot_bit}.exe" \
|
||||
"vf=winpeshl.exe:mem:${vtoy_wimboot_mem_addr}:size:${vtoy_wimboot_mem_size}" \
|
||||
"vf=vtoy_wimboot:$vtoy_wimboot_prefix/boot/bcd" \
|
||||
"vf=bcd:$vtoy_wimboot_prefix/boot/bcd" \
|
||||
"vf=boot.sdi:$vtoy_wimboot_prefix/boot/boot.sdi" \
|
||||
"vf=boot.wim:$vtoy_wimfile_path" \
|
||||
@@ -1023,11 +1055,125 @@ function vtoy_windows_wimboot_func {
|
||||
fi
|
||||
}
|
||||
|
||||
function vtoy_winpe_wimboot {
|
||||
unset vtoy_boot_sdi_legacy
|
||||
unset vtoy_boot_sdi_efi
|
||||
|
||||
set vtoy_wimboot_prefix=(loop)
|
||||
set vtoy_wim_path="$1"
|
||||
|
||||
if [ -n "${vtdebug_flag}" ]; then
|
||||
echo "winpe_wimboot $1 $2 $3"
|
||||
fi
|
||||
|
||||
if [ "$2" != "0" ]; then
|
||||
set vtoy_boot_sdi_legacy="newc:boot.sdi:$vtoy_wimboot_prefix/$2"
|
||||
set vtoy_boot_sdi_efi="vf=boot.sdi:$vtoy_wimboot_prefix/$2"
|
||||
fi
|
||||
|
||||
vt_windows_wimboot_data $vtoy_wimboot_prefix/$vtoy_wim_path vtoy_init_exe vtoy_wim_bit
|
||||
|
||||
if [ "$grub_platform" = "pc" ]; then
|
||||
linux16 "$vtoy_path/$vt_wimkernel" quiet
|
||||
ventoy_debug_pause
|
||||
|
||||
vt_set_wim_load_prompt 1 "Loading files......"
|
||||
initrd16 newc:$vtoy_init_exe:mem:${vtoy_wimboot_mem_addr}:size:${vtoy_wimboot_mem_size} \
|
||||
newc:vtoy_wimboot:$vtoy_path/$vt_wimkernel \
|
||||
newc:bootmgr.exe:mem:${vtoy_pe_bootmgr_mem_addr}:size:${vtoy_pe_bootmgr_mem_size} \
|
||||
newc:bcd:mem:${vtoy_pe_bcd_mem_addr}:size:${vtoy_pe_bcd_mem_size} \
|
||||
$vtoy_boot_sdi_legacy \
|
||||
newc:boot.wim:$vtoy_wimboot_prefix/$vtoy_wim_path
|
||||
vt_set_wim_load_prompt 0
|
||||
boot
|
||||
else
|
||||
if [ "$VTOY_EFI_ARCH" = "x64" -a "$vtoy_wim_bit" = "32" ]; then
|
||||
echo -e "\nThis is 32bit Windows and does NOT support x86_64 UEFI firmware.\n"
|
||||
echo -e "这是32位的 Windows 系统,不支持当前的64位 UEFI 环境。\n"
|
||||
fi
|
||||
|
||||
vt_set_wim_load_prompt 1 "Loading files......"
|
||||
vt_load_file_to_mem "nodecompress" $vtoy_wimboot_prefix/$vtoy_wim_path vtoy_wimfile_mem
|
||||
vt_set_wim_load_prompt 0
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
set vtoy_wimfile_path=mem:${vtoy_wimfile_mem_addr}:size:${vtoy_wimfile_mem_size}
|
||||
else
|
||||
set vtoy_wimfile_path=$vtoy_wimboot_prefix/$vtoy_wim_path
|
||||
fi
|
||||
|
||||
unset vtoy_boot_efi_path
|
||||
if [ -F (loop)/efi/boot/boot${VTOY_EFI_ARCH}.efi ]; then
|
||||
set vtoy_boot_efi_path="vf=bootx64.efi:(loop)/efi/boot/boot${VTOY_EFI_ARCH}.efi"
|
||||
fi
|
||||
|
||||
ventoy_cli_console
|
||||
chainloader "$vtoy_path/$vt_wimkernel" quiet \
|
||||
"vf=$vtoy_init_exe:mem:${vtoy_wimboot_mem_addr}:size:${vtoy_wimboot_mem_size}" \
|
||||
"vf=vtoy_wimboot:$vtoy_path/$vt_wimkernel" \
|
||||
"vf=bcd:mem:${vtoy_pe_bcd_mem_addr}:size:${vtoy_pe_bcd_mem_size}" \
|
||||
"$vtoy_boot_sdi_efi" \
|
||||
"$vtoy_boot_efi_path" \
|
||||
"vf=boot.wim:$vtoy_wimfile_path" \
|
||||
pfsize=$vtoy_chain_file_size \
|
||||
pfread=$vtoy_chain_file_read
|
||||
boot
|
||||
ventoy_gui_console
|
||||
fi
|
||||
}
|
||||
|
||||
function vtoy_wimboot_func {
|
||||
if [ "$grub_platform" = "pc" ]; then
|
||||
set vt_wimkernel=wimboot.x86_64.xz
|
||||
else
|
||||
if [ "$grub_cpu" = "i386" ]; then
|
||||
set vt_wimkernel=wimboot.i386.efi.xz
|
||||
else
|
||||
set vt_wimkernel=wimboot.x86_64.xz
|
||||
fi
|
||||
fi
|
||||
|
||||
if vt_is_standard_winiso (loop); then
|
||||
echo -e "\n==================== VENTOY WIMBOOT ==================\n"
|
||||
vtoy_windows_wimboot
|
||||
else
|
||||
vt_sel_winpe_wim (loop)
|
||||
if [ -n "$vtoy_pe_wim_path" ]; then
|
||||
echo -e "\n==================== VENTOY WIMBOOT ==================\n"
|
||||
|
||||
vt_fs_ignore_case 1
|
||||
vt_load_file_to_mem "auto" $vtoy_path/common_bcd.xz vtoy_pe_bcd_mem
|
||||
|
||||
set vt_sdi_path=0
|
||||
for vsdi in "boot/boot.sdi" "2K10/FONTS/boot.sdi" "SSTR/boot.sdi" "ISPE/BOOT.SDI" \
|
||||
"boot/uqi.sdi" "ISYL/boot.sdi" "WEPE/WEPE.SDI" ; do
|
||||
if [ -F "(loop)/$vsdi" ]; then
|
||||
set vt_sdi_path=$vsdi
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "$grub_platform" = "pc" ]; then
|
||||
vt_load_file_to_mem "auto" $vtoy_path/common_bootmgr.xz vtoy_pe_bootmgr_mem
|
||||
vtoy_winpe_wimboot "$vtoy_pe_wim_path" "$vt_sdi_path" 1
|
||||
else
|
||||
vtoy_winpe_wimboot "$vtoy_pe_wim_path" "$vt_sdi_path" 0
|
||||
fi
|
||||
|
||||
vt_fs_ignore_case 0
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
function legacy_windows_menu_func {
|
||||
vt_windows_reset
|
||||
|
||||
if [ "$ventoy_compatible" = "NO" ]; then
|
||||
unset vt_cur_wimboot_mode
|
||||
if vt_check_mode 4 "$vt_chosen_name"; then
|
||||
set vt_cur_wimboot_mode=1
|
||||
fi
|
||||
|
||||
if [ "$ventoy_compatible" = "NO" -o "$vt_cur_wimboot_mode" = "1" ]; then
|
||||
if [ "$ventoy_fs_probe" = "iso9660" ]; then
|
||||
loopback -d loop
|
||||
vt_iso9660_nojoliet 1
|
||||
@@ -1046,14 +1192,16 @@ function legacy_windows_menu_func {
|
||||
fi
|
||||
|
||||
ventoy_debug_pause
|
||||
if [ -z "$vt_cur_wimboot_mode" ]; then
|
||||
locate_wim "${chosen_path}"
|
||||
fi
|
||||
fi
|
||||
|
||||
vt_windows_chain_data "${1}${chosen_path}"
|
||||
ventoy_debug_pause
|
||||
|
||||
if vt_check_mode 4 "$vt_chosen_name"; then
|
||||
vtoy_windows_wimboot_func
|
||||
if [ "$vt_cur_wimboot_mode" = "1" ]; then
|
||||
vtoy_wimboot_func
|
||||
fi
|
||||
|
||||
if [ -n "$vtoy_chain_mem_addr" ]; then
|
||||
@@ -1135,7 +1283,16 @@ function legacy_linux_menu_func {
|
||||
ventoy_debug_pause
|
||||
|
||||
if [ -n "$vtoy_chain_mem_addr" ]; then
|
||||
unset vtGrub2Mode
|
||||
if vt_check_mode 3 "$vt_chosen_name"; then
|
||||
set vtGrub2Mode=1
|
||||
elif vt_str_begin "$vt_volume_id" "HOLO_"; then
|
||||
if [ -d (loop)/loader/entries ]; then
|
||||
set vtGrub2Mode=1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -n "$vtGrub2Mode" ]; then
|
||||
ventoy_acpi_param ${vtoy_chain_mem_addr} 2048
|
||||
ventoy_cli_console
|
||||
|
||||
@@ -1157,6 +1314,25 @@ function legacy_linux_menu_func {
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [ $vtback_cfg_find -eq 0 ]; then
|
||||
if [ -f (loop)/loader/loader.conf -a -d (loop)/loader/entries ]; then
|
||||
if vt_str_begin "$vt_volume_id" "HOLO_"; then
|
||||
set root=(loop,2)
|
||||
vt_systemd_menu (loop,2) vt_sys_menu_mem
|
||||
else
|
||||
vt_systemd_menu (loop) vt_sys_menu_mem
|
||||
fi
|
||||
set vtback_cfg_find=1
|
||||
configfile "mem:${vt_sys_menu_mem_addr}:size:${vt_sys_menu_mem_size}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ $vtback_cfg_find -eq 0 ]; then
|
||||
if [ -f (loop)/boot/isolinux/syslnx64.cfg ]; then
|
||||
syslinux_configfile (loop)/boot/isolinux/syslnx64.cfg
|
||||
set vtback_cfg_find=1
|
||||
fi
|
||||
fi
|
||||
|
||||
vt_unset_boot_opt
|
||||
set root=$vtback_root
|
||||
@@ -1220,6 +1396,15 @@ 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
|
||||
@@ -1235,6 +1420,7 @@ function legacy_iso_menu_func {
|
||||
vt_check_compatible_linux (loop)
|
||||
legacy_linux_menu_func "$1" "${chosen_path}"
|
||||
fi
|
||||
vt_secondary_recover_mode
|
||||
}
|
||||
|
||||
function legacy_iso_memdisk {
|
||||
@@ -1309,13 +1495,13 @@ function iso_common_menuentry {
|
||||
vt_chosen_img_path vt_chosen_path vt_chosen_size vt_chosen_name
|
||||
|
||||
vt_parse_iso_volume "${vtoy_iso_part}${vt_chosen_path}" vt_system_id vt_volume_id vt_volume_space
|
||||
if [ $vt_volume_space -ne $vt_chosen_size ]; then
|
||||
if [ $vt_volume_space -NE $vt_chosen_size ]; then
|
||||
vt_mod $vt_chosen_size 2048 vt_chosen_size_mod
|
||||
if [ $vt_chosen_size_mod -ne 0 ]; then
|
||||
echo -e "\n $vt_volume_space $vt_chosen_size $vt_chosen_size_mod\n"
|
||||
echo -e "\n The size of the iso file \"$vt_chosen_size\" is invalid. File corrupted ?\n"
|
||||
echo -e " 此ISO文件的大小 \"$vt_chosen_size\" 有问题,请确认文件是否损坏。\n"
|
||||
echo -e "\n press ENTER to continue (请按 回车 键继续) ..."
|
||||
echo -v "VTMENU_ENTER_CONTINUE ..."
|
||||
read vtInputKey
|
||||
fi
|
||||
fi
|
||||
@@ -1357,7 +1543,7 @@ function iso_common_menuentry {
|
||||
fi
|
||||
|
||||
#For iKuai8 (<64MB)
|
||||
if [ $vt_chosen_size -le 67108864 ]; then
|
||||
if [ $vt_chosen_size -LE 67108864 ]; then
|
||||
if vt_str_begin "$vt_chosen_name" "iKuai"; then
|
||||
set vtMemDiskBoot=1
|
||||
fi
|
||||
@@ -1403,7 +1589,7 @@ function miso_common_menuentry {
|
||||
function common_unsupport_menuentry {
|
||||
echo -e "\n The name of the iso file could NOT contain space or non-ascii characters. \n"
|
||||
echo -e " 文件名中不能有中文或空格 \n"
|
||||
echo -e "\npress ENTER to exit (请按 回车 键返回) ..."
|
||||
echo -V "VTMENU_ENTER_EXIT ..."
|
||||
read vtInputKey
|
||||
}
|
||||
|
||||
@@ -1550,7 +1736,7 @@ function vhd_common_menuentry {
|
||||
echo -e "!!! WARNING !!!\n"
|
||||
echo -e "\nPartition1 ($vtoy_iso_fs) is NOT ntfs, the VHD(x) file may not boot normally \n"
|
||||
echo -e "\nVHD(x) 文件所在分区不是 ntfs 格式, 可能无法正常启动 \n\n"
|
||||
echo -n "press ENTER to continue boot (请按 回车 键继续) ..."
|
||||
echo -vn "VTMENU_ENTER_CONTINUE ..."
|
||||
read vtInputKey
|
||||
fi
|
||||
fi
|
||||
@@ -1659,7 +1845,7 @@ function vtoy_unsupport_menuentry {
|
||||
|
||||
function only_uefi_tip {
|
||||
echo -e "\n This IMG file is only supported in UEFI mode. \n"
|
||||
echo -e "\n press ENTER to exit ..."
|
||||
echo -V "VTMENU_ENTER_EXIT ..."
|
||||
read vtInputKey
|
||||
}
|
||||
|
||||
@@ -1691,6 +1877,41 @@ function ventoy_img_easyos {
|
||||
loopback -d easysfs
|
||||
}
|
||||
|
||||
function ventoy_img_easyos2 {
|
||||
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
|
||||
|
||||
if [ -e (vtimghd,2)/easyos/easy.sfs ]; then
|
||||
loopback easysfs (vtimghd,2)/easyos/easy.sfs
|
||||
elif [ -d (vtimghd,2)/easyos/releases ]; then
|
||||
vt_fs_enum_1st_dir (vtimghd,2) /easyos/releases/ vt_dir_name
|
||||
loopback easysfs (vtimghd,2)/easyos/releases/$vt_dir_name/easy.sfs
|
||||
fi
|
||||
|
||||
vt_get_lib_module_ver (easysfs) /lib/modules/ vt_module_ver
|
||||
|
||||
if [ -n "$vt_module_ver" ]; then
|
||||
for mod in "kernel/drivers/md/dm-mod.ko" "kernel/drivers/dax/dax.ko"; do
|
||||
if [ -e (easysfs)/lib/modules/$vt_module_ver/$mod ]; then
|
||||
vt_img_extra_initrd_append (easysfs)/lib/modules/$vt_module_ver/$mod
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
ventoy_debug_pause
|
||||
|
||||
#boot image file
|
||||
vt_set_boot_opt rdinit=/vtoy/vtoy
|
||||
vt_img_hook_root
|
||||
|
||||
vt_limine_menu (vtimghd,1)/limine.cfg vt_sys_menu_mem
|
||||
configfile "mem:${vt_sys_menu_mem_addr}:size:${vt_sys_menu_mem_size}"
|
||||
|
||||
vt_img_unhook_root
|
||||
vt_unset_boot_opt
|
||||
loopback -d easysfs
|
||||
}
|
||||
|
||||
function ventoy_img_volumio {
|
||||
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
|
||||
@@ -1799,7 +2020,7 @@ function ventoy_img_ubos {
|
||||
}
|
||||
|
||||
function ventoy_img_recalbox {
|
||||
if [ $vtoy_img_max_part_end -gt $vt_chosen_size ]; then
|
||||
if [ $vtoy_img_max_part_end -GT $vt_chosen_size ]; then
|
||||
echo -e "\nPlease extend the img file size before boot it. \n"
|
||||
ventoy_pause
|
||||
return
|
||||
@@ -1882,7 +2103,7 @@ function ventoy_img_openwrt {
|
||||
ventoy_gui_console
|
||||
echo -e "\n ventoy_openwrt.xz not found. Please refer https://www.ventoy.net/en/doc_openwrt.html.\n"
|
||||
echo -e " 未找到 ventoy_openwrt.xz 文件。请参考 https://www.ventoy.net/cn/doc_openwrt.html\n"
|
||||
echo -e "\n press ENTER to exit (请按 回车 键返回) ..."
|
||||
echo -V "VTMENU_ENTER_EXIT ..."
|
||||
read vtInputKey
|
||||
ventoy_cli_console
|
||||
return
|
||||
@@ -2014,7 +2235,7 @@ function ventoy_img_memtest86 {
|
||||
function img_unsupport_tip {
|
||||
echo -e "\n This IMG file is NOT supported now. \n"
|
||||
echo -e " 当前不支持启动此 IMG 文件 \n"
|
||||
echo -e "\npress ENTER to exit (请按 回车 键返回) ..."
|
||||
echo -V "VTMENU_ENTER_EXIT ..."
|
||||
read vtInputKey
|
||||
}
|
||||
|
||||
@@ -2078,11 +2299,15 @@ function img_common_menuentry {
|
||||
if vt_str_begin "$vtImgHd3Label" "ROOT-"; then
|
||||
if [ -f (vtimghd,3)/etc/os-release.d/ID ]; then
|
||||
vt_1st_line (vtimghd,3)/etc/os-release.d/ID vt_release_line1
|
||||
if [ vt_str_begin "$vt_release_line1" "FydeOS" ]; then
|
||||
if vt_str_begin "$vt_release_line1" "FydeOS"; then
|
||||
ventoy_img_fydeos
|
||||
else
|
||||
ventoy_img_cloudready
|
||||
fi
|
||||
elif [ -f (vtimghd,3)/etc/cloudready-release ]; then
|
||||
ventoy_img_cloudready
|
||||
elif [ -f (vtimghd,3)/etc/chrome_dev.conf ]; then
|
||||
ventoy_img_cloudready
|
||||
fi
|
||||
elif vt_str_begin "$vtImgHd1Label" "LAKKA"; then
|
||||
ventoy_img_openelec lakka
|
||||
@@ -2102,19 +2327,22 @@ function img_common_menuentry {
|
||||
ventoy_img_esysrescue
|
||||
elif [ -e (vtimghd,1)/easy.sfs ]; then
|
||||
ventoy_img_easyos
|
||||
elif [ -d (vtimghd,2)/easyos ]; then
|
||||
ventoy_img_easyos2
|
||||
elif [ -e (vtimghd,1)/volumio.initrd ]; then
|
||||
ventoy_img_volumio
|
||||
elif [ -f (vtimghd,2)/loader/entries/ubos.conf ]; then
|
||||
ventoy_img_ubos
|
||||
elif [ -f (vtimghd,2)/etc/openwrt_version ]; then
|
||||
ventoy_img_openwrt
|
||||
elif [ -f (vtimghd,1)/efi/boot/mt86.png ]; then
|
||||
else
|
||||
if [ -f (vtimghd,1)/efi/boot/mt86.png ]; then
|
||||
if [ "$grub_platform" = "pc" ]; then
|
||||
img_unsupport_tip
|
||||
else
|
||||
ventoy_img_memtest86
|
||||
fi
|
||||
else
|
||||
fi
|
||||
|
||||
#common chain
|
||||
vt_linux_chain_data "${vtoy_iso_part}${vt_chosen_path}"
|
||||
ventoy_acpi_param ${vtoy_chain_mem_addr} 512
|
||||
if [ "$grub_platform" = "pc" ]; then
|
||||
@@ -2139,6 +2367,28 @@ function img_unsupport_menuentry {
|
||||
common_unsupport_menuentry
|
||||
}
|
||||
|
||||
function mimg_common_menuentry {
|
||||
vt_chosen_img_path vt_chosen_path vt_chosen_size vt_chosen_name
|
||||
|
||||
if vt_check_password "${vt_chosen_path}"; then
|
||||
return
|
||||
fi
|
||||
|
||||
echo "memdisk mode boot for $vt_chosen_path"
|
||||
echo ""
|
||||
ventoy_debug_pause
|
||||
|
||||
if [ "$grub_platform" = "pc" ]; then
|
||||
legacy_img_memdisk $vtoy_iso_part "$vt_chosen_path"
|
||||
else
|
||||
vt_load_img_memdisk "$vtoy_iso_part$vt_chosen_path" vtoy_img_buf
|
||||
ventoy_cli_console
|
||||
chainloader ${vtoy_path}/ventoy_${VTOY_EFI_ARCH}.efi memdisk env_param=${env_param} isoefi=${LoadIsoEfiDriver} ${vtdebug_flag} mem:${vtoy_img_buf_addr}:size:${vtoy_img_buf_size}
|
||||
boot
|
||||
ventoy_gui_console
|
||||
fi
|
||||
}
|
||||
|
||||
#############################################################
|
||||
#############################################################
|
||||
#############################################################
|
||||
@@ -2147,7 +2397,7 @@ function img_unsupport_menuentry {
|
||||
#############################################################
|
||||
#############################################################
|
||||
|
||||
set VENTOY_VERSION="1.0.79"
|
||||
set VENTOY_VERSION="1.0.85"
|
||||
|
||||
#ACPI not compatible with Window7/8, so disable by default
|
||||
set VTOY_PARAM_NO_ACPI=1
|
||||
@@ -2171,6 +2421,7 @@ set VTOY_HELP_CMD="ventoy_show_help"
|
||||
set VTOY_CHKSUM_CMD="ventoy_checksum"
|
||||
set VTOY_HELP_TXT_LANGUAGE="en_US"
|
||||
set VTOY_CHKSUM_FILE_PATH="X"
|
||||
set VTOY_LANG_CMD="ventoy_language"
|
||||
|
||||
|
||||
if [ "$grub_platform" = "pc" ]; then
|
||||
@@ -2205,6 +2456,11 @@ if [ "$vtoy_dev" = "tftp" ]; then
|
||||
done
|
||||
loadfont ascii
|
||||
|
||||
if [ -n "$vtoy_efi_part" ]; then
|
||||
vt_load_file_to_mem "auto" $vtoy_efi_part/grub/fonts/unicode.pf2 vtoy_font_mem
|
||||
loadfont mem:${vtoy_font_mem_addr}:size:${vtoy_font_mem_size}
|
||||
fi
|
||||
|
||||
if [ -f $vtoy_iso_part/ventoy/ventoy.json ]; then
|
||||
set vt_plugin_path=$vtoy_iso_part
|
||||
else
|
||||
@@ -2231,6 +2487,9 @@ fi
|
||||
#Load Partition Table
|
||||
vt_load_part_table $vtoydev
|
||||
|
||||
#Load menu lang file
|
||||
ventoy_load_menu_lang_file
|
||||
|
||||
#Load Plugin
|
||||
if [ -f $vtoy_iso_part/ventoy/ventoy.json ]; then
|
||||
clear
|
||||
@@ -2240,6 +2499,12 @@ else
|
||||
vt_check_json_path_case $vtoy_iso_part
|
||||
fi
|
||||
|
||||
if [ -n "$VTOY_MENU_LANGUAGE" ]; then
|
||||
vt_init_menu_lang "$VTOY_MENU_LANGUAGE"
|
||||
else
|
||||
vt_init_menu_lang en_US
|
||||
fi
|
||||
|
||||
if [ -n "$VTOY_MENU_TIMEOUT" ]; then
|
||||
set timeout=$VTOY_MENU_TIMEOUT
|
||||
else
|
||||
@@ -2261,10 +2526,8 @@ fi
|
||||
|
||||
if [ $VTOY_DEFAULT_MENU_MODE -eq 0 ]; then
|
||||
set VTOY_F3_CMD="vt_dynamic_menu 1 1"
|
||||
set VTOY_HOTKEY_TIP="h:Help F1:Memdisk F2:Browser F3:TreeView F4:Localboot F5:Tools F6:ExMenu"
|
||||
else
|
||||
set VTOY_F3_CMD="vt_dynamic_menu 1 0"
|
||||
set VTOY_HOTKEY_TIP="h:Help F1:Memdisk F2:Browser F3:ListView F4:Localboot F5:Tools F6:ExMenu"
|
||||
fi
|
||||
|
||||
terminal_output console
|
||||
@@ -2373,6 +2636,7 @@ export VTOY_HELP_CMD
|
||||
export VTOY_CHKSUM_CMD
|
||||
export VTOY_HELP_TXT_LANGUAGE
|
||||
export VTOY_CHKSUM_FILE_PATH
|
||||
export VTOY_LANG_CMD
|
||||
|
||||
|
||||
#colect all image files (iso files)
|
||||
|
18
INSTALL/grub/help/ar_AR.txt
Normal file
18
INSTALL/grub/help/ar_AR.txt
Normal file
@@ -0,0 +1,18 @@
|
||||
L - اختيار اللغة
|
||||
F1 - عرض معلومات المساعدة
|
||||
F2 - استعراض وتشغيل الملفات في القرص المحلي
|
||||
F3 - تبديل وضع القائمة بين Treeview <-> ListView
|
||||
F4 - تشغيل ويندوز / لينكس على القرص المحلي
|
||||
F5 - الأدوات المساعده
|
||||
F6 - تحميل قائمة Grub2 المخصصة
|
||||
F7 - التبديل بين وضع الواجهة الرسومية <-> وضع النص
|
||||
|
||||
m / Ctrl + m - تحقق من صحة الملفات الصور (md5 / sha1 / sha256 / sha512)
|
||||
d / Ctrl + d - وضع Memdisk (فقط للصغير WinPE / LiveCD ISO / IMG)
|
||||
w / Ctrl + w - وضع WIMBOOT (فقط للويندوز القياسي ISO)
|
||||
r / Ctrl + r - وضع Grub2 (يدعم بعض توزيعات لينكس)
|
||||
i / Ctrl + i - وضع متوافق (فقط للتدقيق)
|
||||
u / Ctrl + u - تحميل برنامج التشغيل EFI ISO (فقط للتدقيق، غير مستخدم رسمي)
|
||||
|
||||
|
||||
اضغط على ESC للعودة ......
|
19
INSTALL/grub/help/bn_BN.txt
Normal file
19
INSTALL/grub/help/bn_BN.txt
Normal file
@@ -0,0 +1,19 @@
|
||||
L - ভাষা নির্বাচন করুন
|
||||
F1 - এই সাহায্য তথ্য প্রদর্শন করুন
|
||||
F2 - স্থানীয় ডিস্কে ফাইলটি browse করুন এবং boot করুন
|
||||
F3 - Treeview <-> ListView এর মধ্যে মেনু মোড পরিবর্তন করুন
|
||||
F4 - স্থানীয় ডিস্কে Windows/Linux boot করুন
|
||||
F5 - ইউটিলিটিস
|
||||
F6 - কাস্টম Grub2 মেনু লোড করুন
|
||||
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 জন্য)
|
||||
r/Ctrl+r - Grub2 মোড (শুধুমাত্র কিছু Linux distro জন্য)
|
||||
i/Ctrl+i - Compatible মোড (শুধুমাত্র debug জন্য)
|
||||
u/Ctrl+u - ISO efi ড্রাইভার লোড করুন (শুধুমাত্র debug জন্য, সরকারীভাবে ব্যবহার করা যাবে না)
|
||||
|
||||
|
||||
|
||||
ফিরে আসতে ESC টিপুন ......
|
@@ -1,18 +1,19 @@
|
||||
h - Zeigt dieses Hilfe Menu
|
||||
F1 - Memdisk Modus (Nur für kleine WinPE/LiveCD ISO/IMG)
|
||||
F2 - Browse and boot files in local disk
|
||||
F3 - Menu wechsel zwischen Baum <-> Listen Ansicht
|
||||
F4 - Windows/Linux vom lokalem Datenträger starten
|
||||
F5 - Dienstprogramme
|
||||
L - Sprache auswählen
|
||||
F1 - Zeigt dieses Hilfemenü
|
||||
F2 - Durchsuchen und starten von Dateien auf lokalem Datenträger
|
||||
F3 - Wechsel zwischen Baum-/Listenansicht
|
||||
F4 - Windows/Linux von lokalem Datenträger starten
|
||||
F5 - Werkzeuge
|
||||
F6 - Benutzerdefiniertes Grub2-Menü laden
|
||||
F7 - Wechseln zwischen GUI-Modus <-> TEXT-Modus
|
||||
F7 - Wechseln zwischen Grafik-/Text-Modus
|
||||
|
||||
m - Prüfsummencheck Image Dateien (md5/sha1/sha256/sha512)
|
||||
Ctrl+w - WIMBOOT Modus (Nur für Standard Windows ISO)
|
||||
Ctrl+r - Grub2 Modus (Nur für einige Linux distros)
|
||||
Ctrl+i - Kompatibilitäts Modus (Nur für Fehleranalyse)
|
||||
Ctrl+u - Lade ISO efi Treiber (Nur für Fehleranalyse, darf nicht offiziel benutzt werden)
|
||||
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)
|
||||
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)
|
||||
|
||||
|
||||
|
||||
Drücke ESC für Zurück ......
|
||||
ESC für Zurück drücken......
|
||||
|
@@ -1,17 +1,18 @@
|
||||
h - Display this help information
|
||||
F1 - Memdisk Mode (Only for small WinPE/LiveCD ISO/IMG)
|
||||
F2 - Browse and boot files in local disk
|
||||
L - Language Select
|
||||
F1 - Display help information
|
||||
F2 - Browse and boot files in the local disk
|
||||
F3 - Switch menu mode between Treeview <-> ListView
|
||||
F4 - Boot Windows/Linux in local disk
|
||||
F4 - Boot Windows/Linux on the local disk
|
||||
F5 - Utilities
|
||||
F6 - Load Custom Grub2 Menu
|
||||
F7 - Switch between GUI Mode <-> TEXT Mode
|
||||
|
||||
m - Checksum image files (md5/sha1/sha256/sha512)
|
||||
Ctrl+w - WIMBOOT Mode (Only for standard Windows ISO)
|
||||
Ctrl+r - Grub2 Mode (Only for some Linux distros)
|
||||
Ctrl+i - Compatible Mode (Just only for debug)
|
||||
Ctrl+u - Load ISO efi driver (Just only for debug, can not be used officially)
|
||||
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)
|
||||
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)
|
||||
|
||||
|
||||
|
||||
|
@@ -1,16 +1,19 @@
|
||||
h - Afficher cette aide
|
||||
F1 - Mode Memdisk (Seulement pour WinPE/LiveCD ISO/IMG)
|
||||
F2 - Browse and boot files in local disk
|
||||
F3 - Basculer l'affichage 'Vue en arbre' <-> 'Vue en liste'
|
||||
F4 - Démarrer le système Windows/Linux local
|
||||
L - Sélection de la langue
|
||||
F1 - Afficher l’aide
|
||||
F2 - Démarrer à partir d’un disque local
|
||||
F3 - Basculer l’affichage Vue en arbre <-> Vue en liste
|
||||
F4 - Démarrer un système Windows ou Linux local
|
||||
F5 - Utilitaires
|
||||
F6 - Charger le menu Grub2 personnalisé
|
||||
F6 - Charger le menu GRUB 2 personnalisé
|
||||
F7 - Basculer entre le mode graphique <-> mode texte
|
||||
|
||||
m - Somme de contrôle des images (md5/sha1/sha256/sha512)
|
||||
Ctrl+w - Mode WIMBOOT (seulement pour les images standards Windows)
|
||||
Ctrl+r - Mode Grub2 (seulement pour quelques Linux)
|
||||
Ctrl+i - Mode Compatible (seulement à fins de tests)
|
||||
Ctrl+u - Load ISO efi driver (Just only for debug, can not be used officially)
|
||||
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)
|
||||
r/Ctrl+r - Mode GRUB 2 (pour quelques distributions Linux uniquement)
|
||||
i/Ctrl+i - Mode Compatible (pour débug uniquement)
|
||||
u/Ctrl+u - Charger l’ISO d’un pilote EFI (pour débug uniquement)
|
||||
|
||||
Appuyer sur Echap pour sortir ......
|
||||
|
||||
|
||||
Appuyer sur Echap pour sortir…
|
||||
|
19
INSTALL/grub/help/hi_HI.txt
Normal file
19
INSTALL/grub/help/hi_HI.txt
Normal file
@@ -0,0 +1,19 @@
|
||||
L - भाषा का चयन
|
||||
F1 - इस सहायता जानकारी को प्रदर्शित करें
|
||||
F2 - स्थानीय डिस्क में फ़ाइलें ब्राउज़ करें और बूट करें
|
||||
F3 - TreeView <-> ListView के बीच मेन्यू मोड स्विच करें
|
||||
F4 - स्थानीय डिस्क में Windows/Linux बूट करें
|
||||
F5 - यूटिलिटीज
|
||||
F6 - कस्टम Grub2 मेनू लोड करें
|
||||
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 के लिए)
|
||||
r/Ctrl+r - Grub2 मोड (केवल कुछ Linux distros के लिए)
|
||||
i/Ctrl+i - Compatible मोड (केवल डिबग के लिए)
|
||||
u/Ctrl+u - ISO efi ड्राइवर लोड करें (केवल debug के लिए, आधिकारिक तौर पर इस्तेमाल नहीं किया जा सकता)
|
||||
|
||||
|
||||
|
||||
वापस जाने के लिए ESC दबाएं ......
|
@@ -1,5 +1,5 @@
|
||||
h - Prikazuje ove informacije
|
||||
F1 - Memdisk način rada (samo za male WinPE/LiveCD imidž fajlove)
|
||||
L - Izaberite jezik
|
||||
F1 - Prikazuje ove informacije
|
||||
F2 - Pokreće imidž fajlove na lokalnom disku
|
||||
F3 - Mijenja meni između TreeView <-> ListView
|
||||
F4 - Pokreće Windows/Linux na lokalnom disku
|
||||
@@ -7,11 +7,12 @@ F5 - Alati
|
||||
F6 - Učitava prilagođen GRUB2 meni
|
||||
F7 - Mijenja između GUI <-> TEXT načina rada
|
||||
|
||||
m - Generira heš odabranog imidž fajla (md5/sha1/sha256/sha512)
|
||||
Ctrl+w - WIMBOOT način rada (samo za standardne Windows imidž fajlove)
|
||||
Ctrl+r - GRUB2 način rada (samo za neke Linux distribucije)
|
||||
Ctrl+i - Kompatibilni način rada (samo za testiranje)
|
||||
Ctrl+u - Učitava EFI drajver za imidž fajlove (samo za testiranje)
|
||||
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)
|
||||
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)
|
||||
|
||||
|
||||
|
||||
|
19
INSTALL/grub/help/hu_HU.txt
Normal file
19
INSTALL/grub/help/hu_HU.txt
Normal file
@@ -0,0 +1,19 @@
|
||||
L - Nyelv kiválasztása
|
||||
F1 - Jelenítse meg ezt a súgóinformációt
|
||||
F2 - A helyi lemezen lévő fájlok böngészése és indítása
|
||||
F3 - Menü mód váltása Fanézet <-> Listanézet között
|
||||
F4 - Windows/Linux indítása helyi lemezről
|
||||
F5 - Segédprogramok
|
||||
F6 - Egyéni Grub2 menü betöltése
|
||||
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)
|
||||
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ó.)
|
||||
|
||||
|
||||
|
||||
Nyomjon ESC-et a visszatéréshez ......
|
@@ -1,17 +1,18 @@
|
||||
h - Tampilkan bantuan informasi ini
|
||||
F1 - Mode Memdisk (Hanya untuk ukuran WinPE/LiveCD ISO/IMG yang kecil)
|
||||
F2 - Browse and boot files in local disk
|
||||
L - Pilih Bahasa
|
||||
F1 - Tampilkan bantuan informasi ini
|
||||
F2 - Jelajah dan jalankan boot berkas pada disk lokal
|
||||
F3 - Beralih mode menu antara Treeview <-> ListView
|
||||
F4 - Jalankan (boot) Windows/Linux pada disk lokal
|
||||
F4 - Jalankan boot ke Windows/Linux pada disk lokal
|
||||
F5 - Alat Utilitas
|
||||
F6 - Memuat ubah suai Grub2 Menu
|
||||
F7 - Beralih antara mode GUI <-> Mode TEXT
|
||||
|
||||
m - Periksa berkas files (md5/sha1/sha256/sha512)
|
||||
Ctrl+w - Mode WIMBOOT (Hanya untuk berkas ISO Windows standar)
|
||||
Ctrl+r - Mode Grub2 (Hanya untuk distro Linux tertentu)
|
||||
Ctrl+i - Mode Kompatibel/Compatible (Hanya untuk debug saja)
|
||||
Ctrl+u - Memuat ISO efi driver (Hanya untuk debug saja, tidak dapat dipakai secara umum)
|
||||
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)
|
||||
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)
|
||||
|
||||
|
||||
|
||||
|
@@ -1,5 +1,5 @@
|
||||
h - この画面を表示する
|
||||
F1 - 主記憶装置上に記憶域を作成する(容量の小さなWinPE・LiveCD専用)
|
||||
L - 言語を選択
|
||||
F1 - この画面を表示する
|
||||
F2 - 手元の記憶装置にある起動ファイルを選択して実行する
|
||||
F3 - 表示形式を切り替える(一覧 ↔ 階層)
|
||||
F4 - 手元の記憶装置にあるWindowsまたはLinuxを起動する
|
||||
@@ -7,11 +7,12 @@ F5 - 諸機能
|
||||
F6 - Grub2の構成を読み込む
|
||||
F7 - 操作形式を切り替える(GUI ↔ CUI)
|
||||
|
||||
m - イメージの検査合計を計算する (md5/sha1/sha256/sha512)
|
||||
Ctrl+w - WIMBOOTモード(標準的なWindows ISO専用)
|
||||
Ctrl+r - Grub2モード(一部のLinuxディストリビューション専用)
|
||||
Ctrl+i - 互換モード(開発用)
|
||||
Ctrl+u - ISO efiドライバーを読み取る(開発用,非公式)
|
||||
m/Ctrl+m - イメージの検査合計を計算する (md5/sha1/sha256/sha512)
|
||||
d/Ctrl+d - 主記憶装置上に記憶域を作成する(容量の小さなWinPE・LiveCD専用)
|
||||
w/Ctrl+w - WIMBOOTモード(標準的なWindows ISO専用)
|
||||
r/Ctrl+r - Grub2モード(一部のLinuxディストリビューション専用)
|
||||
i/Ctrl+i - 互換モード(開発用)
|
||||
u/Ctrl+u - ISO efiドライバーを読み取る(開発用,非公式)
|
||||
|
||||
|
||||
|
||||
|
19
INSTALL/grub/help/ka_GE.txt
Normal file
19
INSTALL/grub/help/ka_GE.txt
Normal file
@@ -0,0 +1,19 @@
|
||||
L - ინტერფეისის ენის არჩევა
|
||||
F1 - დამხმარე ინფორმაციის ჩვენება
|
||||
F2 - ლოკალური დისკის ფაილების დათვალიერება და ჩატვირთვა
|
||||
F3 - ჩვენების რეჟიმებს შორის გადართვა 'ხის ხედი' <-> 'სიის ხედი'
|
||||
F4 - ლოკალური დისკიდან Windows/Linux-ის ჩატვირთვა
|
||||
F5 - ხელსაწყოები
|
||||
F6 - მომხმარებლის მიერ შექმნილი Grub2 მენიუს ჩატვირთვა
|
||||
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 დრაივერის ჩატვირთვა (განკუთვნილია მხოლოდ გამართვისთვის, დაუშვებელია ოფიციალური გამოყენება)
|
||||
|
||||
|
||||
|
||||
დააჭირეთ ESC დაბრუნებისთვის ......
|
@@ -1,17 +1,18 @@
|
||||
h - 이 도움말 정보 표시
|
||||
F1 - Memdisk 모드 (작은 WinPE/LiveCD ISO/IMG 전용)
|
||||
F2 - 로컬 디스크에서 파일 찾아보기 및 부팅
|
||||
L - 언어 선택
|
||||
F1 - 이 도움말 정보 표시
|
||||
F2 - 로컬 디스크에서 파일 찾아보기 및 부트
|
||||
F3 - 트리보기 <-> 목록보기 간에 메뉴 모드 전환
|
||||
F4 - 로컬 디스크에서 Windows/Linux 부팅
|
||||
F4 - 로컬 디스크에서 Windows/Linux 부트
|
||||
F5 - 유틸리티
|
||||
F6 - 사용자 지정 Grub2 메뉴 로드
|
||||
F6 - 사용자 지정 Grub2 메뉴 불러오기
|
||||
F7 - GUI 모드 <-> TEXT 모드 간에 전환
|
||||
|
||||
m - 체크섬 이미지 파일 (md5/sha1/sha256/sha512)
|
||||
Ctrl+w - WIMBOOT 모드 (표준 Windows ISO 전용)
|
||||
Ctrl+r - Grub2 모드 (일부 Linux 배포판에만 해당)
|
||||
Ctrl+i - 호환 모드 (디버그 전용)
|
||||
Ctrl+u - ISO eFi 드라이버 로드 (디버그 전용, 공식적으로 사용할 수 없음)
|
||||
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 드라이버 불러오기 (디버그 전용, 공식적으로 사용할 수 없음)
|
||||
|
||||
|
||||
|
||||
|
19
INSTALL/grub/help/pl_PL.txt
Normal file
19
INSTALL/grub/help/pl_PL.txt
Normal file
@@ -0,0 +1,19 @@
|
||||
L - Wybierz język
|
||||
F1 — Wyświetl informacje pomocy
|
||||
F2 — przeglądanie i uruchamianie plików na dysku lokalnym
|
||||
F3 — Przełącz tryb menu pomiędzy Treeview <-> ListView
|
||||
F4 — Uruchom system Windows/Linux na dysku lokalnym
|
||||
F5 — Narzędzia
|
||||
F6 — Załaduj niestandardowe menu Grub2
|
||||
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)
|
||||
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ć)
|
||||
|
||||
|
||||
|
||||
Naciśnij ESC, aby wrócić...
|
@@ -1,17 +1,18 @@
|
||||
h - Mostra esta informação de ajuda
|
||||
F1 - Modo Memdisk (Apenas para pequenos WinPE/LiveCD ISO/IMG)
|
||||
F2 - Browse and boot files in local disk
|
||||
L - Selecionar idioma
|
||||
F1 - Mostra esta informação de ajuda
|
||||
F2 - Navegar e arrancar ficheiros em disco local
|
||||
F3 - Alternar o modo menu entre Vista de árvore <-> Vista de lista
|
||||
F4 - Arrancar o Windows/Linux em disco local
|
||||
F5 - Utilitários
|
||||
F6 - Carregar menu Grub2 personalizado
|
||||
F7 - Alternar entre Modo GUI <-> Modo TEXTO
|
||||
|
||||
m - Checksum ficheiros de imagem (md5/sha1/sha256/sha512)
|
||||
Ctrl+w - Modo WIMBOOT (Apenas para Windows ISO padrão)
|
||||
Ctrl+r - Modo Grub2 (Apenas para algumas distros Linux)
|
||||
Ctrl+i - Modo Compatível (Apenas para depuração)
|
||||
Ctrl+u - Carregar o controlador ISO efi (Apenas para depuração, não pode ser utilizado oficialmente)
|
||||
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)
|
||||
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)
|
||||
|
||||
|
||||
Prima ESC para voltar ......
|
||||
|
19
INSTALL/grub/help/ru_RU.txt
Normal file
19
INSTALL/grub/help/ru_RU.txt
Normal file
@@ -0,0 +1,19 @@
|
||||
L - Выбор языка
|
||||
F1 - Показать эту справочную информацию
|
||||
F2 - Просмотр и загрузка файлов на локальном диске
|
||||
F3 - Переключить режим меню между Treeview <-> ListView
|
||||
F4 - Загрузка Windows/Linux с локального диска
|
||||
F5 - Утилиты
|
||||
F6 - Загрузить пользовательское меню Grub2
|
||||
F7 - Переключиться между режимом GUI <-> режимом TEXT
|
||||
|
||||
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 (Только для отладки, нельзя использовать официально)
|
||||
|
||||
|
||||
|
||||
Нажмите ESC, чтобы вернуться ......
|
@@ -1,5 +1,5 @@
|
||||
h - Приказује ове информације
|
||||
F1 - Memdisk начин рада (само за мале WinPE/LiveCD имиџ фајлове)
|
||||
L - Изаберите језик
|
||||
F1 - Приказује ове информације
|
||||
F2 - Покреће имиџ фајлове на локалном диску
|
||||
F3 - Мења мени између TreeView <-> ListView
|
||||
F4 - Покреће Windows/Linux на локалном диску
|
||||
@@ -7,11 +7,12 @@ F5 - Алати
|
||||
F6 - Учитава прилагођен GRUB2 мени
|
||||
F7 - Мења између GUI <-> TEXT начина рада
|
||||
|
||||
m - Генерира хеш одабраног имиџ фајла (md5/sha1/sha256/sha512)
|
||||
Ctrl+w - WIMBOOT начин рада (само за стандардне Windows имиџ фајлове)
|
||||
Ctrl+r - GRUB2 начин рада (само за неке Linux дистрибуције)
|
||||
Ctrl+i - Компатибилни начин рада (само за тестирање)
|
||||
Ctrl+u - Учитава EFI драјвер за имиџ фајлове (само за тестирање)
|
||||
m/Ctrl+m - Генерира хеш одабраног имиџ фајла (md5/sha1/sha256/sha512)
|
||||
d/Ctrl+d - Memdisk начин рада (само за мале WinPE/LiveCD имиџ фајлове)
|
||||
w/Ctrl+w - WIMBOOT начин рада (само за стандардне Windows имиџ фајлове)
|
||||
r/Ctrl+r - GRUB2 начин рада (само за неке Linux дистрибуције)
|
||||
i/Ctrl+i - Компатибилни начин рада (само за тестирање)
|
||||
u/Ctrl+u - Учитава EFI драјвер за имиџ фајлове (само за тестирање)
|
||||
|
||||
|
||||
|
||||
|
19
INSTALL/grub/help/ta_IN.txt
Normal file
19
INSTALL/grub/help/ta_IN.txt
Normal file
@@ -0,0 +1,19 @@
|
||||
L - மொழி தேர்வு
|
||||
F1 - இந்த உதவித் தகவலைக் காட்டு
|
||||
F2 - உள்ளூர் வட்டில் கோப்புகளை உலாவவும் துவக்கவும்
|
||||
F3 - Treeview (மரப்பார்வை) <-> ListView (பட்டியல்பார்வை) இடையே மெனு பயன்முறையை மாற்றவும்
|
||||
F4 - விண்டோஸ்/லினக்ஸை உள்ளூர் வட்டில் துவக்கவும்
|
||||
F5 - பயன்பாடுகள்
|
||||
F6 - தனிப்பயன் Grub2 மெனுவை ஏற்றவும்
|
||||
F7 - GUI பயன்முறை <-> TEXT பயன்முறைக்கு இடையில் மாறவும்
|
||||
|
||||
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 பயன்முறை (சில லினக்ஸ் டிஸ்ட்ரோக்களுக்கு மட்டும்)
|
||||
i/Ctrl+i - இணக்கமான பயன்முறை (பிழைத்திருத்தத்திற்கு மட்டும்)
|
||||
u/Ctrl+u - ISO efi இயக்கியை ஏற்றவும் (பிழைத்திருத்தத்திற்கு மட்டும், அதிகாரப்பூர்வமாக பயன்படுத்த முடியாது)
|
||||
|
||||
|
||||
|
||||
திரும்புவதற்கு ESC ஐ அழுத்தவும் ......
|
@@ -1,17 +1,19 @@
|
||||
h - Yardım bilgilerini göster
|
||||
F1 - Memdisk Modu başlatır(Yalnızca küçük WinPE/LiveCD ISO/IMG ler için bu modu kullanabilirsiniz)
|
||||
F2 - Yerel diskteki dosyalara GÖZAT ve ÖNYÜKLE'meyi sağlar
|
||||
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.
|
||||
F5 - Ventoy Araçlar menüsü
|
||||
F6 - Özelleştirilmiş Grub2 menüsünü yükler
|
||||
F7 - Grafik Modu(GUI Mode) ile Metin Modu(Text Mode) arasında geçiş yapmayı sağlar
|
||||
F7 - Grafik Modu(GUI Mode) <--> Metin Modu(Text Mode) arasında geçiş yapmayı sağlar
|
||||
|
||||
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 - İndirilen imaj dosyalarının hatasız indirildiğini teyit etmek için "md5/sha1/sha256/sha512" değerlerini kontrol etmeyi sağlar
|
||||
Ctrl+w - WIMBOOT Modu çalıştırmayı sağlar(Sadece normal Windows ISO ları için)
|
||||
Ctrl+r - Grub2 Modu çalıştırmayı sağlar (Sadece bazı Linux dağıtımları için)
|
||||
Ctrl+i - Uyumluluk Modu'nu (Compatible Mode) çalıştırmayı sağlar (Sadece hata ayıklama için bu modu kullanabilirsiniz)
|
||||
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)
|
||||
|
||||
|
||||
Geriye dönmek için ESC tuşuna basınız......
|
||||
|
@@ -1,5 +1,5 @@
|
||||
h - 显示本帮助信息
|
||||
F1 - 把文件加载到内存启动(只适用于文件很小的 WinPE/LiveCD等)
|
||||
L - 选择语言
|
||||
F1 - 显示本帮助信息
|
||||
F2 - 浏览并启动本地硬盘中的镜像文件
|
||||
F3 - 菜单显示模式切换。可在列表模式和目录模式之间自由切换。
|
||||
F4 - 启动本地硬盘上的 Windows/Linux 等系统。
|
||||
@@ -7,11 +7,12 @@ F5 - 各类工具
|
||||
F6 - 加载自定义 GRUB2 菜单。
|
||||
F7 - 界面在文本模式和图形模式之间切换。
|
||||
|
||||
m - 计算文件校验值(md5/sha1/sha256/sha512)
|
||||
Ctrl+w - WIMBOOT 模式 (只适用于标准的 Windows ISO文件)
|
||||
Ctrl+r - Grub2 模式 (只适用于常见的一些 Linux 系统ISO文件)
|
||||
Ctrl+i - 兼容模式 (只用作调试目的,不能正式使用)
|
||||
Ctrl+u - 加载 ISO efi 驱动(只用作调试目的,不能正式使用)
|
||||
m/Ctrl+m - 计算文件校验值(md5/sha1/sha256/sha512)
|
||||
d/Ctrl+d - MEMDISK 模式,把文件加载到内存启动(只适用于文件很小的 WinPE/LiveCD等)
|
||||
w/Ctrl+w - WIMBOOT 模式 (只适用于标准的 Windows ISO文件)
|
||||
r/Ctrl+r - Grub2 模式 (只适用于常见的一些 Linux 系统ISO文件)
|
||||
i/Ctrl+i - 兼容模式 (只用作调试目的,不能正式使用)
|
||||
u/Ctrl+u - 加载 ISO efi 驱动(只用作调试目的,不能正式使用)
|
||||
|
||||
|
||||
按 ESC 键返回 ......
|
||||
|
18
INSTALL/grub/help/zh_TW.txt
Normal file
18
INSTALL/grub/help/zh_TW.txt
Normal file
@@ -0,0 +1,18 @@
|
||||
L - 選擇語言
|
||||
F1 - 顯示本説明資訊
|
||||
F2 - 瀏覽並啟動本地硬碟中的映像檔
|
||||
F3 - 功能表顯示模式切換。可在清單模式和目錄模式之間自由切換。
|
||||
F4 - 啟動本地硬碟上的 Windows/Linux 等系統。
|
||||
F5 - 各類工具
|
||||
F6 - 載入自訂 GRUB2 選單。
|
||||
F7 - 介面在文字模式和圖形模式之間切換。
|
||||
|
||||
m/Ctrl+m - 計算檔案校驗值(md5/sha1/sha256/sha512)
|
||||
d/Ctrl+d - MEMDISK 模式,把檔載入到記憶體啟動(只適用於檔很小的 WinPE/LiveCD等)
|
||||
w/Ctrl+w - WIMBOOT 模式 (只適用於標準的 Windows ISO檔)
|
||||
r/Ctrl+r - Grub2 模式 (只適用於常見的一些 Linux 系統ISO檔)
|
||||
i/Ctrl+i - 相容模式 (只用作調試目的,不能正式使用)
|
||||
u/Ctrl+u - 載入 ISO efi 驅動(只用作調試目的,不能正式使用)
|
||||
|
||||
|
||||
按 ESC 鍵返回 ......
|
@@ -1,4 +1,4 @@
|
||||
menuentry 'Hardware Information' --class=debug_hwinfo --class=F5tool {
|
||||
menuentry '@VTMENU_HWINFO' --class=debug_hwinfo --class=F5tool {
|
||||
smbios -t 4 -s 0x10 --set=cpu_brand
|
||||
|
||||
set system_vendor="-";
|
||||
@@ -56,6 +56,6 @@ menuentry 'Hardware Information' --class=debug_hwinfo --class=F5tool {
|
||||
echo "BIOS ROM Size $bios_size"
|
||||
|
||||
|
||||
echo -e "\n\n\npress ENTER to exit ..."
|
||||
echo -ven "\n\n\n" "VTMENU_ENTER_EXIT ..."
|
||||
read vtInputKey
|
||||
}
|
||||
|
@@ -26,7 +26,7 @@ sfs: fshelp
|
||||
reiserfs: fshelp
|
||||
part_sunpc:
|
||||
zstd:
|
||||
gfxmenu: video_colors trig gfxterm bitmap_scale font normal video bitmap
|
||||
gfxmenu: video_colors trig bitmap_scale gfxterm font normal video bitmap
|
||||
backtrace:
|
||||
jfs:
|
||||
help: extcmd normal
|
||||
@@ -121,7 +121,7 @@ ehci: cs5536 usb boot
|
||||
crypto:
|
||||
part_bsd: part_msdos
|
||||
cs5536:
|
||||
ventoy: ext2 fshelp elf btrfs font crypto gcry_md5 exfat udf div extcmd datetime normal video gcry_sha1 mmap iso9660
|
||||
ventoy: ext2 fshelp elf btrfs crypto font gcry_md5 exfat udf datetime div extcmd normal video gcry_sha1 mmap iso9660
|
||||
gcry_sha512: crypto
|
||||
password: crypto normal
|
||||
fshelp:
|
||||
|
Binary file not shown.
@@ -26,7 +26,7 @@ sfs: fshelp
|
||||
reiserfs: fshelp
|
||||
part_sunpc:
|
||||
zstd:
|
||||
gfxmenu: video_colors trig gfxterm bitmap_scale font normal video bitmap
|
||||
gfxmenu: video_colors trig bitmap_scale gfxterm font normal video bitmap
|
||||
backtrace:
|
||||
jfs:
|
||||
help: extcmd normal
|
||||
@@ -124,7 +124,7 @@ crypto:
|
||||
part_bsd: part_msdos
|
||||
cs5536: pci
|
||||
biosdisk:
|
||||
ventoy: elf fshelp ext2 btrfs font crypto gcry_md5 exfat udf div extcmd datetime normal video gcry_sha1 iso9660 acpi
|
||||
ventoy: ext2 fshelp elf btrfs crypto font gcry_md5 exfat udf div extcmd datetime normal video gcry_sha1 iso9660 acpi
|
||||
lsapm:
|
||||
gcry_sha512: crypto
|
||||
password: crypto normal
|
||||
|
BIN
INSTALL/grub/i386-pc/setkey.mod
Normal file
BIN
INSTALL/grub/i386-pc/setkey.mod
Normal file
Binary file not shown.
BIN
INSTALL/grub/i386-pc/video_fb.mod
Normal file
BIN
INSTALL/grub/i386-pc/video_fb.mod
Normal file
Binary file not shown.
@@ -1,4 +1,4 @@
|
||||
submenu "Keyboard Layouts" --class=debug_krdlayout --class=F5tool {
|
||||
submenu "@VTMENU_KEYBRD_LAYOUT" --class=debug_krdlayout --class=F5tool {
|
||||
menuentry QWERTY_USA --class=debug_kbd --class=debug_krdlayout --class=F5tool {
|
||||
set_keyboard_layout QWERTY_USA
|
||||
}
|
||||
|
@@ -1,6 +1,6 @@
|
||||
|
||||
if [ "$grub_platform" = "pc" ]; then
|
||||
menuentry 'Search and boot Windows' --class=boot_windows --class=F4boot {
|
||||
menuentry '@VTMENU_LB_SBOOT_WINDOWS' --class=boot_windows --class=F4boot {
|
||||
|
||||
set partid=3
|
||||
while [ $partid -le 128 ]; do
|
||||
@@ -38,7 +38,7 @@ if [ "$grub_platform" = "pc" ]; then
|
||||
fi
|
||||
}
|
||||
|
||||
menuentry 'Search and boot Grub4dos' --class=boot_g4d --class=F4boot {
|
||||
menuentry '@VTMENU_LB_SBOOT_G4D' --class=boot_g4d --class=F4boot {
|
||||
if search -n -s -f /grldr; then
|
||||
ntldr /grldr
|
||||
else
|
||||
@@ -46,19 +46,19 @@ if [ "$grub_platform" = "pc" ]; then
|
||||
fi
|
||||
}
|
||||
|
||||
menuentry 'Boot the 1st local disk' --class=boot_disk --class=F4boot {
|
||||
menuentry '@VTMENU_LB_SBOOT_HDD1' --class=boot_disk --class=F4boot {
|
||||
set root=(hd0,1)
|
||||
chainloader +1
|
||||
boot
|
||||
}
|
||||
|
||||
menuentry 'Boot the 2nd local disk' --class=boot_disk --class=F4boot {
|
||||
menuentry '@VTMENU_LB_SBOOT_HDD2' --class=boot_disk --class=F4boot {
|
||||
set root=(hd1,1)
|
||||
chainloader +1
|
||||
boot
|
||||
}
|
||||
|
||||
menuentry 'Boot the 3rd local disk' --class=boot_disk --class=F4boot {
|
||||
menuentry '@VTMENU_LB_SBOOT_HDD3' --class=boot_disk --class=F4boot {
|
||||
set root=(hd2,1)
|
||||
chainloader +1
|
||||
boot
|
||||
@@ -66,7 +66,7 @@ if [ "$grub_platform" = "pc" ]; then
|
||||
|
||||
else
|
||||
|
||||
menuentry 'Search and boot Windows' --class=boot_windows --class=F4boot {
|
||||
menuentry '@VTMENU_LB_SBOOT_WINDOWS' --class=boot_windows --class=F4boot {
|
||||
|
||||
set partid=3
|
||||
while [ $partid -le 128 ]; do
|
||||
@@ -102,7 +102,7 @@ else
|
||||
}
|
||||
|
||||
if [ "$grub_cpu" = "i386" ]; then
|
||||
menuentry 'Search and boot BOOTIA32.EFI' --class=boot_uefi --class=F4boot {
|
||||
menuentry '@VTMENU_LB_SBOOT_IA32EFI' --class=boot_uefi --class=F4boot {
|
||||
set VTOY_SEARCH_NO_VTOYEFI=1
|
||||
if search -n -s -f /efi/boot/bootia32.efi; then
|
||||
unset VTOY_SEARCH_NO_VTOYEFI
|
||||
@@ -115,7 +115,7 @@ else
|
||||
fi
|
||||
}
|
||||
|
||||
menuentry 'Search and boot xorboot' --class=boot_xorboot --class=F4boot {
|
||||
menuentry '@VTMENU_LB_SBOOT_XORBOOT' --class=boot_xorboot --class=F4boot {
|
||||
set VTOY_SEARCH_NO_VTOYEFI=1
|
||||
if search -n -s -f /efi/xorboot/xorboot32.xor; then
|
||||
unset VTOY_SEARCH_NO_VTOYEFI
|
||||
@@ -132,7 +132,7 @@ else
|
||||
fi
|
||||
}
|
||||
elif [ "$grub_cpu" = "arm64" ]; then
|
||||
menuentry 'Search and boot BOOTAA64.EFI' --class=boot_uefi --class=F4boot {
|
||||
menuentry '@VTMENU_LB_SBOOT_AA64EFI' --class=boot_uefi --class=F4boot {
|
||||
set VTOY_SEARCH_NO_VTOYEFI=1
|
||||
if search -n -s -f /efi/boot/bootaa64.efi; then
|
||||
unset VTOY_SEARCH_NO_VTOYEFI
|
||||
@@ -145,7 +145,7 @@ else
|
||||
fi
|
||||
}
|
||||
else
|
||||
menuentry 'Search and boot BOOTX64.EFI' --class=boot_uefi --class=F4boot {
|
||||
menuentry '@VTMENU_LB_SBOOT_X64EFI' --class=boot_uefi --class=F4boot {
|
||||
set VTOY_SEARCH_NO_VTOYEFI=1
|
||||
if search -n -s -f /efi/boot/bootx64.efi; then
|
||||
unset VTOY_SEARCH_NO_VTOYEFI
|
||||
@@ -158,7 +158,7 @@ else
|
||||
fi
|
||||
}
|
||||
|
||||
menuentry 'Search and boot xorboot' --class=boot_xorboot --class=F4boot {
|
||||
menuentry '@VTMENU_LB_SBOOT_XORBOOT' --class=boot_xorboot --class=F4boot {
|
||||
set VTOY_SEARCH_NO_VTOYEFI=1
|
||||
if search -n -s -f /efi/xorboot/xorboot.xor; then
|
||||
unset VTOY_SEARCH_NO_VTOYEFI
|
||||
@@ -179,6 +179,6 @@ else
|
||||
|
||||
fi
|
||||
|
||||
menuentry 'Return to previous menu [Esc]' --class=vtoyret VTOY_RET {
|
||||
menuentry '@VTMENU_RETURN_PREVIOUS' --class=vtoyret VTOY_RET {
|
||||
echo 'Return ...'
|
||||
}
|
||||
|
71
INSTALL/grub/menu/ar_AR.json
Normal file
71
INSTALL/grub/menu/ar_AR.json
Normal file
@@ -0,0 +1,71 @@
|
||||
{
|
||||
"VTMENU_LANGUAGE_NAME": "Arabic (العربية)",
|
||||
|
||||
"VTMENU_STR_HOTKEY_LIST": "L: لغه F1: مساعدة F2: تصفح F3: عرض قائمه F4: اقلا محلي F5: أدوات F6: عوده",
|
||||
"VTMENU_STR_HOTKEY_TREE": "L: لغه F1: مساعدة F2: تصفح F3: عرض تصنيف F4: اقلاع محلي F5: أدوات F6: عوده",
|
||||
"VTMENU_RETURN_PREVIOUS": "عودة إلى القائمة السابقة [Esc]",
|
||||
"VTMENU_MENU_LANG": "اختيار اللغة في القائمة",
|
||||
"VTMENU_LB_SBOOT_WINDOWS": "البحث والإقلاع على ويندوز",
|
||||
"VTMENU_LB_SBOOT_G4D": "البحث والإقلاع على Grub4dos",
|
||||
"VTMENU_LB_SBOOT_HDD1": "الإقلاع على القرص المحلي الأول",
|
||||
"VTMENU_LB_SBOOT_HDD2": "الإقلاع على القرص المحلي الثاني",
|
||||
"VTMENU_LB_SBOOT_HDD3": "الإقلاع على القرص المحلي الثالث",
|
||||
"VTMENU_LB_SBOOT_X64EFI": "البحث والإقلاع على BOOTX64.EFI",
|
||||
"VTMENU_LB_SBOOT_IA32EFI": "البحث والإقلاع على BOOTIA32.EFI",
|
||||
"VTMENU_LB_SBOOT_AA64EFI": "البحث والإقلاع على BOOTAA64.EFI",
|
||||
"VTMENU_LB_SBOOT_XORBOOT": "البحث والإقلاع على xorboot",
|
||||
"VTMENU_FILE_CHKSUM": "مجموعة التحقق من الملفات",
|
||||
"VTMENU_CHKSUM_MD5_CALC": "حساب md5sum",
|
||||
"VTMENU_CHKSUM_SHA1_CALC": "حساب sha1sum",
|
||||
"VTMENU_CHKSUM_SHA256_CALC": "حساب sha256sum",
|
||||
"VTMENU_CHKSUM_SHA512_CALC": "حساب sha512sum",
|
||||
"VTMENU_CHKSUM_MD5_CALC_CHK": "حساب وتحقق md5sum",
|
||||
"VTMENU_CHKSUM_SHA1_CALC_CHK": "حساب وتحقق sha1sum",
|
||||
"VTMENU_CHKSUM_SHA256_CALC_CHK": "حساب وتحقق sha256sum",
|
||||
"VTMENU_CHKSUM_SHA512_CALC_CHK": "حساب وتحقق sha512sum",
|
||||
"VTMENU_POWER": "الطاقة",
|
||||
"VTMENU_POWER_REBOOT": "إعادة التشغيل",
|
||||
"VTMENU_POWER_HALT": "إيقاف",
|
||||
"VTMENU_POWER_BOOT_EFIFW": "إعادة التشغيل إلى إعداد EFI",
|
||||
"VTMENU_KEYBRD_LAYOUT": "تخطيطات لوحة المفاتيح",
|
||||
"VTMENU_HWINFO": "معلومات الأجهزة الأساسية",
|
||||
"VTMENU_RESOLUTION_CFG": "تكوين الدقة",
|
||||
"VTMENU_SCREEN_MODE": "وضع عرض الشاشة",
|
||||
"VTMENU_SCREEN_TEXT_MODE": "القيام بتحديد وضع النص",
|
||||
"VTMENU_SCREEN_GUI_MODE": "القيام بتحديد وضع الرسومات",
|
||||
"VTMENU_THEME_SELECT": "اختيار الموضوع",
|
||||
"VTMENU_UTIL_SHOW_EFI_DRV": "عرض برامج تشغيل EFI",
|
||||
"VTMENU_UTIL_FIX_BLINIT_FAIL": "إصلاح فشل تهيئة Windows BlinitializeLibrary",
|
||||
"VTMENU_JSON_CHK_JSON": "التحقق من تكوين json للبرنامج الإضافي (ventoy.json)",
|
||||
"VTMENU_JSON_CHK_CONTROL": "التحقق من تكوين برنامج الإضافي العام للتحكم",
|
||||
"VTMENU_JSON_CHK_THEME": "التحقق من تكوين برنامج الإضافي الخاص بالموضوع",
|
||||
"VTMENU_JSON_CHK_AUTOINS": "التحقق من تكوين برنامج الإضافي للتثبيت التلقائي",
|
||||
"VTMENU_JSON_CHK_PERSIST": "التحقق من تكوين برنامج الإضافي المستمر",
|
||||
"VTMENU_JSON_CHK_MENU_ALIAS": "التحقق من تكوين برنامج الإضافي الخاص بالقائمة المستعارة",
|
||||
"VTMENU_JSON_CHK_MENU_TIP": "التحقق من تكوين برنامج الإضافي الخاص بتلميح القائمة",
|
||||
"VTMENU_JSON_CHK_MENU_CLASS": "التحقق من تكوين برنامج الإضافي الخاص بفئة القائمة",
|
||||
"VTMENU_JSON_CHK_INJECTION": "التحقق من تكوين برنامج الإضافي الخاص بالتدخل",
|
||||
"VTMENU_JSON_CHK_AUTO_MEMDISK": "التحقق من تكوين برنامج الإضافي الخاص بالتثبيت التلقائي لـ memdisk",
|
||||
"VTMENU_JSON_CHK_IMG_LIST": "التحقق من تكوين برنامج الإضافي الخاص بقائمة الصور",
|
||||
"VTMENU_JSON_CHK_IMG_BLIST": "التحقق من تكوين برنامج الإضافي الخاص بقائمة سوداء للصور",
|
||||
"VTMENU_JSON_CHK_CONF_REPLACE": "التحقق من تكوين برنامج الإضافي الخاص باستبدال ملف التكوين للإقلاع",
|
||||
"VTMENU_JSON_CHK_DUD": "التحقق من تكوين برنامج الإضافي الخاص بـ dud",
|
||||
"VTMENU_JSON_CHK_PASSWORD": "التحقق من تكوين برنامج الإضافي الخاص بكلمة المرور",
|
||||
"VTMENU_NORMAL_MODE": "الإقلاع في الوضع العادي",
|
||||
"VTMENU_WIMBOOT_MODE": "الإقلاع في وضع wimboot",
|
||||
"VTMENU_GRUB2_MODE": "الإقلاع في وضع grub2",
|
||||
"VTMENU_MEMDISK_MODE": "الإقلاع في وضع memdisk",
|
||||
"VTMENU_RET_TO_LISTVIEW": "العودة إلى ListView",
|
||||
"VTMENU_RET_TO_TREEVIEW": "العودة إلى TreeView",
|
||||
"VTMENU_NO_AUTOINS_SCRIPT": "الإقلاع بدون قالب التثبيت التلقائي",
|
||||
"VTMENU_AUTOINS_USE": "الإقلاع مع",
|
||||
"VTMENU_NO_PERSIST": "الإقلاع بدون الاستمرارية",
|
||||
"VTMENU_PERSIST_USE": "الإقلاع مع",
|
||||
"VTMENU_BROWER_RETURN": "العودة",
|
||||
|
||||
"VTMENU_ENTER_EXIT": "اضغط على مفتاح Enter للخروج",
|
||||
"VTMENU_ENTER_REBOOT": "اضغط على مفتاح Enter لإعادة التشغيل",
|
||||
"VTMENU_ENTER_CONTINUE": "اضغط على مفتاح Enter للمتابعة",
|
||||
|
||||
"MENU_STR_XXX": ""
|
||||
}
|
85
INSTALL/grub/menu/bn_BN.json
Normal file
85
INSTALL/grub/menu/bn_BN.json
Normal file
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"VTMENU_LANGUAGE_NAME": "Bengali (বাংলা)",
|
||||
|
||||
"VTMENU_STR_HOTKEY_LIST": "L:ভাষা F1:সাহায্য F2:Browser F3:ListView F4:Localboot F5:Tools F6:ExMenu",
|
||||
"VTMENU_STR_HOTKEY_TREE": "L:ভাষা F1:সাহায্য F2:Browser F3:TreeView F4:Localboot F5:Tools F6:ExMenu",
|
||||
"VTMENU_RETURN_PREVIOUS": "পূর্ববর্তী মেনুতে ফিরে যান [Esc]",
|
||||
|
||||
"VTMENU_MENU_LANG": "মেনু ভাষা নির্বাচন করুন",
|
||||
|
||||
"VTMENU_LB_SBOOT_WINDOWS": "Windows অনুসন্ধান করুন এবং বুট করুন",
|
||||
"VTMENU_LB_SBOOT_G4D": "Grub4dos অনুসন্ধান করুন এবং বুট করুন",
|
||||
"VTMENU_LB_SBOOT_HDD1": "১ম(1st) স্থানীয় ডিস্ক বুট করুন",
|
||||
"VTMENU_LB_SBOOT_HDD2": "২য়(2nd) স্থানীয় ডিস্ক বুট করুন",
|
||||
"VTMENU_LB_SBOOT_HDD3": "3য়(3rd) স্থানীয় ডিস্ক বুট করুন",
|
||||
"VTMENU_LB_SBOOT_X64EFI": "BOOTX64.EFI অনুসন্ধান করুন এবং বুট করুন",
|
||||
"VTMENU_LB_SBOOT_IA32EFI": "BOOTIA32.EFI অনুসন্ধান করুন এবং বুট করুন",
|
||||
"VTMENU_LB_SBOOT_AA64EFI": "BOOTAA64.EFI অনুসন্ধান করুন এবং বুট করুন",
|
||||
"VTMENU_LB_SBOOT_XORBOOT": "xorboot অনুসন্ধান করুন এবং বুট করুন",
|
||||
|
||||
"VTMENU_FILE_CHKSUM": "ফাইল চেকসাম",
|
||||
"VTMENU_CHKSUM_MD5_CALC": "md5sum গণনা করুন",
|
||||
"VTMENU_CHKSUM_SHA1_CALC": "sha1sum গণনা করুন",
|
||||
"VTMENU_CHKSUM_SHA256_CALC": "sha256sum গণনা করুন",
|
||||
"VTMENU_CHKSUM_SHA512_CALC": "sha512sum গণনা করুন",
|
||||
"VTMENU_CHKSUM_MD5_CALC_CHK": "গণনা করুন এবং md5sum চেক করুন",
|
||||
"VTMENU_CHKSUM_SHA1_CALC_CHK": "গণনা করুন এবং sha1sum চেক করুন",
|
||||
"VTMENU_CHKSUM_SHA256_CALC_CHK": "গণনা করুন এবং sha256sum চেক করুন",
|
||||
"VTMENU_CHKSUM_SHA512_CALC_CHK": "গণনা করুন এবং sha512sum চেক করুন",
|
||||
|
||||
"VTMENU_POWER": "পাওয়ার",
|
||||
"VTMENU_POWER_REBOOT": "রিবুট",
|
||||
"VTMENU_POWER_HALT": "হল্ট",
|
||||
"VTMENU_POWER_BOOT_EFIFW": "EFI সেটআপে রিবুট করুন",
|
||||
|
||||
"VTMENU_KEYBRD_LAYOUT": "কীবোর্ড লেআউট",
|
||||
"VTMENU_HWINFO": "হার্ডওয়্যার তথ্য",
|
||||
|
||||
"VTMENU_RESOLUTION_CFG": "রেজোলিউশন কনফিগারেশন",
|
||||
"VTMENU_SCREEN_MODE": "Screen Display মোড",
|
||||
"VTMENU_SCREEN_TEXT_MODE": "Force Text মোড",
|
||||
"VTMENU_SCREEN_GUI_MODE": "Force Graphics মোড",
|
||||
|
||||
"VTMENU_THEME_SELECT": "থিম নির্বাচন করুন",
|
||||
|
||||
"VTMENU_UTIL_SHOW_EFI_DRV": "EFI ড্রাইভার দেখান",
|
||||
"VTMENU_UTIL_FIX_BLINIT_FAIL": "Windows BlinitializeLibrary ব্যর্থতার সমাধান করুন",
|
||||
|
||||
"VTMENU_JSON_CHK_JSON": "প্লাগইন json কনফিগারেশন পরীক্ষা করুন (ventoy.json)",
|
||||
"VTMENU_JSON_CHK_CONTROL": "গ্লোবাল কন্ট্রোল প্লাগইন কনফিগারেশন চেক করুন",
|
||||
"VTMENU_JSON_CHK_THEME": "থিম প্লাগইন কনফিগারেশন পরীক্ষা করুন",
|
||||
"VTMENU_JSON_CHK_AUTOINS": "অটো ইন্সটল প্লাগইন কনফিগারেশন চেক করুন",
|
||||
"VTMENU_JSON_CHK_PERSIST": "persistence প্লাগইন কনফিগারেশন পরীক্ষা করুন",
|
||||
"VTMENU_JSON_CHK_MENU_ALIAS": "menu alias প্লাগইন কনফিগারেশন পরীক্ষা করুন",
|
||||
"VTMENU_JSON_CHK_MENU_TIP": "menu tip প্লাগইন কনফিগারেশন পরীক্ষা করুন",
|
||||
"VTMENU_JSON_CHK_MENU_CLASS": "menu class প্লাগইন কনফিগারেশন পরীক্ষা করুন",
|
||||
"VTMENU_JSON_CHK_INJECTION": "injection প্লাগইন কনফিগারেশন পরীক্ষা করুন",
|
||||
"VTMENU_JSON_CHK_AUTO_MEMDISK": "auto memdisk প্লাগইন কনফিগারেশন পরীক্ষা করুন",
|
||||
"VTMENU_JSON_CHK_IMG_LIST": "image list প্লাগইন কনফিগারেশন পরীক্ষা করুন",
|
||||
"VTMENU_JSON_CHK_IMG_BLIST": "image blacklist প্লাগইন কনফিগারেশন পরীক্ষা করুন",
|
||||
"VTMENU_JSON_CHK_CONF_REPLACE": "boot conf replace প্লাগইন কনফিগারেশন পরীক্ষা করুন",
|
||||
"VTMENU_JSON_CHK_DUD": "dud প্লাগইন কনফিগারেশন পরীক্ষা করুন",
|
||||
"VTMENU_JSON_CHK_PASSWORD": "password প্লাগইন কনফিগারেশন পরীক্ষা করুন",
|
||||
|
||||
"VTMENU_NORMAL_MODE": "সাধারণ মোডে বুট করুন",
|
||||
"VTMENU_WIMBOOT_MODE": "wimboot মোডে বুট করুন",
|
||||
"VTMENU_GRUB2_MODE": "grub2 মোডে বুট করুন",
|
||||
"VTMENU_MEMDISK_MODE": "memdisk মোডে বুট করুন",
|
||||
|
||||
"VTMENU_RET_TO_LISTVIEW": "ListView-এ ফিরে যান",
|
||||
"VTMENU_RET_TO_TREEVIEW": "TreeView-এ ফিরে যান",
|
||||
|
||||
"VTMENU_NO_AUTOINS_SCRIPT": "auto install মোড বিনা বুট করুন",
|
||||
"VTMENU_AUTOINS_USE": "দিয়ে বুট করুন",
|
||||
|
||||
"VTMENU_NO_PERSIST": "persistence বিনা বুট করুন",
|
||||
"VTMENU_PERSIST_USE": "দিয়ে বুট করুন",
|
||||
|
||||
"VTMENU_BROWER_RETURN": "ফিরে",
|
||||
|
||||
"VTMENU_ENTER_EXIT": "প্রস্থান করার জন্য এন্টার কী টিপুন",
|
||||
"VTMENU_ENTER_REBOOT": "রিবুট করতে এন্টার কী টিপুন",
|
||||
"VTMENU_ENTER_CONTINUE": "চালিয়ে যেতে এন্টার কী টিপুন",
|
||||
|
||||
"MENU_STR_XXX": ""
|
||||
}
|
85
INSTALL/grub/menu/de_DE.json
Normal file
85
INSTALL/grub/menu/de_DE.json
Normal file
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"VTMENU_LANGUAGE_NAME": "German (Deutsch)",
|
||||
|
||||
"VTMENU_STR_HOTKEY_LIST": "L:Sprache F1:Hilfe F2:Browser F3:Listenansicht F4:Lokaler Start F5:Werkzeuge F6:Erweitert",
|
||||
"VTMENU_STR_HOTKEY_TREE": "L:Sprache F1:Hilfe F2:Browser F3:Listenansicht F4:Lokaler Start F5:Werkzeuge F6:Erweitert",
|
||||
"VTMENU_RETURN_PREVIOUS": "Zu vorherigem Menü [Esc]",
|
||||
|
||||
"VTMENU_MENU_LANG": "Menüsprache auswählen",
|
||||
|
||||
"VTMENU_LB_SBOOT_WINDOWS": "Windows suchen und starten",
|
||||
"VTMENU_LB_SBOOT_G4D": "Grub4dos suchen und starten",
|
||||
"VTMENU_LB_SBOOT_HDD1": "Vom ersten lokalen Datenträger starten",
|
||||
"VTMENU_LB_SBOOT_HDD2": "Vom zweiten lokalen Datenträger starten",
|
||||
"VTMENU_LB_SBOOT_HDD3": "Vom dritten lokalen Datenträger starten",
|
||||
"VTMENU_LB_SBOOT_X64EFI": "BOOTX64.EFI suchen und starten",
|
||||
"VTMENU_LB_SBOOT_IA32EFI": "BOOTIA32.EFI suchen und starten",
|
||||
"VTMENU_LB_SBOOT_AA64EFI": "BOOTAA64.EFI suchen und starten",
|
||||
"VTMENU_LB_SBOOT_XORBOOT": "xorboot suchen und starten",
|
||||
|
||||
"VTMENU_FILE_CHKSUM": "Dateiprüfsumme",
|
||||
"VTMENU_CHKSUM_MD5_CALC": "md5sum berechnen",
|
||||
"VTMENU_CHKSUM_SHA1_CALC": "sha1sum berechnen",
|
||||
"VTMENU_CHKSUM_SHA256_CALC": "sha256sum berechnen",
|
||||
"VTMENU_CHKSUM_SHA512_CALC": "sha512sum berechnen",
|
||||
"VTMENU_CHKSUM_MD5_CALC_CHK": "md5sum berechnen und prüfen",
|
||||
"VTMENU_CHKSUM_SHA1_CALC_CHK": "sha1sum berechnen und prüfen",
|
||||
"VTMENU_CHKSUM_SHA256_CALC_CHK": "sha256sum berechnen und prüfen",
|
||||
"VTMENU_CHKSUM_SHA512_CALC_CHK": "sha512sum berechnen und prüfen",
|
||||
|
||||
"VTMENU_POWER": "Power",
|
||||
"VTMENU_POWER_REBOOT": "Neustart",
|
||||
"VTMENU_POWER_HALT": "Herunterfahren",
|
||||
"VTMENU_POWER_BOOT_EFIFW": "Neustart in EFI-Konfiguration",
|
||||
|
||||
"VTMENU_KEYBRD_LAYOUT": "Tastaturlayout",
|
||||
"VTMENU_HWINFO": "Hardwareinformationen",
|
||||
|
||||
"VTMENU_RESOLUTION_CFG": "Auflösungseinstellungen",
|
||||
"VTMENU_SCREEN_MODE": "Bildschirmanzeigemodus",
|
||||
"VTMENU_SCREEN_TEXT_MODE": "Textmodus erzwingen",
|
||||
"VTMENU_SCREEN_GUI_MODE": "Grafikmodus erzwingen",
|
||||
|
||||
"VTMENU_THEME_SELECT": "Design auswählen",
|
||||
|
||||
"VTMENU_UTIL_SHOW_EFI_DRV": "EFI-Treiber anzeigen",
|
||||
"VTMENU_UTIL_FIX_BLINIT_FAIL": "Windows BlinitializeLibrary Fehler beheben",
|
||||
|
||||
"VTMENU_JSON_CHK_JSON": "Konfiguration des JSON-Plugins prüfen (ventoy.json)",
|
||||
"VTMENU_JSON_CHK_CONTROL": "Konfiguration des Plugins für die allgemeine Kontrolle prüfen",
|
||||
"VTMENU_JSON_CHK_THEME": "Konfiguration des Design-Plugins prüfen",
|
||||
"VTMENU_JSON_CHK_AUTOINS": "Konfiguration des Plugins für die automatische Installation prüfen",
|
||||
"VTMENU_JSON_CHK_PERSIST": "Konfiguration des Persistenz-Plugins prüfen",
|
||||
"VTMENU_JSON_CHK_MENU_ALIAS": "Konfiguration des Menü-Alias-Plugin prüfen",
|
||||
"VTMENU_JSON_CHK_MENU_TIP": "Konfiguration des Menütipp-Plugins prüfen",
|
||||
"VTMENU_JSON_CHK_MENU_CLASS": "Konfiguration des Menüklassen-Plugins prüfen",
|
||||
"VTMENU_JSON_CHK_INJECTION": "Konfiguration des Injektions-Plugins prüfen",
|
||||
"VTMENU_JSON_CHK_AUTO_MEMDISK": "Konfiguration des auto-memdisk-Plugins prüfen",
|
||||
"VTMENU_JSON_CHK_IMG_LIST": "Konfiguration des Abbild-Listen-Plugins prüfen",
|
||||
"VTMENU_JSON_CHK_IMG_BLIST": "Konfiguration des Abbild-Sperrlisten-Plugins prüfen",
|
||||
"VTMENU_JSON_CHK_CONF_REPLACE": "Konfiguration des Boot-Conf-Replace-Plugins prüfen",
|
||||
"VTMENU_JSON_CHK_DUD": "Konfiguration des dud-Plugins prüfen",
|
||||
"VTMENU_JSON_CHK_PASSWORD": "Konfiguration des Passwort-Plugins prüfen",
|
||||
|
||||
"VTMENU_NORMAL_MODE": "In Normal-Modus starten",
|
||||
"VTMENU_WIMBOOT_MODE": "In wimboot-Modus starten",
|
||||
"VTMENU_GRUB2_MODE": "In grub2-Modus starten",
|
||||
"VTMENU_MEMDISK_MODE": "In memdisk-Modus starten",
|
||||
|
||||
"VTMENU_RET_TO_LISTVIEW": "Zurück zur Listenansicht",
|
||||
"VTMENU_RET_TO_TREEVIEW": "Zurück zur Baumansicht",
|
||||
|
||||
"VTMENU_NO_AUTOINS_SCRIPT": "Ohne Vorlage für die automatische Installation starten",
|
||||
"VTMENU_AUTOINS_USE": "Start mit",
|
||||
|
||||
"VTMENU_NO_PERSIST": "Ohne Persistenz starten",
|
||||
"VTMENU_PERSIST_USE": "Start mit",
|
||||
|
||||
"VTMENU_BROWER_RETURN": "Zurück",
|
||||
|
||||
"VTMENU_ENTER_EXIT": "Drücken Sie zum Beenden die Eingabetaste",
|
||||
"VTMENU_ENTER_REBOOT": "Drücken Sie die Eingabetaste, um neu zu starten",
|
||||
"VTMENU_ENTER_CONTINUE": "Drücken Sie die Eingabetaste, um fortzufahren",
|
||||
|
||||
"MENU_STR_XXX": ""
|
||||
}
|
85
INSTALL/grub/menu/en_US.json
Normal file
85
INSTALL/grub/menu/en_US.json
Normal file
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"VTMENU_LANGUAGE_NAME": "English (English)",
|
||||
|
||||
"VTMENU_STR_HOTKEY_LIST": "L:Language F1:Help F2:Browse F3:ListView F4:Localboot F5:Tools F6:ExMenu",
|
||||
"VTMENU_STR_HOTKEY_TREE": "L:Language F1:Help F2:Browse F3:TreeView F4:Localboot F5:Tools F6:ExMenu",
|
||||
"VTMENU_RETURN_PREVIOUS": "Return to previous menu [Esc]",
|
||||
|
||||
"VTMENU_MENU_LANG": "Menu Language Select",
|
||||
|
||||
"VTMENU_LB_SBOOT_WINDOWS": "Search and boot Windows",
|
||||
"VTMENU_LB_SBOOT_G4D": "Search and boot Grub4dos",
|
||||
"VTMENU_LB_SBOOT_HDD1": "Boot the 1st local disk",
|
||||
"VTMENU_LB_SBOOT_HDD2": "Boot the 2nd local disk",
|
||||
"VTMENU_LB_SBOOT_HDD3": "Boot the 3rd local disk",
|
||||
"VTMENU_LB_SBOOT_X64EFI": "Search and boot BOOTX64.EFI",
|
||||
"VTMENU_LB_SBOOT_IA32EFI": "Search and boot BOOTIA32.EFI",
|
||||
"VTMENU_LB_SBOOT_AA64EFI": "Search and boot BOOTAA64.EFI",
|
||||
"VTMENU_LB_SBOOT_XORBOOT": "Search and boot xorboot",
|
||||
|
||||
"VTMENU_FILE_CHKSUM": "File checksum",
|
||||
"VTMENU_CHKSUM_MD5_CALC": "Calculate md5sum",
|
||||
"VTMENU_CHKSUM_SHA1_CALC": "Calculate sha1sum",
|
||||
"VTMENU_CHKSUM_SHA256_CALC": "Calculate sha256sum",
|
||||
"VTMENU_CHKSUM_SHA512_CALC": "Calculate sha512sum",
|
||||
"VTMENU_CHKSUM_MD5_CALC_CHK": "Calculate and check md5sum",
|
||||
"VTMENU_CHKSUM_SHA1_CALC_CHK": "Calculate and check sha1sum",
|
||||
"VTMENU_CHKSUM_SHA256_CALC_CHK": "Calculate and check sha256sum",
|
||||
"VTMENU_CHKSUM_SHA512_CALC_CHK": "Calculate and check sha512sum",
|
||||
|
||||
"VTMENU_POWER": "Power",
|
||||
"VTMENU_POWER_REBOOT": "Reboot",
|
||||
"VTMENU_POWER_HALT": "Halt",
|
||||
"VTMENU_POWER_BOOT_EFIFW": "Reboot to EFI setup",
|
||||
|
||||
"VTMENU_KEYBRD_LAYOUT": "Keyboard Layouts",
|
||||
"VTMENU_HWINFO": "Hardware Information",
|
||||
|
||||
"VTMENU_RESOLUTION_CFG": "Resolution Configuration",
|
||||
"VTMENU_SCREEN_MODE": "Screen Display Mode",
|
||||
"VTMENU_SCREEN_TEXT_MODE": "Force Text Mode",
|
||||
"VTMENU_SCREEN_GUI_MODE": "Force Graphics Mode",
|
||||
|
||||
"VTMENU_THEME_SELECT": "Theme Select",
|
||||
|
||||
"VTMENU_UTIL_SHOW_EFI_DRV": "Show EFI Drivers",
|
||||
"VTMENU_UTIL_FIX_BLINIT_FAIL": "Fixup Windows BlinitializeLibrary Failure",
|
||||
|
||||
"VTMENU_JSON_CHK_JSON": "Check plugin json configuration (ventoy.json)",
|
||||
"VTMENU_JSON_CHK_CONTROL": "Check global control plugin configuration",
|
||||
"VTMENU_JSON_CHK_THEME": "Check theme plugin configuration",
|
||||
"VTMENU_JSON_CHK_AUTOINS": "Check auto install plugin configuration",
|
||||
"VTMENU_JSON_CHK_PERSIST": "Check persistence plugin configuration",
|
||||
"VTMENU_JSON_CHK_MENU_ALIAS": "Check menu alias plugin configuration",
|
||||
"VTMENU_JSON_CHK_MENU_TIP": "Check menu tip plugin configuration",
|
||||
"VTMENU_JSON_CHK_MENU_CLASS": "Check menu class plugin configuration",
|
||||
"VTMENU_JSON_CHK_INJECTION": "Check injection plugin configuration",
|
||||
"VTMENU_JSON_CHK_AUTO_MEMDISK": "Check auto memdisk plugin configuration",
|
||||
"VTMENU_JSON_CHK_IMG_LIST": "Check image list plugin configuration",
|
||||
"VTMENU_JSON_CHK_IMG_BLIST": "Check image blacklist plugin configuration",
|
||||
"VTMENU_JSON_CHK_CONF_REPLACE": "Check boot conf replace plugin configuration",
|
||||
"VTMENU_JSON_CHK_DUD": "Check dud plugin configuration",
|
||||
"VTMENU_JSON_CHK_PASSWORD": "Check password plugin configuration",
|
||||
|
||||
"VTMENU_NORMAL_MODE": "Boot in normal mode",
|
||||
"VTMENU_WIMBOOT_MODE": "Boot in wimboot mode",
|
||||
"VTMENU_GRUB2_MODE": "Boot in grub2 mode",
|
||||
"VTMENU_MEMDISK_MODE": "Boot in memdisk mode",
|
||||
|
||||
"VTMENU_RET_TO_LISTVIEW": "Return to ListView",
|
||||
"VTMENU_RET_TO_TREEVIEW": "Return to TreeView",
|
||||
|
||||
"VTMENU_NO_AUTOINS_SCRIPT": "Boot without auto installation template",
|
||||
"VTMENU_AUTOINS_USE": "Boot with",
|
||||
|
||||
"VTMENU_NO_PERSIST": "Boot without persistence",
|
||||
"VTMENU_PERSIST_USE": "Boot with",
|
||||
|
||||
"VTMENU_BROWER_RETURN": "Return",
|
||||
|
||||
"VTMENU_ENTER_EXIT": "press Enter key to exit",
|
||||
"VTMENU_ENTER_REBOOT": "press Enter key to reboot",
|
||||
"VTMENU_ENTER_CONTINUE": "press Enter key to continue",
|
||||
|
||||
"MENU_STR_XXX": ""
|
||||
}
|
85
INSTALL/grub/menu/fr_FR.json
Normal file
85
INSTALL/grub/menu/fr_FR.json
Normal file
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"VTMENU_LANGUAGE_NAME": "French (Français)",
|
||||
|
||||
"VTMENU_STR_HOTKEY_LIST": "L:Langue F1:Aide F2:Parcourir F3:Affichage liste F4:Démarrage local F5:Outils F6:Menu étendu",
|
||||
"VTMENU_STR_HOTKEY_TREE": "L:Langue F1:Aide F2:Parcourir F3:Affichage arborescence F4:Démarrage local F5:Outils F6:Menu étendu",
|
||||
"VTMENU_RETURN_PREVIOUS": "Retour au menu précédent [Echap]",
|
||||
|
||||
"VTMENU_MENU_LANG": "Sélection de la langue des menus",
|
||||
|
||||
"VTMENU_LB_SBOOT_WINDOWS": "Rechercher et démarrer Windows",
|
||||
"VTMENU_LB_SBOOT_G4D": "Rechercher et démarrer GRUB4DOS",
|
||||
"VTMENU_LB_SBOOT_HDD1": "Démarrer depuis le 1er disque local",
|
||||
"VTMENU_LB_SBOOT_HDD2": "Démarrer depuis le 2e disque local",
|
||||
"VTMENU_LB_SBOOT_HDD3": "Démarrer depuis le 3e disque local",
|
||||
"VTMENU_LB_SBOOT_X64EFI": "Rechercher et démarrer BOOTX64.EFI",
|
||||
"VTMENU_LB_SBOOT_IA32EFI": "Rechercher et démarrer BOOTIA32.EFI",
|
||||
"VTMENU_LB_SBOOT_AA64EFI": "Rechercher et démarrer BOOTAA64.EFI",
|
||||
"VTMENU_LB_SBOOT_XORBOOT": "Rechercher et démarrer xorboot",
|
||||
|
||||
"VTMENU_FILE_CHKSUM": "Somme de contrôle du fichier",
|
||||
"VTMENU_CHKSUM_MD5_CALC": "Calculer MD5",
|
||||
"VTMENU_CHKSUM_SHA1_CALC": "Calculer SHA1",
|
||||
"VTMENU_CHKSUM_SHA256_CALC": "Calculer SHA256",
|
||||
"VTMENU_CHKSUM_SHA512_CALC": "Calculer SHA512",
|
||||
"VTMENU_CHKSUM_MD5_CALC_CHK": "Calculer et vérifier MD5",
|
||||
"VTMENU_CHKSUM_SHA1_CALC_CHK": "Calculer et vérifier SHA1",
|
||||
"VTMENU_CHKSUM_SHA256_CALC_CHK": "Calculer et vérifier SHA256",
|
||||
"VTMENU_CHKSUM_SHA512_CALC_CHK": "Calculer et vérifier SHA512",
|
||||
|
||||
"VTMENU_POWER": "Extinction",
|
||||
"VTMENU_POWER_REBOOT": "Redémarrer",
|
||||
"VTMENU_POWER_HALT": "Éteindre",
|
||||
"VTMENU_POWER_BOOT_EFIFW": "Redémarrer et accéder au menu EFI",
|
||||
|
||||
"VTMENU_KEYBRD_LAYOUT": "Dispositions de clavier",
|
||||
"VTMENU_HWINFO": "Informations sur le matériel",
|
||||
|
||||
"VTMENU_RESOLUTION_CFG": "Configuration de la résolution",
|
||||
"VTMENU_SCREEN_MODE": "Mode d’affichage",
|
||||
"VTMENU_SCREEN_TEXT_MODE": "Mode texte",
|
||||
"VTMENU_SCREEN_GUI_MODE": "Mode graphique",
|
||||
|
||||
"VTMENU_THEME_SELECT": "Sélection du thème",
|
||||
|
||||
"VTMENU_UTIL_SHOW_EFI_DRV": "Afficher les pilotes EFI",
|
||||
"VTMENU_UTIL_FIX_BLINIT_FAIL": "Contourner l’échec de Windows BlinitializeLibrary",
|
||||
|
||||
"VTMENU_JSON_CHK_JSON": "Afficher le fichiers de configuration (ventoy.json)",
|
||||
"VTMENU_JSON_CHK_CONTROL": "Afficher la configuration du plugin de contrôle global",
|
||||
"VTMENU_JSON_CHK_THEME": "Afficher la configuration du plugin de thème",
|
||||
"VTMENU_JSON_CHK_AUTOINS": "Afficher la configuration du plugin d’installation automatique",
|
||||
"VTMENU_JSON_CHK_PERSIST": "Afficher la configuration du plugin de persistance",
|
||||
"VTMENU_JSON_CHK_MENU_ALIAS": "Afficher la configuration du plugin des alias du menu",
|
||||
"VTMENU_JSON_CHK_MENU_TIP": "Afficher la configuration du plugin des astuces du menu",
|
||||
"VTMENU_JSON_CHK_MENU_CLASS": "Afficher la configuration du plugin des classes du menu",
|
||||
"VTMENU_JSON_CHK_INJECTION": "Afficher la configuration du plugin d’injection",
|
||||
"VTMENU_JSON_CHK_AUTO_MEMDISK": "Afficher la configuration du plugin memdisk automatique",
|
||||
"VTMENU_JSON_CHK_IMG_LIST": "Afficher la configuration du plugin de liste des images",
|
||||
"VTMENU_JSON_CHK_IMG_BLIST": "Afficher la configuration du plugin de liste noire des images",
|
||||
"VTMENU_JSON_CHK_CONF_REPLACE": "Afficher la configuration du plugin de substitution des fichiers de démarrage",
|
||||
"VTMENU_JSON_CHK_DUD": "Afficher la configuration du plugin de disques de mise à jour des pilotes",
|
||||
"VTMENU_JSON_CHK_PASSWORD": "Afficher la configuration du plugin de mots de passe",
|
||||
|
||||
"VTMENU_NORMAL_MODE": "Démarrer en mode normal",
|
||||
"VTMENU_WIMBOOT_MODE": "Démarrer en mode WimBoot",
|
||||
"VTMENU_GRUB2_MODE": "Démarrer en mode GRUB 2",
|
||||
"VTMENU_MEMDISK_MODE": "Démarrer en mode Memdisk",
|
||||
|
||||
"VTMENU_RET_TO_LISTVIEW": "Revenir à l’affichage en liste",
|
||||
"VTMENU_RET_TO_TREEVIEW": "Revenir à l’affichage en arborescence",
|
||||
|
||||
"VTMENU_NO_AUTOINS_SCRIPT": "Démarrer en ignorant le modèle d’auto-installation",
|
||||
"VTMENU_AUTOINS_USE": "Démarrer en chargeant le modèle d’auto-installation",
|
||||
|
||||
"VTMENU_NO_PERSIST": "Démarrer sans persistance",
|
||||
"VTMENU_PERSIST_USE": "Démarrer avec la persistance",
|
||||
|
||||
"VTMENU_BROWER_RETURN": "Retour",
|
||||
|
||||
"VTMENU_ENTER_EXIT": "appuyez sur la touche Entrée pour quitter",
|
||||
"VTMENU_ENTER_REBOOT": "appuyez sur la touche Entrée pour redémarrer",
|
||||
"VTMENU_ENTER_CONTINUE": "appuyez sur la touche Entrée pour continuer",
|
||||
|
||||
"MENU_STR_XXX": ""
|
||||
}
|
85
INSTALL/grub/menu/hi_HI.json
Normal file
85
INSTALL/grub/menu/hi_HI.json
Normal file
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"VTMENU_LANGUAGE_NAME": "Hindi (हिन्दी)",
|
||||
|
||||
"VTMENU_STR_HOTKEY_LIST": "L:भाषा F1:मदद F2:ब्राउज़र F3:ListView F4:स्थानीयबूट F5:उपकरण F6:ExMenu",
|
||||
"VTMENU_STR_HOTKEY_TREE": "L:भाषा F1:मदद F2:ब्राउज़र F3:TreeView F4:स्थानीयबूट F5:उपकरण F6:ExMenu",
|
||||
"VTMENU_RETURN_PREVIOUS": "पिछले मेनू पर लौटें [Esc]",
|
||||
|
||||
"VTMENU_MENU_LANG": "मेनू भाषा का चयन करें",
|
||||
|
||||
"VTMENU_LB_SBOOT_WINDOWS": "Windows खोजें और बूट करें",
|
||||
"VTMENU_LB_SBOOT_G4D": "Grub4dos खोजें और बूट करें",
|
||||
"VTMENU_LB_SBOOT_HDD1": "पहली(1st) स्थानीय डिस्क को बूट करें",
|
||||
"VTMENU_LB_SBOOT_HDD2": "दूसरी(2nd) स्थानीय डिस्क बूट करें",
|
||||
"VTMENU_LB_SBOOT_HDD3": "तीसरी(3rd) स्थानीय डिस्क बूट करें",
|
||||
"VTMENU_LB_SBOOT_X64EFI": "BOOTX64.EFI खोजें और बूट करें",
|
||||
"VTMENU_LB_SBOOT_IA32EFI": "BOOTIA32.EFI खोजें और बूट करें",
|
||||
"VTMENU_LB_SBOOT_AA64EFI": "BOOTAA64.EFI खोजें और बूट करें",
|
||||
"VTMENU_LB_SBOOT_XORBOOT": "xorboot खोजें और बूट करें",
|
||||
|
||||
"VTMENU_FILE_CHKSUM": "फ़ाइल चेकसम",
|
||||
"VTMENU_CHKSUM_MD5_CALC": "Md5sum की गणना करें",
|
||||
"VTMENU_CHKSUM_SHA1_CALC": "sha1sum की गणना करें",
|
||||
"VTMENU_CHKSUM_SHA256_CALC": "sha256sum की गणना करें",
|
||||
"VTMENU_CHKSUM_SHA512_CALC": "sha512sum की गणना करें",
|
||||
"VTMENU_CHKSUM_MD5_CALC_CHK": "md5sum की गणना और जाँच करें",
|
||||
"VTMENU_CHKSUM_SHA1_CALC_CHK": "sha1sum की गणना और जाँच करें",
|
||||
"VTMENU_CHKSUM_SHA256_CALC_CHK": "sha256sum की गणना और जाँच करें",
|
||||
"VTMENU_CHKSUM_SHA512_CALC_CHK": "sha512sum की गणना और जाँच करें",
|
||||
|
||||
"VTMENU_POWER": "पावर",
|
||||
"VTMENU_POWER_REBOOT": "रीबूट",
|
||||
"VTMENU_POWER_HALT": "हाल्ट",
|
||||
"VTMENU_POWER_BOOT_EFIFW": "EFI सेटअप के लिए रीबूट करें",
|
||||
|
||||
"VTMENU_KEYBRD_LAYOUT": "कीबोर्ड लेआउट",
|
||||
"VTMENU_HWINFO": "हार्डवेयर की जानकारी",
|
||||
|
||||
"VTMENU_RESOLUTION_CFG": "रिज़ॉल्यूशन कॉन्फ़िगरेशन",
|
||||
"VTMENU_SCREEN_MODE": "Screen Display मोड",
|
||||
"VTMENU_SCREEN_TEXT_MODE": "फोर्स Text मोड",
|
||||
"VTMENU_SCREEN_GUI_MODE": "फोर्स Graphics मोड",
|
||||
|
||||
"VTMENU_THEME_SELECT": "थीम का चयन",
|
||||
|
||||
"VTMENU_UTIL_SHOW_EFI_DRV": "EFI ड्राइवर्स दिखाएं",
|
||||
"VTMENU_UTIL_FIX_BLINIT_FAIL": "Windows BlinitializeLibrary विफलता को ठीक करें",
|
||||
|
||||
"VTMENU_JSON_CHK_JSON": "प्लगइन json विन्यास की जाँच करें (ventoy.json)",
|
||||
"VTMENU_JSON_CHK_CONTROL": "global control प्लगइन विन्यास की जाँच करें",
|
||||
"VTMENU_JSON_CHK_THEME": "theme प्लगइन विन्यास की जाँच करें",
|
||||
"VTMENU_JSON_CHK_AUTOINS": "auto install प्लगइन विन्यास की जाँच करें",
|
||||
"VTMENU_JSON_CHK_PERSIST": "persistence प्लगइन विन्यास की जाँच करें",
|
||||
"VTMENU_JSON_CHK_MENU_ALIAS": "menu alias प्लगइन विन्यास की जाँच करें",
|
||||
"VTMENU_JSON_CHK_MENU_TIP": "menu tip प्लगइन विन्यास की जाँच करें",
|
||||
"VTMENU_JSON_CHK_MENU_CLASS": "menu class प्लगइन विन्यास की जाँच करें",
|
||||
"VTMENU_JSON_CHK_INJECTION": "injection प्लगइन विन्यास की जाँच करें",
|
||||
"VTMENU_JSON_CHK_AUTO_MEMDISK": "auto memdisk प्लगइन विन्यास की जाँच करें",
|
||||
"VTMENU_JSON_CHK_IMG_LIST": "image list प्लगइन विन्यास की जाँच करें",
|
||||
"VTMENU_JSON_CHK_IMG_BLIST": "image blacklist प्लगइन विन्यास की जाँच करें",
|
||||
"VTMENU_JSON_CHK_CONF_REPLACE": "boot conf replace प्लगइन विन्यास की जाँच करें",
|
||||
"VTMENU_JSON_CHK_DUD": "dud प्लगइन विन्यास की जाँच करें",
|
||||
"VTMENU_JSON_CHK_PASSWORD": "password प्लगइन विन्यास की जाँच करें",
|
||||
|
||||
"VTMENU_NORMAL_MODE": "सामान्य मोड में बूट करें",
|
||||
"VTMENU_WIMBOOT_MODE": "wimboot मोड में बूट करें",
|
||||
"VTMENU_GRUB2_MODE": "grub2 मोड में बूट करें",
|
||||
"VTMENU_MEMDISK_MODE": "memdisk मोड में बूट करें",
|
||||
|
||||
"VTMENU_RET_TO_LISTVIEW": "ListView पर वापस जाएँ",
|
||||
"VTMENU_RET_TO_TREEVIEW": "TreeView पर वापस जाएँ",
|
||||
|
||||
"VTMENU_NO_AUTOINS_SCRIPT": "ऑटो इंस्टॉलेशन टेम्पलेट के बिना बूट करें",
|
||||
"VTMENU_AUTOINS_USE": "के साथ बूट करें",
|
||||
|
||||
"VTMENU_NO_PERSIST": "बिना persistence के बूट करें",
|
||||
"VTMENU_PERSIST_USE": "के साथ बूट करें",
|
||||
|
||||
"VTMENU_BROWER_RETURN": "लौटें",
|
||||
|
||||
"VTMENU_ENTER_EXIT": "बाहर निकलने के लिए एंटर कुंजी दबाएं",
|
||||
"VTMENU_ENTER_REBOOT": "रिबूट करने के लिए एंटर कुंजी दबाएं",
|
||||
"VTMENU_ENTER_CONTINUE": "जारी रखने के लिए एंटर कुंजी दबाएं",
|
||||
|
||||
"MENU_STR_XXX": ""
|
||||
}
|
85
INSTALL/grub/menu/hr_HR.json
Normal file
85
INSTALL/grub/menu/hr_HR.json
Normal file
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"VTMENU_LANGUAGE_NAME": "Croatian (Hrvatski)",
|
||||
|
||||
"VTMENU_STR_HOTKEY_LIST": "L:Jezik F1:Help F2:Browse F3:ListView F4:Localboot F5:Tools F6:ExMenu",
|
||||
"VTMENU_STR_HOTKEY_TREE": "L:Jezik F1:Help F2:Browse F3:TreeView F4:Localboot F5:Tools F6:ExMenu",
|
||||
"VTMENU_RETURN_PREVIOUS": "Return to previous menu [Esc]",
|
||||
|
||||
"VTMENU_MENU_LANG": "Menu Language Select",
|
||||
|
||||
"VTMENU_LB_SBOOT_WINDOWS": "Search and boot Windows",
|
||||
"VTMENU_LB_SBOOT_G4D": "Search and boot Grub4dos",
|
||||
"VTMENU_LB_SBOOT_HDD1": "Boot the 1st local disk",
|
||||
"VTMENU_LB_SBOOT_HDD2": "Boot the 2nd local disk",
|
||||
"VTMENU_LB_SBOOT_HDD3": "Boot the 3rd local disk",
|
||||
"VTMENU_LB_SBOOT_X64EFI": "Search and boot BOOTX64.EFI",
|
||||
"VTMENU_LB_SBOOT_IA32EFI": "Search and boot BOOTIA32.EFI",
|
||||
"VTMENU_LB_SBOOT_AA64EFI": "Search and boot BOOTAA64.EFI",
|
||||
"VTMENU_LB_SBOOT_XORBOOT": "Search and boot xorboot",
|
||||
|
||||
"VTMENU_FILE_CHKSUM": "File checksum",
|
||||
"VTMENU_CHKSUM_MD5_CALC": "Calculate md5sum",
|
||||
"VTMENU_CHKSUM_SHA1_CALC": "Calculate sha1sum",
|
||||
"VTMENU_CHKSUM_SHA256_CALC": "Calculate sha256sum",
|
||||
"VTMENU_CHKSUM_SHA512_CALC": "Calculate sha512sum",
|
||||
"VTMENU_CHKSUM_MD5_CALC_CHK": "Calculate and check md5sum",
|
||||
"VTMENU_CHKSUM_SHA1_CALC_CHK": "Calculate and check sha1sum",
|
||||
"VTMENU_CHKSUM_SHA256_CALC_CHK": "Calculate and check sha256sum",
|
||||
"VTMENU_CHKSUM_SHA512_CALC_CHK": "Calculate and check sha512sum",
|
||||
|
||||
"VTMENU_POWER": "Power",
|
||||
"VTMENU_POWER_REBOOT": "Reboot",
|
||||
"VTMENU_POWER_HALT": "Halt",
|
||||
"VTMENU_POWER_BOOT_EFIFW": "Reboot to EFI setup",
|
||||
|
||||
"VTMENU_KEYBRD_LAYOUT": "Keyboard Layouts",
|
||||
"VTMENU_HWINFO": "Hardware Information",
|
||||
|
||||
"VTMENU_RESOLUTION_CFG": "Resolution Configuration",
|
||||
"VTMENU_SCREEN_MODE": "Screen Display Mode",
|
||||
"VTMENU_SCREEN_TEXT_MODE": "Force Text Mode",
|
||||
"VTMENU_SCREEN_GUI_MODE": "Force Graphics Mode",
|
||||
|
||||
"VTMENU_THEME_SELECT": "Theme Select",
|
||||
|
||||
"VTMENU_UTIL_SHOW_EFI_DRV": "Show EFI Drivers",
|
||||
"VTMENU_UTIL_FIX_BLINIT_FAIL": "Fixup Windows BlinitializeLibrary Failure",
|
||||
|
||||
"VTMENU_JSON_CHK_JSON": "Check plugin json configuration (ventoy.json)",
|
||||
"VTMENU_JSON_CHK_CONTROL": "Check global control plugin configuration",
|
||||
"VTMENU_JSON_CHK_THEME": "Check theme plugin configuration",
|
||||
"VTMENU_JSON_CHK_AUTOINS": "Check auto install plugin configuration",
|
||||
"VTMENU_JSON_CHK_PERSIST": "Check persistence plugin configuration",
|
||||
"VTMENU_JSON_CHK_MENU_ALIAS": "Check menu alias plugin configuration",
|
||||
"VTMENU_JSON_CHK_MENU_TIP": "Check menu tip plugin configuration",
|
||||
"VTMENU_JSON_CHK_MENU_CLASS": "Check menu class plugin configuration",
|
||||
"VTMENU_JSON_CHK_INJECTION": "Check injection plugin configuration",
|
||||
"VTMENU_JSON_CHK_AUTO_MEMDISK": "Check auto memdisk plugin configuration",
|
||||
"VTMENU_JSON_CHK_IMG_LIST": "Check image list plugin configuration",
|
||||
"VTMENU_JSON_CHK_IMG_BLIST": "Check image blacklist plugin configuration",
|
||||
"VTMENU_JSON_CHK_CONF_REPLACE": "Check boot conf replace plugin configuration",
|
||||
"VTMENU_JSON_CHK_DUD": "Check dud plugin configuration",
|
||||
"VTMENU_JSON_CHK_PASSWORD": "Check password plugin configuration",
|
||||
|
||||
"VTMENU_NORMAL_MODE": "Boot in normal mode",
|
||||
"VTMENU_WIMBOOT_MODE": "Boot in wimboot mode",
|
||||
"VTMENU_GRUB2_MODE": "Boot in grub2 mode",
|
||||
"VTMENU_MEMDISK_MODE": "Boot in memdisk mode",
|
||||
|
||||
"VTMENU_RET_TO_LISTVIEW": "Return to ListView",
|
||||
"VTMENU_RET_TO_TREEVIEW": "Return to TreeView",
|
||||
|
||||
"VTMENU_NO_AUTOINS_SCRIPT": "Boot without auto installation template",
|
||||
"VTMENU_AUTOINS_USE": "Boot with",
|
||||
|
||||
"VTMENU_NO_PERSIST": "Boot without persistence",
|
||||
"VTMENU_PERSIST_USE": "Boot with",
|
||||
|
||||
"VTMENU_BROWER_RETURN": "Return",
|
||||
|
||||
"VTMENU_ENTER_EXIT": "pritisnite tipku Enter za izlaz",
|
||||
"VTMENU_ENTER_REBOOT": "pritisnite tipku Enter za ponovno pokretanje",
|
||||
"VTMENU_ENTER_CONTINUE": "pritisnite tipku Enter za nastavak",
|
||||
|
||||
"MENU_STR_XXX": ""
|
||||
}
|
85
INSTALL/grub/menu/hu_HU.json
Normal file
85
INSTALL/grub/menu/hu_HU.json
Normal file
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"VTMENU_LANGUAGE_NAME": "Hungarian (Magyar)",
|
||||
|
||||
"VTMENU_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ü",
|
||||
"VTMENU_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ü",
|
||||
"VTMENU_RETURN_PREVIOUS": "Vissza az előző menübe [Esc]",
|
||||
|
||||
"VTMENU_MENU_LANG": "Menü nyelv kiválasztás",
|
||||
|
||||
"VTMENU_LB_SBOOT_WINDOWS": "Keresés és indítás - Windows",
|
||||
"VTMENU_LB_SBOOT_G4D": "Keresés és indítás - Grub4dos",
|
||||
"VTMENU_LB_SBOOT_HDD1": "Indítás az 1. helyi lemezről",
|
||||
"VTMENU_LB_SBOOT_HDD2": "Indítás az 2. helyi lemezről",
|
||||
"VTMENU_LB_SBOOT_HDD3": "Indítás az 3. helyi lemezről",
|
||||
"VTMENU_LB_SBOOT_X64EFI": "Keresés és indítás - BOOTX64.EFI",
|
||||
"VTMENU_LB_SBOOT_IA32EFI": "Keresés és indítás - BOOTIA32.EFI",
|
||||
"VTMENU_LB_SBOOT_AA64EFI": "Keresés és indítás - BOOTAA64.EFI",
|
||||
"VTMENU_LB_SBOOT_XORBOOT": "Keresés és indítás - xorboot",
|
||||
|
||||
"VTMENU_FILE_CHKSUM": "Fájl ell.összeg",
|
||||
"VTMENU_CHKSUM_MD5_CALC": "Számítás - md5sum",
|
||||
"VTMENU_CHKSUM_SHA1_CALC": "Számítás - sha1sum",
|
||||
"VTMENU_CHKSUM_SHA256_CALC": "Számítás - sha256sum",
|
||||
"VTMENU_CHKSUM_SHA512_CALC": "Számítás - sha512sum",
|
||||
"VTMENU_CHKSUM_MD5_CALC_CHK": "Számítás és ellenőrzés - md5sum",
|
||||
"VTMENU_CHKSUM_SHA1_CALC_CHK": "Számítás és ellenőrzés - sha1sum",
|
||||
"VTMENU_CHKSUM_SHA256_CALC_CHK": "Számítás és ellenőrzés - sha256sum",
|
||||
"VTMENU_CHKSUM_SHA512_CALC_CHK": "Számítás és ellenőrzés - sha512sum",
|
||||
|
||||
"VTMENU_POWER": "Energia",
|
||||
"VTMENU_POWER_REBOOT": "Újraindítás",
|
||||
"VTMENU_POWER_HALT": "Leállítás",
|
||||
"VTMENU_POWER_BOOT_EFIFW": "Újraindítás - EFI setup",
|
||||
|
||||
"VTMENU_KEYBRD_LAYOUT": "Billentyű kiosztások",
|
||||
"VTMENU_HWINFO": "Hardver információ",
|
||||
|
||||
"VTMENU_RESOLUTION_CFG": "Felbontás konfigurációja",
|
||||
"VTMENU_SCREEN_MODE": "Képernyő megjelenítési mód",
|
||||
"VTMENU_SCREEN_TEXT_MODE": "Kénysz. szöveges mód",
|
||||
"VTMENU_SCREEN_GUI_MODE": "Kénysz. grafikus mód",
|
||||
|
||||
"VTMENU_THEME_SELECT": "Téma kiválasztása",
|
||||
|
||||
"VTMENU_UTIL_SHOW_EFI_DRV": "EFI driverek megjelenítése",
|
||||
"VTMENU_UTIL_FIX_BLINIT_FAIL": "A Windows BlinitializeLibrary hibájának javítása",
|
||||
|
||||
"VTMENU_JSON_CHK_JSON": "Ellenőrizze a plugin json konfigurációt (ventoy.json)",
|
||||
"VTMENU_JSON_CHK_CONTROL": "Ellenőrizze a globális vezérlő plugin konfigurációt",
|
||||
"VTMENU_JSON_CHK_THEME": "Ellenőrizze a téma plugin konfigurációt",
|
||||
"VTMENU_JSON_CHK_AUTOINS": "Ellenőrizze az auto. telepítő plugin konfigurációt",
|
||||
"VTMENU_JSON_CHK_PERSIST": "A persistence plugin konfigurációjának ellenőrzése",
|
||||
"VTMENU_JSON_CHK_MENU_ALIAS": "Ellenőrizze a menü alias plugin konfigurációt",
|
||||
"VTMENU_JSON_CHK_MENU_TIP": "Ellenőrizze a menü tipp plugin konfigurációt",
|
||||
"VTMENU_JSON_CHK_MENU_CLASS": "Ellenőrizze a menü osztály plugin konfigurációt",
|
||||
"VTMENU_JSON_CHK_INJECTION": "Injekciós plugin konfiguráció ellenőrzése",
|
||||
"VTMENU_JSON_CHK_AUTO_MEMDISK": "Auto. memdisk plugin konfiguráció ellenőrzése",
|
||||
"VTMENU_JSON_CHK_IMG_LIST": "Ellenőrizze a képlista plugin beállításait",
|
||||
"VTMENU_JSON_CHK_IMG_BLIST": "Ellenőrizze a kép feketelista plugin konfigurációt",
|
||||
"VTMENU_JSON_CHK_CONF_REPLACE": "Check boot conf cserélje ki a plugin konfigurációt",
|
||||
"VTMENU_JSON_CHK_DUD": "Ellenőrizze a dud plugin konfigurációt",
|
||||
"VTMENU_JSON_CHK_PASSWORD": "Ellenőrizze a jelszó plugin konfigurációját",
|
||||
|
||||
"VTMENU_NORMAL_MODE": "Indítás normál módban",
|
||||
"VTMENU_WIMBOOT_MODE": "Indítás wimboot módban",
|
||||
"VTMENU_GRUB2_MODE": "Indítás grub2 módban",
|
||||
"VTMENU_MEMDISK_MODE": "Indítás memdisk módban",
|
||||
|
||||
"VTMENU_RET_TO_LISTVIEW": "Vissza a Listanézethez",
|
||||
"VTMENU_RET_TO_TREEVIEW": "Vissza a Fanézethez",
|
||||
|
||||
"VTMENU_NO_AUTOINS_SCRIPT": "Indítás auto. telepítési sablon nélkül",
|
||||
"VTMENU_AUTOINS_USE": "Indítás ezzel",
|
||||
|
||||
"VTMENU_NO_PERSIST": "Indítás perzisztencia nélkül",
|
||||
"VTMENU_PERSIST_USE": "Indítás ezzel",
|
||||
|
||||
"VTMENU_BROWER_RETURN": "Vissza",
|
||||
|
||||
"VTMENU_ENTER_EXIT": "nyomja meg az Enter billentyűt a kilépéshez",
|
||||
"VTMENU_ENTER_REBOOT": "nyomja meg az Enter billentyűt az újraindításhoz",
|
||||
"VTMENU_ENTER_CONTINUE": "a folytatáshoz nyomja meg az Enter billentyűt",
|
||||
|
||||
"MENU_STR_XXX": ""
|
||||
}
|
85
INSTALL/grub/menu/id_ID.json
Normal file
85
INSTALL/grub/menu/id_ID.json
Normal file
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"VTMENU_LANGUAGE_NAME": "Indonesian (Bahasa Indonesia)",
|
||||
|
||||
"VTMENU_STR_HOTKEY_LIST": "L:Bahasa F1:Bantuan F2:Jelajah F3:ListView F4:boot lokal F5:Alat Utilitas F6:Menu Eksternal",
|
||||
"VTMENU_STR_HOTKEY_TREE": "L:Bahasa F1:Bantuan F2:Jelajah F3:ListView F4:boot lokal F5:Alat Utilitas F6:Menu Eksternal",
|
||||
"VTMENU_RETURN_PREVIOUS": "Kembali ke menu sebelumnya [Esc]",
|
||||
|
||||
"VTMENU_MENU_LANG": "Menu Pilihan Bahasa",
|
||||
|
||||
"VTMENU_LB_SBOOT_WINDOWS": "Mencari dan jalankan boot ke Windows",
|
||||
"VTMENU_LB_SBOOT_G4D": "Mencari dan jalankan boot ke Grub4dos",
|
||||
"VTMENU_LB_SBOOT_HDD1": "Jalankan boot ke disk lokal 1",
|
||||
"VTMENU_LB_SBOOT_HDD2": "Jalankan boot ke disk lokal 2",
|
||||
"VTMENU_LB_SBOOT_HDD3": "Jalankan boot ke disk lokal 3",
|
||||
"VTMENU_LB_SBOOT_X64EFI": "Jalankan boot ke disk lokal nomor 1 BOOTX64.EFI",
|
||||
"VTMENU_LB_SBOOT_IA32EFI": "Mencari dan jalankan boot ke BOOTIA32.EFI",
|
||||
"VTMENU_LB_SBOOT_AA64EFI": "Mencari dan jalankan boot ke BOOTAA64.EFI",
|
||||
"VTMENU_LB_SBOOT_XORBOOT": "Mencari dan jalankan boot ke xorboot",
|
||||
|
||||
"VTMENU_FILE_CHKSUM": "Berkas checksum",
|
||||
"VTMENU_CHKSUM_MD5_CALC": "Menghitung md5sum",
|
||||
"VTMENU_CHKSUM_SHA1_CALC": "Menghitung sha1sum",
|
||||
"VTMENU_CHKSUM_SHA256_CALC": "Menghitung sha256sum",
|
||||
"VTMENU_CHKSUM_SHA512_CALC": "Menghitung sha512sum",
|
||||
"VTMENU_CHKSUM_MD5_CALC_CHK": "Menghitung dan memeriksa md5sum",
|
||||
"VTMENU_CHKSUM_SHA1_CALC_CHK": "Menghitung dan memeriksa sha1sum",
|
||||
"VTMENU_CHKSUM_SHA256_CALC_CHK": "Menghitung dan memeriksa sha256sum",
|
||||
"VTMENU_CHKSUM_SHA512_CALC_CHK": "Menghitung dan memeriksa sha512sum",
|
||||
|
||||
"VTMENU_POWER": "Daya",
|
||||
"VTMENU_POWER_REBOOT": "Memulai ulang",
|
||||
"VTMENU_POWER_HALT": "Mematikan",
|
||||
"VTMENU_POWER_BOOT_EFIFW": "Memulai ulang menuju EFI setup",
|
||||
|
||||
"VTMENU_KEYBRD_LAYOUT": "Tata letak Keyboard",
|
||||
"VTMENU_HWINFO": "Informasi Perangkat Keras",
|
||||
|
||||
"VTMENU_RESOLUTION_CFG": "Setelan Resolusi",
|
||||
"VTMENU_SCREEN_MODE": "Mode Tampilan Layar",
|
||||
"VTMENU_SCREEN_TEXT_MODE": "Paksa ke Mode Teks",
|
||||
"VTMENU_SCREEN_GUI_MODE": "Paksa ke Mode Grafis",
|
||||
|
||||
"VTMENU_THEME_SELECT": "Pilih Tema",
|
||||
|
||||
"VTMENU_UTIL_SHOW_EFI_DRV": "Tampilkan Driver EFI",
|
||||
"VTMENU_UTIL_FIX_BLINIT_FAIL": "Memperbaiki Kegagalan Windows BlinitializeLibrary",
|
||||
|
||||
"VTMENU_JSON_CHK_JSON": "Periksa setelan plugin (ventoy.json)",
|
||||
"VTMENU_JSON_CHK_CONTROL": "Periksa setelan plugin global control",
|
||||
"VTMENU_JSON_CHK_THEME": "Periksa setelan plugin theme",
|
||||
"VTMENU_JSON_CHK_AUTOINS": "Periksa setelan plugin auto install",
|
||||
"VTMENU_JSON_CHK_PERSIST": "Periksa setelan plugin persistence",
|
||||
"VTMENU_JSON_CHK_MENU_ALIAS": "Periksa setelan plugin menu alias",
|
||||
"VTMENU_JSON_CHK_MENU_TIP": "Periksa setelan plugin tip",
|
||||
"VTMENU_JSON_CHK_MENU_CLASS": "Periksa setelan class plugin menu",
|
||||
"VTMENU_JSON_CHK_INJECTION": "Periksa setelan plugin injection",
|
||||
"VTMENU_JSON_CHK_AUTO_MEMDISK": "Periksa setelan plugin auto memdisk",
|
||||
"VTMENU_JSON_CHK_IMG_LIST": "Periksa setelan plugin image list",
|
||||
"VTMENU_JSON_CHK_IMG_BLIST": "Periksa setelant plugin image blacklis",
|
||||
"VTMENU_JSON_CHK_CONF_REPLACE": "Periksa setelan plugin boot conf replace",
|
||||
"VTMENU_JSON_CHK_DUD": "Periksa setelan plugin dud",
|
||||
"VTMENU_JSON_CHK_PASSWORD": "Periksa setelan plugin password",
|
||||
|
||||
"VTMENU_NORMAL_MODE": "Jalankan boot di mode normal",
|
||||
"VTMENU_WIMBOOT_MODE": "Jalankan boot di mode wimboot",
|
||||
"VTMENU_GRUB2_MODE": "Jalankan boot di mode grub2",
|
||||
"VTMENU_MEMDISK_MODE": "Jalankan boot di mode memdisk",
|
||||
|
||||
"VTMENU_RET_TO_LISTVIEW": "Kembali ke ListView",
|
||||
"VTMENU_RET_TO_TREEVIEW": "Kembali ke TreeView",
|
||||
|
||||
"VTMENU_NO_AUTOINS_SCRIPT": "Jalankan boot tanpa templat instalasi otomatis",
|
||||
"VTMENU_AUTOINS_USE": "Jalankan boot dengan",
|
||||
|
||||
"VTMENU_NO_PERSIST": "Jalankan boot tanpa persistence",
|
||||
"VTMENU_PERSIST_USE": "Jalankan boot",
|
||||
|
||||
"VTMENU_BROWER_RETURN": "Kembali",
|
||||
|
||||
"VTMENU_ENTER_EXIT": "tekan tombol Enter untuk keluar",
|
||||
"VTMENU_ENTER_REBOOT": "tekan tombol Enter untuk reboot",
|
||||
"VTMENU_ENTER_CONTINUE": "tekan tombol Enter untuk melanjutkan",
|
||||
|
||||
"MENU_STR_XXX": ""
|
||||
}
|
85
INSTALL/grub/menu/ja_JP.json
Normal file
85
INSTALL/grub/menu/ja_JP.json
Normal file
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"VTMENU_LANGUAGE_NAME": "Japanese (日本語)",
|
||||
|
||||
"VTMENU_STR_HOTKEY_LIST": "L:言語 F1:ヘルプ F2:ブラウズ F3:リストビュー F4:Localboot F5:ツール F6:拡張メニュー",
|
||||
"VTMENU_STR_HOTKEY_TREE": "L:言語 F1:ヘルプ F2:ブラウズ F3:ツリー表示 F4:Localboot F5:ツール F6:拡張メニュー",
|
||||
"VTMENU_RETURN_PREVIOUS": "前のメニューに戻る [Esc]",
|
||||
|
||||
"VTMENU_MENU_LANG": "メニュー言語選択",
|
||||
|
||||
"VTMENU_LB_SBOOT_WINDOWS": "Windows を検索して起動する",
|
||||
"VTMENU_LB_SBOOT_G4D": "Grub4dos を検索して起動する",
|
||||
"VTMENU_LB_SBOOT_HDD1": "最初のローカル ディスクを起動します",
|
||||
"VTMENU_LB_SBOOT_HDD2": "2 番目のローカル ディスクを起動する",
|
||||
"VTMENU_LB_SBOOT_HDD3": "3 番目のローカル ディスクを起動する",
|
||||
"VTMENU_LB_SBOOT_X64EFI": "BOOTX64.EFI を検索して起動する",
|
||||
"VTMENU_LB_SBOOT_IA32EFI": "BOOTIA32.EFI を検索して起動する",
|
||||
"VTMENU_LB_SBOOT_AA64EFI": "BOOTAA64.EFI を検索して起動する",
|
||||
"VTMENU_LB_SBOOT_XORBOOT": "xorboot を検索して起動する",
|
||||
|
||||
"VTMENU_FILE_CHKSUM": "ファイルのチェックサム",
|
||||
"VTMENU_CHKSUM_MD5_CALC": "MD5 を計算する",
|
||||
"VTMENU_CHKSUM_SHA1_CALC": "SHA1 を計算する",
|
||||
"VTMENU_CHKSUM_SHA256_CALC": "SHA256 を計算する",
|
||||
"VTMENU_CHKSUM_SHA512_CALC": "SHA512 を計算する",
|
||||
"VTMENU_CHKSUM_MD5_CALC_CHK": "MD5 を計算して確認する",
|
||||
"VTMENU_CHKSUM_SHA1_CALC_CHK": "SHA1 を計算して確認する",
|
||||
"VTMENU_CHKSUM_SHA256_CALC_CHK": "SHA256 を計算して確認する",
|
||||
"VTMENU_CHKSUM_SHA512_CALC_CHK": "SHA512 を計算して確認する",
|
||||
|
||||
"VTMENU_POWER": "電源",
|
||||
"VTMENU_POWER_REBOOT": "リブート",
|
||||
"VTMENU_POWER_HALT": "電源を切る",
|
||||
"VTMENU_POWER_BOOT_EFIFW": "再起動して EFI セットアップ",
|
||||
|
||||
"VTMENU_KEYBRD_LAYOUT": "キーボード・レイアウト",
|
||||
"VTMENU_HWINFO": "ハードウェア情報",
|
||||
|
||||
"VTMENU_RESOLUTION_CFG": "画面の解像度",
|
||||
"VTMENU_SCREEN_MODE": "ディスプレイモード",
|
||||
"VTMENU_SCREEN_TEXT_MODE": "テキストモード",
|
||||
"VTMENU_SCREEN_GUI_MODE": "グラフィックモード",
|
||||
|
||||
"VTMENU_THEME_SELECT": "テーマを選ぶ",
|
||||
|
||||
"VTMENU_UTIL_SHOW_EFI_DRV": "Show EFI Drivers",
|
||||
"VTMENU_UTIL_FIX_BLINIT_FAIL": "Fixup Windows BlinitializeLibrary Failure",
|
||||
|
||||
"VTMENU_JSON_CHK_JSON": "プラグインの json 構成を確認する (ventoy.json)",
|
||||
"VTMENU_JSON_CHK_CONTROL": "Global Control プラグインの構成を確認する",
|
||||
"VTMENU_JSON_CHK_THEME": "Theme プラグインの構成を確認する",
|
||||
"VTMENU_JSON_CHK_AUTOINS": "Auto install プラグインの構成を確認する",
|
||||
"VTMENU_JSON_CHK_PERSIST": "Persistence プラグインの構成を確認する",
|
||||
"VTMENU_JSON_CHK_MENU_ALIAS": "Menu alias プラグインの構成を確認する",
|
||||
"VTMENU_JSON_CHK_MENU_TIP": "Menu tip プラグインの構成を確認する",
|
||||
"VTMENU_JSON_CHK_MENU_CLASS": "Menu class プラグインの構成を確認する",
|
||||
"VTMENU_JSON_CHK_INJECTION": "Injection プラグインの構成を確認する",
|
||||
"VTMENU_JSON_CHK_AUTO_MEMDISK": "Auto memdisk プラグインの構成を確認する",
|
||||
"VTMENU_JSON_CHK_IMG_LIST": "Image list プラグインの構成を確認する",
|
||||
"VTMENU_JSON_CHK_IMG_BLIST": "Image black list プラグインの構成を確認する",
|
||||
"VTMENU_JSON_CHK_CONF_REPLACE": "Boot conf replace プラグインの構成を確認する",
|
||||
"VTMENU_JSON_CHK_DUD": "DUD プラグインの構成を確認する",
|
||||
"VTMENU_JSON_CHK_PASSWORD": "Password プラグインの構成を確認する",
|
||||
|
||||
"VTMENU_NORMAL_MODE": "通常モードで起動",
|
||||
"VTMENU_WIMBOOT_MODE": "wimboot モードで起動",
|
||||
"VTMENU_GRUB2_MODE": "grub2 モードで起動",
|
||||
"VTMENU_MEMDISK_MODE": "memdisk モードで起動",
|
||||
|
||||
"VTMENU_RET_TO_LISTVIEW": "リストビューに戻る",
|
||||
"VTMENU_RET_TO_TREEVIEW": "ツリー ビューに戻る",
|
||||
|
||||
"VTMENU_NO_AUTOINS_SCRIPT": "自動インストール テンプレートを使用しない",
|
||||
"VTMENU_AUTOINS_USE": "使用する",
|
||||
|
||||
"VTMENU_NO_PERSIST": "データ永続性を使用しない",
|
||||
"VTMENU_PERSIST_USE": "使用する",
|
||||
|
||||
"VTMENU_BROWER_RETURN": "戻る",
|
||||
|
||||
"VTMENU_ENTER_EXIT": "Enterキーを押して終了します",
|
||||
"VTMENU_ENTER_REBOOT": "Enterキーを押して再起動します",
|
||||
"VTMENU_ENTER_CONTINUE": "Enterキーを押して続行します",
|
||||
|
||||
"MENU_STR_XXX": ""
|
||||
}
|
85
INSTALL/grub/menu/ka_GE.json
Normal file
85
INSTALL/grub/menu/ka_GE.json
Normal file
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"VTMENU_LANGUAGE_NAME": "Georgian (ქართული)",
|
||||
|
||||
"VTMENU_STR_HOTKEY_LIST": "L:ენა F1:დახმარება F2:დათვალიერება F3:სიის ხედი F4:ლოკალური ჩატვირთვა F5:ხელსაწყოები F6:გასვლა",
|
||||
"VTMENU_STR_HOTKEY_TREE": "L:ენა F1:დახმარება F2:დათვალიერება F3:ხის ხედი F4:ლოკალური ჩატვირთვა F5:ხელსაწყოები F6:გასვლა",
|
||||
"VTMENU_RETURN_PREVIOUS": "წინა მენიუში დაბრუნება [Esc]",
|
||||
|
||||
"VTMENU_MENU_LANG": "მენიუს ენის არჩევა",
|
||||
|
||||
"VTMENU_LB_SBOOT_WINDOWS": "Windows-ის მოძებნა და ჩატვირთვა",
|
||||
"VTMENU_LB_SBOOT_G4D": "Grub4dos-ის მოძებნა და ჩატვირთვა",
|
||||
"VTMENU_LB_SBOOT_HDD1": "1-ლი ლოკალური მყარი დისკიდან ჩატვირთვა",
|
||||
"VTMENU_LB_SBOOT_HDD2": "მე-2 ლოკალური მყარი დისკიდან ჩატვირთვა",
|
||||
"VTMENU_LB_SBOOT_HDD3": "მე-3 ლოკალური მყარი დისკიდან ჩატვირთვა",
|
||||
"VTMENU_LB_SBOOT_X64EFI": "BOOTX64.EFI-ის მოძებნა და ჩატვირთვა",
|
||||
"VTMENU_LB_SBOOT_IA32EFI": "BOOTIA32.EFI-ის მოძებნა და ჩატვირთვა",
|
||||
"VTMENU_LB_SBOOT_AA64EFI": "BOOTAA64.EFI-ის მოძებნა და ჩატვირთვა",
|
||||
"VTMENU_LB_SBOOT_XORBOOT": "xorboot-ის მოძებნა და ჩატვირთვა",
|
||||
|
||||
"VTMENU_FILE_CHKSUM": "ფაილის საკონტროლო ჯამი",
|
||||
"VTMENU_CHKSUM_MD5_CALC": "md5sum გამოთვლა",
|
||||
"VTMENU_CHKSUM_SHA1_CALC": "sha1sum გამოთვლა",
|
||||
"VTMENU_CHKSUM_SHA256_CALC": "sha256sum გამოთვლა",
|
||||
"VTMENU_CHKSUM_SHA512_CALC": "sha512sum გამოთვლა",
|
||||
"VTMENU_CHKSUM_MD5_CALC_CHK": "md5sum გამოთვლა და შემოწმება",
|
||||
"VTMENU_CHKSUM_SHA1_CALC_CHK": "sha1sum გამოთვლა და შემოწმება",
|
||||
"VTMENU_CHKSUM_SHA256_CALC_CHK": "sha256sum გამოთვლა და შემოწმება",
|
||||
"VTMENU_CHKSUM_SHA512_CALC_CHK": "sha512sum გამოთვლა და შემოწმება",
|
||||
|
||||
"VTMENU_POWER": "კომპიუტერის გამორთვა",
|
||||
"VTMENU_POWER_REBOOT": "კომპიუტერის გადატვირთვა",
|
||||
"VTMENU_POWER_HALT": "კომპიუტერის გაჩერება",
|
||||
"VTMENU_POWER_BOOT_EFIFW": "გადატვირთვა EFI კონფიგურაციის რეჟიმში",
|
||||
|
||||
"VTMENU_KEYBRD_LAYOUT": "კლავიატურის განლაგებები",
|
||||
"VTMENU_HWINFO": "ინფორმაცია მოწყობილობების შესახებ",
|
||||
|
||||
"VTMENU_RESOLUTION_CFG": "გარჩევადობის კონფიგურაცია",
|
||||
"VTMENU_SCREEN_MODE": "ჩვენების რეჟიმი",
|
||||
"VTMENU_SCREEN_TEXT_MODE": "ჩვენების ტექსტური რეჟიმი",
|
||||
"VTMENU_SCREEN_GUI_MODE": "ჩვენების გრაფიკული რეჟიმი",
|
||||
|
||||
"VTMENU_THEME_SELECT": "თემის არჩევა",
|
||||
|
||||
"VTMENU_UTIL_SHOW_EFI_DRV": "EFI დრაივერების ჩვენება",
|
||||
"VTMENU_UTIL_FIX_BLINIT_FAIL": "Windows BlinitializeLibrary ხარვეზის გასწორება",
|
||||
|
||||
"VTMENU_JSON_CHK_JSON": "მოდულების json კონფიგურაციის შემოწმება (ventoy.json)",
|
||||
"VTMENU_JSON_CHK_CONTROL": "global control მოდულის კონფიგურაციის შემოწმება",
|
||||
"VTMENU_JSON_CHK_THEME": "theme მოდულის კონფიგურაციის შემოწმება",
|
||||
"VTMENU_JSON_CHK_AUTOINS": "auto install მოდულის კონფიგურაციის შემოწმება",
|
||||
"VTMENU_JSON_CHK_PERSIST": "persistence მოდულის კონფიგურაციის შემოწმება",
|
||||
"VTMENU_JSON_CHK_MENU_ALIAS": "menu alias მოდულის კონფიგურაციის შემოწმება",
|
||||
"VTMENU_JSON_CHK_MENU_TIP": "menu tip მოდულის კონფიგურაციის შემოწმება",
|
||||
"VTMENU_JSON_CHK_MENU_CLASS": "menu class მოდულის კონფიგურაციის შემოწმება",
|
||||
"VTMENU_JSON_CHK_INJECTION": "injection მოდულის კონფიგურაციის შემოწმება",
|
||||
"VTMENU_JSON_CHK_AUTO_MEMDISK": "auto memdisk მოდულის კონფიგურაციის შემოწმება",
|
||||
"VTMENU_JSON_CHK_IMG_LIST": "image list მოდულის კონფიგურაციის შემოწმება",
|
||||
"VTMENU_JSON_CHK_IMG_BLIST": "image blacklist მოდულის კონფიგურაციის შემოწმება",
|
||||
"VTMENU_JSON_CHK_CONF_REPLACE": "boot conf replace მოდულის კონფიგურაციის შემოწმება",
|
||||
"VTMENU_JSON_CHK_DUD": "dud მოდულის კონფიგურაციის შემოწმება",
|
||||
"VTMENU_JSON_CHK_PASSWORD": "password მოდულის კონფიგურაციის შემოწმება",
|
||||
|
||||
"VTMENU_NORMAL_MODE": "ჩატვირთვა normal რეჟიმში",
|
||||
"VTMENU_WIMBOOT_MODE": "ჩატვირთვა wimboot რეჟიმში",
|
||||
"VTMENU_GRUB2_MODE": "ჩატვირთვა grub2 რეჟიმში",
|
||||
"VTMENU_MEMDISK_MODE": "ჩატვირთვა memdisk რეჟიმში",
|
||||
|
||||
"VTMENU_RET_TO_LISTVIEW": "სიის ხედის დაბრუნება",
|
||||
"VTMENU_RET_TO_TREEVIEW": "ხის ხედის დაბრუნება",
|
||||
|
||||
"VTMENU_NO_AUTOINS_SCRIPT": "ჩატვირთვა ავტომატური ინსტალაციის სკრიპტის გარეშე",
|
||||
"VTMENU_AUTOINS_USE": "ჩატვირთვა ავტომატური ინსტალაციის რეჟიმში",
|
||||
|
||||
"VTMENU_NO_PERSIST": "ჩატვირთვა ცვლილებების შენახვის რეჟიმის გარეშე",
|
||||
"VTMENU_PERSIST_USE": "ჩატვირთვა ცვლილებების შენახვის რეჟიმში",
|
||||
|
||||
"VTMENU_BROWER_RETURN": "დაბრუნება",
|
||||
|
||||
"VTMENU_ENTER_EXIT": "გასასვლელად დააჭირეთ Enter ღილაკს",
|
||||
"VTMENU_ENTER_REBOOT": "დააჭირეთ Enter ღილაკს გადატვირთვისთვის",
|
||||
"VTMENU_ENTER_CONTINUE": "გასაგრძელებლად დააჭირეთ Enter ღილაკს",
|
||||
|
||||
"MENU_STR_XXX": ""
|
||||
}
|
85
INSTALL/grub/menu/ko_KR.json
Normal file
85
INSTALL/grub/menu/ko_KR.json
Normal file
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"VTMENU_LANGUAGE_NAME": "Korean (한국어)",
|
||||
|
||||
"VTMENU_STR_HOTKEY_LIST": "L:언어 F1:도움말 F2:찾아보기 F3:목록 보기 F4:로컬 부트 F5:도구 F6:확장 메뉴",
|
||||
"VTMENU_STR_HOTKEY_TREE": "L:언어 F1:도움말 F2:찾아보기 F3:목록 보기 F4:로컬 부트 F5:도구 F6:확장 메뉴",
|
||||
"VTMENU_RETURN_PREVIOUS": "이전 메뉴로 돌아가기 [Esc]",
|
||||
|
||||
"VTMENU_MENU_LANG": "메뉴 언어 선택 (번역: 비너스걸)",
|
||||
|
||||
"VTMENU_LB_SBOOT_WINDOWS": "Windows 검색 및 부트",
|
||||
"VTMENU_LB_SBOOT_G4D": "Grub4dos 검색 및 부트",
|
||||
"VTMENU_LB_SBOOT_HDD1": "첫 번째 로컬 디스크 부트",
|
||||
"VTMENU_LB_SBOOT_HDD2": "두 번째 로컬 디스크 부트",
|
||||
"VTMENU_LB_SBOOT_HDD3": "세 번째 로컬 디스크 부트",
|
||||
"VTMENU_LB_SBOOT_X64EFI": "BOOTX64.EFI 검색 및 부트",
|
||||
"VTMENU_LB_SBOOT_IA32EFI": "BOOTIA32.EFI 검색 및 부트",
|
||||
"VTMENU_LB_SBOOT_AA64EFI": "BOOTAA64.EFI 검색 및 부트",
|
||||
"VTMENU_LB_SBOOT_XORBOOT": "xorboot 검색 및 부트",
|
||||
|
||||
"VTMENU_FILE_CHKSUM": "파일 체크섬",
|
||||
"VTMENU_CHKSUM_MD5_CALC": "md5sum 계산",
|
||||
"VTMENU_CHKSUM_SHA1_CALC": "sha1sum 계산",
|
||||
"VTMENU_CHKSUM_SHA256_CALC": "sha256sum 계산",
|
||||
"VTMENU_CHKSUM_SHA512_CALC": "sha512sum 계산",
|
||||
"VTMENU_CHKSUM_MD5_CALC_CHK": "md5sum 계산 및 확인",
|
||||
"VTMENU_CHKSUM_SHA1_CALC_CHK": "sha1sum 계산 및 확인",
|
||||
"VTMENU_CHKSUM_SHA256_CALC_CHK": "sha256sum 계산 및 확인",
|
||||
"VTMENU_CHKSUM_SHA512_CALC_CHK": "sha512sum 계산 및 확인",
|
||||
|
||||
"VTMENU_POWER": "전원",
|
||||
"VTMENU_POWER_REBOOT": "다시 부트",
|
||||
"VTMENU_POWER_HALT": "끄기",
|
||||
"VTMENU_POWER_BOOT_EFIFW": "EFI 설정으로 재부트",
|
||||
|
||||
"VTMENU_KEYBRD_LAYOUT": "키보드 레이아웃",
|
||||
"VTMENU_HWINFO": "하드웨어 정보",
|
||||
|
||||
"VTMENU_RESOLUTION_CFG": "해상도 구성",
|
||||
"VTMENU_SCREEN_MODE": "화면 표시 모드",
|
||||
"VTMENU_SCREEN_TEXT_MODE": "강제 텍스트 모드",
|
||||
"VTMENU_SCREEN_GUI_MODE": "강제 그래픽 모드",
|
||||
|
||||
"VTMENU_THEME_SELECT": "테마 선택",
|
||||
|
||||
"VTMENU_UTIL_SHOW_EFI_DRV": "EFI 드라이버 표시",
|
||||
"VTMENU_UTIL_FIX_BLINIT_FAIL": "Windows 초기화 라이브러리 오류 복구",
|
||||
|
||||
"VTMENU_JSON_CHK_JSON": "플러그인 json 구성 확인 (ventoy.json)",
|
||||
"VTMENU_JSON_CHK_CONTROL": "전역 제어 플러그인 구성 확인",
|
||||
"VTMENU_JSON_CHK_THEME": "테마 플러그인 구성 확인",
|
||||
"VTMENU_JSON_CHK_AUTOINS": "자동 설치 플러그인 구성 확인",
|
||||
"VTMENU_JSON_CHK_PERSIST": "지속성 플러그인 구성 확인",
|
||||
"VTMENU_JSON_CHK_MENU_ALIAS": "메뉴 별칭 플러그인 구성 확인",
|
||||
"VTMENU_JSON_CHK_MENU_TIP": "메뉴 팁 플러그인 구성 확인",
|
||||
"VTMENU_JSON_CHK_MENU_CLASS": "메뉴 클래스 플러그인 구성 확인",
|
||||
"VTMENU_JSON_CHK_INJECTION": "주입 플러그인 구성 확인",
|
||||
"VTMENU_JSON_CHK_AUTO_MEMDISK": "자동 메모리 디스크 플러그인 구성 확인",
|
||||
"VTMENU_JSON_CHK_IMG_LIST": "이미지 목록 플러그인 구성 확인",
|
||||
"VTMENU_JSON_CHK_IMG_BLIST": "이미지 블랙리스트 플러그인 구성 확인",
|
||||
"VTMENU_JSON_CHK_CONF_REPLACE": "부팅 구성 대체 플러그인 구성 확인",
|
||||
"VTMENU_JSON_CHK_DUD": "드라이버 디스크 업데이트 플러그인 구성 확인",
|
||||
"VTMENU_JSON_CHK_PASSWORD": "암호 플러그인 구성 확인",
|
||||
|
||||
"VTMENU_NORMAL_MODE": "정상 모드로 부트",
|
||||
"VTMENU_WIMBOOT_MODE": "wimboot 모드로 부트",
|
||||
"VTMENU_GRUB2_MODE": "grub2 모드로 부팅",
|
||||
"VTMENU_MEMDISK_MODE": "memdisk 모드로 부트",
|
||||
|
||||
"VTMENU_RET_TO_LISTVIEW": "목록 보기로 돌아가기",
|
||||
"VTMENU_RET_TO_TREEVIEW": "트리 보기로 돌아가기",
|
||||
|
||||
"VTMENU_NO_AUTOINS_SCRIPT": "자동 설치 템플릿 없이 부트",
|
||||
"VTMENU_AUTOINS_USE": "부팅 대상",
|
||||
|
||||
"VTMENU_NO_PERSIST": "지속성 없는 부트",
|
||||
"VTMENU_PERSIST_USE": "부트 대상",
|
||||
|
||||
"VTMENU_BROWER_RETURN": "돌아가기",
|
||||
|
||||
"VTMENU_ENTER_EXIT": "Enter 키를 눌러 종료",
|
||||
"VTMENU_ENTER_REBOOT": "Enter 키를 눌러 재부팅",
|
||||
"VTMENU_ENTER_CONTINUE": "계속하려면 Enter 키를 누르십시오",
|
||||
|
||||
"MENU_STR_XXX": ""
|
||||
}
|
85
INSTALL/grub/menu/pl_PL.json
Normal file
85
INSTALL/grub/menu/pl_PL.json
Normal file
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"VTMENU_LANGUAGE_NAME": "Polish (Poland)",
|
||||
|
||||
"VTMENU_STR_HOTKEY_LIST": "L:Język F1:Pomoc F2:Przeglądaj F3:ListView F4:Localboot F5:Narzędzia F6:ExMenu",
|
||||
"VTMENU_STR_HOTKEY_TREE": "L:Język F1:Pomoc F2:Przeglądaj F3:Widok drzewa F4:Localboot F5:Narzędzia F6:ExMenu",
|
||||
"VTMENU_RETURN_PREVIOUS": "Powrót do poprzedniego menu [Esc]",
|
||||
|
||||
"VTMENU_MENU_LANG": "Wybór języka menu",
|
||||
|
||||
"VTMENU_LB_SBOOT_WINDOWS": "Wyszukaj i uruchom system Windows",
|
||||
"VTMENU_LB_SBOOT_G4D": "Wyszukaj i uruchom Grub4dos",
|
||||
"VTMENU_LB_SBOOT_HDD1": "Uruchom pierwszy dysk lokalny",
|
||||
"VTMENU_LB_SBOOT_HDD2": "Uruchom drugi dysk lokalny",
|
||||
"VTMENU_LB_SBOOT_HDD3": "Uruchom trzeci dysk lokalny",
|
||||
"VTMENU_LB_SBOOT_X64EFI": "Wyszukaj i uruchom BOOTX64.EFI",
|
||||
"VTMENU_LB_SBOOT_IA32EFI": "Wyszukaj i uruchom BOOTIA32.EFI",
|
||||
"VTMENU_LB_SBOOT_AA64EFI": "Wyszukaj i uruchom BOOTAA64.EFI",
|
||||
"VTMENU_LB_SBOOT_XORBOOT": "Wyszukaj i uruchom xorboot",
|
||||
|
||||
"VTMENU_FILE_CHKSUM": "Suma kontrolna pliku",
|
||||
"VTMENU_CHKSUM_MD5_CALC": "Oblicz sumę md5",
|
||||
"VTMENU_CHKSUM_SHA1_CALC": "Oblicz sumę sha1",
|
||||
"VTMENU_CHKSUM_SHA256_CALC": "Oblicz sumę sha256",
|
||||
"VTMENU_CHKSUM_SHA512_CALC": "Oblicz sumę sha512",
|
||||
"VTMENU_CHKSUM_MD5_CALC_CHK": "Oblicz i sprawdź sumę md5",
|
||||
"VTMENU_CHKSUM_SHA1_CALC_CHK": "Oblicz i sprawdź sumę sha1",
|
||||
"VTMENU_CHKSUM_SHA256_CALC_CHK": "Oblicz i sprawdź sumę sha256",
|
||||
"VTMENU_CHKSUM_SHA512_CALC_CHK": "Oblicz i sprawdź sumę sha512",
|
||||
|
||||
"VTMENU_POWER": "Moc",
|
||||
"VTMENU_POWER_REBOOT": "Uruchom ponownie",
|
||||
"VTMENU_POWER_HALT": "Zatrzymanie",
|
||||
"VTMENU_POWER_BOOT_EFIFW": "Uruchom ponownie do konfiguracji EFI",
|
||||
|
||||
"VTMENU_KEYBRD_LAYOUT": "Układy klawiatury",
|
||||
"VTMENU_HWINFO": "Informacje o sprzęcie",
|
||||
|
||||
"VTMENU_RESOLUTION_CFG": "Konfiguracja rozdzielczości",
|
||||
"VTMENU_SCREEN_MODE": "Tryb wyświetlania ekranu",
|
||||
"VTMENU_SCREEN_TEXT_MODE": "Wymuś tryb tekstowy",
|
||||
"VTMENU_SCREEN_GUI_MODE": "Wymuś tryb graficzny",
|
||||
|
||||
"VTMENU_THEME_SELECT": "Wybór motywu",
|
||||
|
||||
"VTMENU_UTIL_SHOW_EFI_DRV": "Pokaż sterowniki EFI",
|
||||
"VTMENU_UTIL_FIX_BLINIT_FAIL": "Napraw błąd BlinitializeLibrary systemu Windows",
|
||||
|
||||
"VTMENU_JSON_CHK_JSON": "Sprawdź konfigurację wtyczki json (ventoy.json)",
|
||||
"VTMENU_JSON_CHK_CONTROL": "Sprawdź konfigurację wtyczki globalnej kontroli",
|
||||
"VTMENU_JSON_CHK_THEME": "Sprawdź konfigurację wtyczki motywu",
|
||||
"VTMENU_JSON_CHK_AUTOINS": "Sprawdź konfigurację automatycznej instalacji wtyczki",
|
||||
"VTMENU_JSON_CHK_PERSIST": "Sprawdź konfigurację wtyczki trwałości",
|
||||
"VTMENU_JSON_CHK_MENU_ALIAS": "Sprawdź konfigurację wtyczek aliasów menu",
|
||||
"VTMENU_JSON_CHK_MENU_TIP": "Sprawdź konfigurację wtyczki podpowiedzi menu",
|
||||
"VTMENU_JSON_CHK_MENU_CLASS": "Sprawdź konfigurację wtyczki klasy menu",
|
||||
"VTMENU_JSON_CHK_INJECTION": "Sprawdź konfigurację wtyczki wtrysku",
|
||||
"VTMENU_JSON_CHK_AUTO_MEMDISK": "Sprawdź automatyczną konfigurację wtyczki memdisk",
|
||||
"VTMENU_JSON_CHK_IMG_LIST": "Sprawdź konfigurację wtyczki listy obrazów",
|
||||
"VTMENU_JSON_CHK_IMG_BLIST": "Sprawdź konfigurację wtyczki czarnej listy obrazów",
|
||||
"VTMENU_JSON_CHK_CONF_REPLACE": "Sprawdź konfigurację bootowania zamień konfigurację wtyczki",
|
||||
"VTMENU_JSON_CHK_DUD": "Sprawdź konfigurację wtyczki dud",
|
||||
"VTMENU_JSON_CHK_PASSWORD": "Sprawdź konfigurację wtyczki hasła",
|
||||
|
||||
"VTMENU_NORMAL_MODE": "Uruchom w trybie normalnym",
|
||||
"VTMENU_WIMBOOT_MODE": "Uruchom w trybie Wimboot",
|
||||
"VTMENU_GRUB2_MODE": "Uruchom w trybie grub2",
|
||||
"VTMENU_MEMDISK_MODE": "Uruchom w trybie memdisk",
|
||||
|
||||
"VTMENU_RET_TO_LISTVIEW": "Powrót do widoku listy",
|
||||
"VTMENU_RET_TO_TREEVIEW": "Powrót do TreeView",
|
||||
|
||||
"VTMENU_NO_AUTOINS_SCRIPT": "Uruchom bez szablonu automatycznej instalacji",
|
||||
"VTMENU_AUTOINS_USE": "Uruchom z",
|
||||
|
||||
"VTMENU_NO_PERSIST": "Uruchom bez trwałości",
|
||||
"VTMENU_PERSIST_USE": "Uruchom z",
|
||||
|
||||
"VTMENU_BROWER_RETURN": "Powrót",
|
||||
|
||||
"VTMENU_ENTER_EXIT": "naciśnij klawisz Enter, aby wyjść",
|
||||
"VTMENU_ENTER_REBOOT": "naciśnij klawisz Enter, aby ponownie uruchomić",
|
||||
"VTMENU_ENTER_CONTINUE": "naciśnij klawisz Enter, aby kontynuować",
|
||||
|
||||
"MENU_STR_XXX": ""
|
||||
}
|
85
INSTALL/grub/menu/pt_PT.json
Normal file
85
INSTALL/grub/menu/pt_PT.json
Normal file
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"VTMENU_LANGUAGE_NAME": "Portuguese (Português de Portugal)",
|
||||
|
||||
"VTMENU_STR_HOTKEY_LIST": "L:Idioma F1:Ajuda F2:Navegar F3:Estrutura F4:Arranque local F5:Ferramentas F6:Sair",
|
||||
"VTMENU_STR_HOTKEY_TREE": "L:Idioma F1:Ajuda F2:Navegar F3:Estrutura F4:Arranque local F5:Ferramentas F6:Sair",
|
||||
"VTMENU_RETURN_PREVIOUS": "Voltar ao menu anterior [Esc]",
|
||||
|
||||
"VTMENU_MENU_LANG": "Seleção de idioma do menu",
|
||||
|
||||
"VTMENU_LB_SBOOT_WINDOWS": "Pesquisar e iniciar o Windows",
|
||||
"VTMENU_LB_SBOOT_G4D": "Pesquisar e iniciar o Grub4dos",
|
||||
"VTMENU_LB_SBOOT_HDD1": "Arrancar o 1º disco local",
|
||||
"VTMENU_LB_SBOOT_HDD2": "Arrancar o 2º disco local",
|
||||
"VTMENU_LB_SBOOT_HDD3": "Arrancar o 3º disco local",
|
||||
"VTMENU_LB_SBOOT_X64EFI": "Pesquisar e iniciar o BOOTX64.EFI",
|
||||
"VTMENU_LB_SBOOT_IA32EFI": "Pesquisar e iniciar o BOOTIA32.EFI",
|
||||
"VTMENU_LB_SBOOT_AA64EFI": "Pesquisar e iniciar o BOOTAA64.EFI",
|
||||
"VTMENU_LB_SBOOT_XORBOOT": "Pesquisar e iniciar o xorboot",
|
||||
|
||||
"VTMENU_FILE_CHKSUM": "Checksum do ficheiro",
|
||||
"VTMENU_CHKSUM_MD5_CALC": "Calcular MD5",
|
||||
"VTMENU_CHKSUM_SHA1_CALC": "Calcular SHA1",
|
||||
"VTMENU_CHKSUM_SHA256_CALC": "Calcular SHA256",
|
||||
"VTMENU_CHKSUM_SHA512_CALC": "Calcular SHA512",
|
||||
"VTMENU_CHKSUM_MD5_CALC_CHK": "Calcular e verificar MD5",
|
||||
"VTMENU_CHKSUM_SHA1_CALC_CHK": "Calcular e verificar SHA1",
|
||||
"VTMENU_CHKSUM_SHA256_CALC_CHK": "Calcular e verificar SHA256",
|
||||
"VTMENU_CHKSUM_SHA512_CALC_CHK": "Calcular e verificar SHA512",
|
||||
|
||||
"VTMENU_POWER": "Energia",
|
||||
"VTMENU_POWER_REBOOT": "Reiniciar",
|
||||
"VTMENU_POWER_HALT": "Desligar",
|
||||
"VTMENU_POWER_BOOT_EFIFW": "Reiniciar com a configuração EFI",
|
||||
|
||||
"VTMENU_KEYBRD_LAYOUT": "Esquemas de teclado",
|
||||
"VTMENU_HWINFO": "Informação do hardware",
|
||||
|
||||
"VTMENU_RESOLUTION_CFG": "Configuração da resolução",
|
||||
"VTMENU_SCREEN_MODE": "Modo de exibição",
|
||||
"VTMENU_SCREEN_TEXT_MODE": "Modo texto",
|
||||
"VTMENU_SCREEN_GUI_MODE": "Modo gráfico",
|
||||
|
||||
"VTMENU_THEME_SELECT": "Seleção de tema",
|
||||
|
||||
"VTMENU_UTIL_SHOW_EFI_DRV": "Mostrar controladores EFI",
|
||||
"VTMENU_UTIL_FIX_BLINIT_FAIL": "Corrigir falha BlinitializeLibrary do Windows",
|
||||
|
||||
"VTMENU_JSON_CHK_JSON": "Verificar configuração do plugin json (ventoy.json)",
|
||||
"VTMENU_JSON_CHK_CONTROL": "Verificar a configuração do plugin de controlo global",
|
||||
"VTMENU_JSON_CHK_THEME": "Verificar configuração do plugin do tema",
|
||||
"VTMENU_JSON_CHK_AUTOINS": "Verificar a configuração do plugin de instalação automática",
|
||||
"VTMENU_JSON_CHK_PERSIST": "Verificar a configuração do plugin de persistência",
|
||||
"VTMENU_JSON_CHK_MENU_ALIAS": "Verificar a configuração do plugin do menu alias",
|
||||
"VTMENU_JSON_CHK_MENU_TIP": "Verificar a configuração do plugin do menu de dica",
|
||||
"VTMENU_JSON_CHK_MENU_CLASS": "Verificar a configuração do plugin do menu classe",
|
||||
"VTMENU_JSON_CHK_INJECTION": "Verificar a configuração do plugin de injeção",
|
||||
"VTMENU_JSON_CHK_AUTO_MEMDISK": "Verificar a configuração do plugin automático do memdisk",
|
||||
"VTMENU_JSON_CHK_IMG_LIST": "Verificar configuração do plugin da lista de imagens",
|
||||
"VTMENU_JSON_CHK_IMG_BLIST": "Verificar configuração do plugin da lista negra de imagens",
|
||||
"VTMENU_JSON_CHK_CONF_REPLACE": "Verificar a configuração do plugin de substituição de conf. de arranque",
|
||||
"VTMENU_JSON_CHK_DUD": "Verificar configuração do plugin dud",
|
||||
"VTMENU_JSON_CHK_PASSWORD": "Verificar configuração do plugin palavra-passe",
|
||||
|
||||
"VTMENU_NORMAL_MODE": "Arrancar no modo normal",
|
||||
"VTMENU_WIMBOOT_MODE": "Arrancar no modo wimboot",
|
||||
"VTMENU_GRUB2_MODE": "Arrancar no modo grub2",
|
||||
"VTMENU_MEMDISK_MODE": "Arrancar no modo memdisk",
|
||||
|
||||
"VTMENU_RET_TO_LISTVIEW": "Voltar para Lista",
|
||||
"VTMENU_RET_TO_TREEVIEW": "Voltar para Estrutura",
|
||||
|
||||
"VTMENU_NO_AUTOINS_SCRIPT": "Arrancar sem modelo de instalação automática",
|
||||
"VTMENU_AUTOINS_USE": "Arrancar com",
|
||||
|
||||
"VTMENU_NO_PERSIST": "Arrancar sem persistência",
|
||||
"VTMENU_PERSIST_USE": "Arrancar com",
|
||||
|
||||
"VTMENU_BROWER_RETURN": "Voltar",
|
||||
|
||||
"VTMENU_ENTER_EXIT": "pressione a tecla Enter para sair",
|
||||
"VTMENU_ENTER_REBOOT": "pressione a tecla Enter para reiniciar",
|
||||
"VTMENU_ENTER_CONTINUE": "pressione a tecla Enter para continuar",
|
||||
|
||||
"MENU_STR_XXX": ""
|
||||
}
|
85
INSTALL/grub/menu/ru_RU.json
Normal file
85
INSTALL/grub/menu/ru_RU.json
Normal file
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"VTMENU_LANGUAGE_NAME": "Russian (Русский)",
|
||||
|
||||
"VTMENU_STR_HOTKEY_LIST": "L:Язык F1:Помощь F2:Просмотр F3:ListView F4:Локальная загрузка F5:Инструменты F6:Выйти из меню",
|
||||
"VTMENU_STR_HOTKEY_TREE": "L:Язык F1:Помощь F2:Просмотр F3:TreeView F4:Локальная загрузка F5:Инструменты F6:Выйти из меню",
|
||||
"VTMENU_RETURN_PREVIOUS": "Вернуться в предыдущее меню [Esc]",
|
||||
|
||||
"VTMENU_MENU_LANG": "Выбор языка меню",
|
||||
|
||||
"VTMENU_LB_SBOOT_WINDOWS": "Найти и загрузить Windows",
|
||||
"VTMENU_LB_SBOOT_G4D": "Найти и загрузить Grub4dos",
|
||||
"VTMENU_LB_SBOOT_HDD1": "Загрузить 1-й локальный диск",
|
||||
"VTMENU_LB_SBOOT_HDD2": "Загрузить 2-й локальный диск",
|
||||
"VTMENU_LB_SBOOT_HDD3": "Загрузить 3-й локальный диск",
|
||||
"VTMENU_LB_SBOOT_X64EFI": "Найти и загрузить OOTX64.EFI",
|
||||
"VTMENU_LB_SBOOT_IA32EFI": "Найти и загрузить BOOTIA32.EFI",
|
||||
"VTMENU_LB_SBOOT_AA64EFI": "Найти и загрузить BOOTAA64.EFI",
|
||||
"VTMENU_LB_SBOOT_XORBOOT": "Найти и загрузить xorboot",
|
||||
|
||||
"VTMENU_FILE_CHKSUM": "Контрольная сумма файла",
|
||||
"VTMENU_CHKSUM_MD5_CALC": "Вычислить md5sum",
|
||||
"VTMENU_CHKSUM_SHA1_CALC": "Вычислить sha1sum",
|
||||
"VTMENU_CHKSUM_SHA256_CALC": "Вычислить sha256sum",
|
||||
"VTMENU_CHKSUM_SHA512_CALC": "Вычислить sha512sum",
|
||||
"VTMENU_CHKSUM_MD5_CALC_CHK": "Вычислить и проверить md5sum",
|
||||
"VTMENU_CHKSUM_SHA1_CALC_CHK": "Вычислить и проверить sha1sum",
|
||||
"VTMENU_CHKSUM_SHA256_CALC_CHK": "Вычислить и проверить sha256sum",
|
||||
"VTMENU_CHKSUM_SHA512_CALC_CHK": "Вычислить и проверить sha512sum",
|
||||
|
||||
"VTMENU_POWER": "Включить",
|
||||
"VTMENU_POWER_REBOOT": "Перезагрузить",
|
||||
"VTMENU_POWER_HALT": "Остановить",
|
||||
"VTMENU_POWER_BOOT_EFIFW": "Перезагрузиться в настройку EFI",
|
||||
|
||||
"VTMENU_KEYBRD_LAYOUT": "Раскладки клавиатуры",
|
||||
"VTMENU_HWINFO": "Информация об оборудовании",
|
||||
|
||||
"VTMENU_RESOLUTION_CFG": "Конфигурация разрешения",
|
||||
"VTMENU_SCREEN_MODE": "Режим Screen Display",
|
||||
"VTMENU_SCREEN_TEXT_MODE": "Выбрать текстовый режим",
|
||||
"VTMENU_SCREEN_GUI_MODE": "Выбрать графический режим",
|
||||
|
||||
"VTMENU_THEME_SELECT": "Выбор темы",
|
||||
|
||||
"VTMENU_UTIL_SHOW_EFI_DRV": "Показать драйверы EFI",
|
||||
"VTMENU_UTIL_FIX_BLINIT_FAIL": "Исправить ошибку Windows BlinitializeLibrary",
|
||||
|
||||
"VTMENU_JSON_CHK_JSON": "Проверить конфигурацию плагина json (ventoy.json)",
|
||||
"VTMENU_JSON_CHK_CONTROL": "Проверить конфигурацию плагина global control",
|
||||
"VTMENU_JSON_CHK_THEME": "Проверить конфигурацию плагина theme",
|
||||
"VTMENU_JSON_CHK_AUTOINS": "Проверить конфигурацию плагина auto install",
|
||||
"VTMENU_JSON_CHK_PERSIST": "Проверить конфигурацию плагина persistence",
|
||||
"VTMENU_JSON_CHK_MENU_ALIAS": "Проверить конфигурацию плагина menu alias",
|
||||
"VTMENU_JSON_CHK_MENU_TIP": "Проверить конфигурацию плагина menu tip",
|
||||
"VTMENU_JSON_CHK_MENU_CLASS": "Проверить конфигурацию плагина menu class",
|
||||
"VTMENU_JSON_CHK_INJECTION": "Проверить конфигурацию плагина injection",
|
||||
"VTMENU_JSON_CHK_AUTO_MEMDISK": "Проверить конфигурацию плагина auto memdisk",
|
||||
"VTMENU_JSON_CHK_IMG_LIST": "Проверить конфигурацию плагина image list",
|
||||
"VTMENU_JSON_CHK_IMG_BLIST": "Проверить конфигурацию плагина image blacklist",
|
||||
"VTMENU_JSON_CHK_CONF_REPLACE": "Проверить конфигурацию плагина boot conf replace",
|
||||
"VTMENU_JSON_CHK_DUD": "Проверить конфигурацию плагина dud",
|
||||
"VTMENU_JSON_CHK_PASSWORD": "Проверить конфигурацию плагина password",
|
||||
|
||||
"VTMENU_NORMAL_MODE": "Загрузиться в обычном режиме",
|
||||
"VTMENU_WIMBOOT_MODE": "Загрузиться в режиме wimboot",
|
||||
"VTMENU_GRUB2_MODE": "Загрузиться в режиме grub2",
|
||||
"VTMENU_MEMDISK_MODE": "Загрузиться в режиме memdisk",
|
||||
|
||||
"VTMENU_RET_TO_LISTVIEW": "Вернуться к ListView",
|
||||
"VTMENU_RET_TO_TREEVIEW": "Вернуться к TreeView",
|
||||
|
||||
"VTMENU_NO_AUTOINS_SCRIPT": "Загрузка без шаблона автоматической установки",
|
||||
"VTMENU_AUTOINS_USE": "Загрузиться с",
|
||||
|
||||
"VTMENU_NO_PERSIST": "Загрузка без персистентности",
|
||||
"VTMENU_PERSIST_USE": "Загрузиться с",
|
||||
|
||||
"VTMENU_BROWER_RETURN": "Вернуться",
|
||||
|
||||
"VTMENU_ENTER_EXIT": "нажмите клавишу Enter, чтобы выйти",
|
||||
"VTMENU_ENTER_REBOOT": "нажмите клавишу Enter для перезагрузки",
|
||||
"VTMENU_ENTER_CONTINUE": "нажмите клавишу Enter, чтобы продолжить",
|
||||
|
||||
"MENU_STR_XXX": ""
|
||||
}
|
85
INSTALL/grub/menu/sr_RS.json
Normal file
85
INSTALL/grub/menu/sr_RS.json
Normal file
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"VTMENU_LANGUAGE_NAME": "Serbian Latin (Srpski)",
|
||||
|
||||
"VTMENU_STR_HOTKEY_LIST": "L:Језик F1:Help F2:Browse F3:ListView F4:Localboot F5:Tools F6:ExMenu",
|
||||
"VTMENU_STR_HOTKEY_TREE": "L:Језик F1:Help F2:Browse F3:TreeView F4:Localboot F5:Tools F6:ExMenu",
|
||||
"VTMENU_RETURN_PREVIOUS": "Return to previous menu [Esc]",
|
||||
|
||||
"VTMENU_MENU_LANG": "Menu Language Select",
|
||||
|
||||
"VTMENU_LB_SBOOT_WINDOWS": "Search and boot Windows",
|
||||
"VTMENU_LB_SBOOT_G4D": "Search and boot Grub4dos",
|
||||
"VTMENU_LB_SBOOT_HDD1": "Boot the 1st local disk",
|
||||
"VTMENU_LB_SBOOT_HDD2": "Boot the 2nd local disk",
|
||||
"VTMENU_LB_SBOOT_HDD3": "Boot the 3rd local disk",
|
||||
"VTMENU_LB_SBOOT_X64EFI": "Search and boot BOOTX64.EFI",
|
||||
"VTMENU_LB_SBOOT_IA32EFI": "Search and boot BOOTIA32.EFI",
|
||||
"VTMENU_LB_SBOOT_AA64EFI": "Search and boot BOOTAA64.EFI",
|
||||
"VTMENU_LB_SBOOT_XORBOOT": "Search and boot xorboot",
|
||||
|
||||
"VTMENU_FILE_CHKSUM": "File checksum",
|
||||
"VTMENU_CHKSUM_MD5_CALC": "Calculate md5sum",
|
||||
"VTMENU_CHKSUM_SHA1_CALC": "Calculate sha1sum",
|
||||
"VTMENU_CHKSUM_SHA256_CALC": "Calculate sha256sum",
|
||||
"VTMENU_CHKSUM_SHA512_CALC": "Calculate sha512sum",
|
||||
"VTMENU_CHKSUM_MD5_CALC_CHK": "Calculate and check md5sum",
|
||||
"VTMENU_CHKSUM_SHA1_CALC_CHK": "Calculate and check sha1sum",
|
||||
"VTMENU_CHKSUM_SHA256_CALC_CHK": "Calculate and check sha256sum",
|
||||
"VTMENU_CHKSUM_SHA512_CALC_CHK": "Calculate and check sha512sum",
|
||||
|
||||
"VTMENU_POWER": "Power",
|
||||
"VTMENU_POWER_REBOOT": "Reboot",
|
||||
"VTMENU_POWER_HALT": "Halt",
|
||||
"VTMENU_POWER_BOOT_EFIFW": "Reboot to EFI setup",
|
||||
|
||||
"VTMENU_KEYBRD_LAYOUT": "Keyboard Layouts",
|
||||
"VTMENU_HWINFO": "Hardware Information",
|
||||
|
||||
"VTMENU_RESOLUTION_CFG": "Resolution Configuration",
|
||||
"VTMENU_SCREEN_MODE": "Screen Display Mode",
|
||||
"VTMENU_SCREEN_TEXT_MODE": "Force Text Mode",
|
||||
"VTMENU_SCREEN_GUI_MODE": "Force Graphics Mode",
|
||||
|
||||
"VTMENU_THEME_SELECT": "Theme Select",
|
||||
|
||||
"VTMENU_UTIL_SHOW_EFI_DRV": "Show EFI Drivers",
|
||||
"VTMENU_UTIL_FIX_BLINIT_FAIL": "Fixup Windows BlinitializeLibrary Failure",
|
||||
|
||||
"VTMENU_JSON_CHK_JSON": "Check plugin json configuration (ventoy.json)",
|
||||
"VTMENU_JSON_CHK_CONTROL": "Check global control plugin configuration",
|
||||
"VTMENU_JSON_CHK_THEME": "Check theme plugin configuration",
|
||||
"VTMENU_JSON_CHK_AUTOINS": "Check auto install plugin configuration",
|
||||
"VTMENU_JSON_CHK_PERSIST": "Check persistence plugin configuration",
|
||||
"VTMENU_JSON_CHK_MENU_ALIAS": "Check menu alias plugin configuration",
|
||||
"VTMENU_JSON_CHK_MENU_TIP": "Check menu tip plugin configuration",
|
||||
"VTMENU_JSON_CHK_MENU_CLASS": "Check menu class plugin configuration",
|
||||
"VTMENU_JSON_CHK_INJECTION": "Check injection plugin configuration",
|
||||
"VTMENU_JSON_CHK_AUTO_MEMDISK": "Check auto memdisk plugin configuration",
|
||||
"VTMENU_JSON_CHK_IMG_LIST": "Check image list plugin configuration",
|
||||
"VTMENU_JSON_CHK_IMG_BLIST": "Check image blacklist plugin configuration",
|
||||
"VTMENU_JSON_CHK_CONF_REPLACE": "Check boot conf replace plugin configuration",
|
||||
"VTMENU_JSON_CHK_DUD": "Check dud plugin configuration",
|
||||
"VTMENU_JSON_CHK_PASSWORD": "Check password plugin configuration",
|
||||
|
||||
"VTMENU_NORMAL_MODE": "Boot in normal mode",
|
||||
"VTMENU_WIMBOOT_MODE": "Boot in wimboot mode",
|
||||
"VTMENU_GRUB2_MODE": "Boot in grub2 mode",
|
||||
"VTMENU_MEMDISK_MODE": "Boot in memdisk mode",
|
||||
|
||||
"VTMENU_RET_TO_LISTVIEW": "Return to ListView",
|
||||
"VTMENU_RET_TO_TREEVIEW": "Return to TreeView",
|
||||
|
||||
"VTMENU_NO_AUTOINS_SCRIPT": "Boot without auto installation template",
|
||||
"VTMENU_AUTOINS_USE": "Boot with",
|
||||
|
||||
"VTMENU_NO_PERSIST": "Boot without persistence",
|
||||
"VTMENU_PERSIST_USE": "Boot with",
|
||||
|
||||
"VTMENU_BROWER_RETURN": "Return",
|
||||
|
||||
"VTMENU_ENTER_EXIT": "press Enter key to exit",
|
||||
"VTMENU_ENTER_REBOOT": "press Enter key to reboot",
|
||||
"VTMENU_ENTER_CONTINUE": "press Enter key to continue",
|
||||
|
||||
"MENU_STR_XXX": ""
|
||||
}
|
85
INSTALL/grub/menu/ta_IN.json
Normal file
85
INSTALL/grub/menu/ta_IN.json
Normal file
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"VTMENU_LANGUAGE_NAME": "Tamil (தமிழ்)",
|
||||
|
||||
"VTMENU_STR_HOTKEY_LIST": "L:மொழி F1:உதவி F2:உலாவுக F3:பட்டியல்பார்வை F4:லோக்கல்பூட் F5:கருவிகள் F6:ExMenu",
|
||||
"VTMENU_STR_HOTKEY_TREE": "L:மொழி F1:உதவி F2:உலாவுக F3:மரப்பார்வை F4:லோக்கல்பூட் F5:கருவிகள் F6:ExMenu",
|
||||
"VTMENU_RETURN_PREVIOUS": "முந்தைய மெனுவுக்குத் திரும்பு [Esc]",
|
||||
|
||||
"VTMENU_MENU_LANG": "மெனு மொழி தேர்வு",
|
||||
|
||||
"VTMENU_LB_SBOOT_WINDOWS": "விண்டோஸைத் தேடி துவக்கவும்",
|
||||
"VTMENU_LB_SBOOT_G4D": "Grub4dos ஐத் தேடி துவக்கவும்",
|
||||
"VTMENU_LB_SBOOT_HDD1": "1வது உள்ளூர் வட்டை துவக்கவும்",
|
||||
"VTMENU_LB_SBOOT_HDD2": "2வது உள்ளூர் வட்டை துவக்கவும்",
|
||||
"VTMENU_LB_SBOOT_HDD3": "3வது உள்ளூர் வட்டை துவக்கவும்",
|
||||
"VTMENU_LB_SBOOT_X64EFI": "BOOTX64.EFI ஐத் தேடி துவக்கவும்",
|
||||
"VTMENU_LB_SBOOT_IA32EFI": "BOOTIA32.EFI ஐத் தேடி துவக்கவும்",
|
||||
"VTMENU_LB_SBOOT_AA64EFI": "BOOTAA64.EFI ஐத் தேடி துவக்கவும்",
|
||||
"VTMENU_LB_SBOOT_XORBOOT": "xorboot ஐத் தேடி துவக்கவும்",
|
||||
|
||||
"VTMENU_FILE_CHKSUM": "கோப்பு செக்சம்",
|
||||
"VTMENU_CHKSUM_MD5_CALC": "md5sum ஐக் கணக்கிடவும்",
|
||||
"VTMENU_CHKSUM_SHA1_CALC": "sha1sum ஐக் கணக்கிடவும்",
|
||||
"VTMENU_CHKSUM_SHA256_CALC": "sha256sum ஐக் கணக்கிடவும்",
|
||||
"VTMENU_CHKSUM_SHA512_CALC": "sha512sum ஐக் கணக்கிடவும்",
|
||||
"VTMENU_CHKSUM_MD5_CALC_CHK": "md5sum ஐக் கணக்கிட்டு சரிபார்க்கவும்",
|
||||
"VTMENU_CHKSUM_SHA1_CALC_CHK": "sha1sum ஐக் கணக்கிட்டு சரிபார்க்கவும்",
|
||||
"VTMENU_CHKSUM_SHA256_CALC_CHK": "sha256sum ஐக் கணக்கிட்டு சரிபார்க்கவும்",
|
||||
"VTMENU_CHKSUM_SHA512_CALC_CHK": "sha512sum ஐக் கணக்கிட்டு சரிபார்க்கவும்",
|
||||
|
||||
"VTMENU_POWER": "பவர்",
|
||||
"VTMENU_POWER_REBOOT": "மறுதொடக்கம்",
|
||||
"VTMENU_POWER_HALT": "நிறுத்து",
|
||||
"VTMENU_POWER_BOOT_EFIFW": "EFI அமைப்பிற்கு மீண்டும் துவக்கவும்",
|
||||
|
||||
"VTMENU_KEYBRD_LAYOUT": "விசைப்பலகை தளவமைப்புகள்",
|
||||
"VTMENU_HWINFO": "வன்பொருள் தகவல்",
|
||||
|
||||
"VTMENU_RESOLUTION_CFG": "தீர்மானம் கட்டமைப்பு",
|
||||
"VTMENU_SCREEN_MODE": "திரை காட்சி பயன்முறை",
|
||||
"VTMENU_SCREEN_TEXT_MODE": "கட்டாய உரை பயன்முறை",
|
||||
"VTMENU_SCREEN_GUI_MODE": "கட்டாய கிராபிக்ஸ் பயன்முறை",
|
||||
|
||||
"VTMENU_THEME_SELECT": "தீம் தேர்வு",
|
||||
|
||||
"VTMENU_UTIL_SHOW_EFI_DRV": "EFI இயக்கிகளைக் காட்டு",
|
||||
"VTMENU_UTIL_FIX_BLINIT_FAIL": "Windows BlinitializeLibrary தோல்வியைச் சரிசெய்தல்",
|
||||
|
||||
"VTMENU_JSON_CHK_JSON": "செருகுநிரல் json உள்ளமைவைச் சரிபார்க்கவும் (ventoy.json)",
|
||||
"VTMENU_JSON_CHK_CONTROL": "உலகளாவிய கட்டுப்பாட்டு செருகுநிரல் உள்ளமைவைச் சரிபார்க்கவும்",
|
||||
"VTMENU_JSON_CHK_THEME": "தீம் செருகுநிரல் உள்ளமைவைச் சரிபார்க்கவும்",
|
||||
"VTMENU_JSON_CHK_AUTOINS": "தானாக நிறுவும் செருகுநிரல் உள்ளமைவைச் சரிபார்க்கவும்",
|
||||
"VTMENU_JSON_CHK_PERSIST": "நிலைத்தன்மை செருகுநிரல் உள்ளமைவைச் சரிபார்க்கவும்",
|
||||
"VTMENU_JSON_CHK_MENU_ALIAS": "மெனு மாற்று செருகுநிரல் உள்ளமைவைச் சரிபார்க்கவும்",
|
||||
"VTMENU_JSON_CHK_MENU_TIP": "மெனு முனை செருகுநிரல் உள்ளமைவைச் சரிபார்க்கவும்",
|
||||
"VTMENU_JSON_CHK_MENU_CLASS": "மெனு வகுப்பு செருகுநிரல் உள்ளமைவைச் சரிபார்க்கவும்",
|
||||
"VTMENU_JSON_CHK_INJECTION": "ஊசி செருகுநிரல் உள்ளமைவைச் சரிபார்க்கவும்",
|
||||
"VTMENU_JSON_CHK_AUTO_MEMDISK": "ஆட்டோ மெம்டிஸ்க் செருகுநிரல் உள்ளமைவைச் சரிபார்க்கவும்",
|
||||
"VTMENU_JSON_CHK_IMG_LIST": "பட பட்டியல் செருகுநிரல் உள்ளமைவை சரிபார்க்கவும்",
|
||||
"VTMENU_JSON_CHK_IMG_BLIST": "படத்தின் தடுப்புப்பட்டியல் செருகுநிரல் உள்ளமைவைச் சரிபார்க்கவும்",
|
||||
"VTMENU_JSON_CHK_CONF_REPLACE": "பூட் conf சொருகி உள்ளமைவை மாற்றுவதை சரிபார்க்கவும்",
|
||||
"VTMENU_JSON_CHK_DUD": "dud செருகுநிரல் உள்ளமைவை சரிபார்க்கவும்",
|
||||
"VTMENU_JSON_CHK_PASSWORD": "கடவுச்சொல் செருகுநிரல் உள்ளமைவைச் சரிபார்க்கவும்",
|
||||
|
||||
"VTMENU_NORMAL_MODE": "சாதாரண பயன்முறையில் துவக்கவும்",
|
||||
"VTMENU_WIMBOOT_MODE": "wimboot பயன்முறையில் துவக்கவும்",
|
||||
"VTMENU_GRUB2_MODE": "grub2 பயன்முறையில் துவக்கவும்",
|
||||
"VTMENU_MEMDISK_MODE": "memdisk பயன்முறையில் துவக்கவும்",
|
||||
|
||||
"VTMENU_RET_TO_LISTVIEW": "பட்டியல்பார்வை பக்கத்துக்குத் திரும்பு",
|
||||
"VTMENU_RET_TO_TREEVIEW": "மரப்பார்வை பக்கத்துக்குத் திரும்பு",
|
||||
|
||||
"VTMENU_NO_AUTOINS_SCRIPT": "தானியங்கி நிறுவல் டெம்ப்ளேட் இல்லாமல் துவக்கவும்",
|
||||
"VTMENU_AUTOINS_USE": "துவக்கவும் இத்துடன்",
|
||||
|
||||
"VTMENU_NO_PERSIST": "விடாமுயற்சி இல்லாமல் துவக்கவும்",
|
||||
"VTMENU_PERSIST_USE": "துவக்கவும் இத்துடன்",
|
||||
|
||||
"VTMENU_BROWER_RETURN": "திரும்பு",
|
||||
|
||||
"VTMENU_ENTER_EXIT": "வெளியேற Enter விசையை அழுத்தவும்",
|
||||
"VTMENU_ENTER_REBOOT": "மறுதொடக்கம் செய்ய Enter விசையை அழுத்தவும்",
|
||||
"VTMENU_ENTER_CONTINUE": "தொடர Enter விசையை அழுத்தவும்",
|
||||
|
||||
"MENU_STR_XXX": ""
|
||||
}
|
85
INSTALL/grub/menu/tr_TR.json
Normal file
85
INSTALL/grub/menu/tr_TR.json
Normal file
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"VTMENU_LANGUAGE_NAME": "Turkish (Türkçe)",
|
||||
|
||||
"VTMENU_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ü",
|
||||
"VTMENU_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ü",
|
||||
"VTMENU_RETURN_PREVIOUS": "Önceki menüye geri dön [Esc]",
|
||||
|
||||
"VTMENU_MENU_LANG": "Menü Dili Seçimi",
|
||||
|
||||
"VTMENU_LB_SBOOT_WINDOWS": "Windows'u bul ve Önyükle",
|
||||
"VTMENU_LB_SBOOT_G4D": "Grub4dos'u bul ve Önyükle",
|
||||
"VTMENU_LB_SBOOT_HDD1": "1. Yerel diskten Önyükleme yap",
|
||||
"VTMENU_LB_SBOOT_HDD2": "2. Yerel diskten Önyükleme yap",
|
||||
"VTMENU_LB_SBOOT_HDD3": "3. Yerel diskten Önyükleme yap",
|
||||
"VTMENU_LB_SBOOT_X64EFI": "BOOTX64.EFI'yi bul ve Önyükleme yap",
|
||||
"VTMENU_LB_SBOOT_IA32EFI": "BOOTIA32.EFI'yi bul ve Önyükleme yap",
|
||||
"VTMENU_LB_SBOOT_AA64EFI": "BOOTAA64.EFI'yi bul ve Önyükleme yap",
|
||||
"VTMENU_LB_SBOOT_XORBOOT": "XORBOOT'u bul ve Önyükleme yap",
|
||||
|
||||
"VTMENU_FILE_CHKSUM": "Dosya Doğrulama",
|
||||
"VTMENU_CHKSUM_MD5_CALC": "md5sum değerini hesapla",
|
||||
"VTMENU_CHKSUM_SHA1_CALC": "sha1sum değerini hesapla",
|
||||
"VTMENU_CHKSUM_SHA256_CALC": "sha256sum değerini hesapla",
|
||||
"VTMENU_CHKSUM_SHA512_CALC": "sha512sum değerini hesapla",
|
||||
"VTMENU_CHKSUM_MD5_CALC_CHK": "md5sum hesapla ve kontrol et",
|
||||
"VTMENU_CHKSUM_SHA1_CALC_CHK": "sha1sum hesapla ve kontrol et",
|
||||
"VTMENU_CHKSUM_SHA256_CALC_CHK": "sha256sum hesapla ve kontrol et",
|
||||
"VTMENU_CHKSUM_SHA512_CALC_CHK": "sha512sum hesapla ve kontrol et",
|
||||
|
||||
"VTMENU_POWER": "Güç Seçenekleri",
|
||||
"VTMENU_POWER_REBOOT": "Yeniden Başlat",
|
||||
"VTMENU_POWER_HALT": "Bilgisayarı Kapat",
|
||||
"VTMENU_POWER_BOOT_EFIFW": "EFI BIOS Ayarları ile Yeniden Başlat",
|
||||
|
||||
"VTMENU_KEYBRD_LAYOUT": "Klavye düzenleri",
|
||||
"VTMENU_HWINFO": "Donanım Bilgisi",
|
||||
|
||||
"VTMENU_RESOLUTION_CFG": "Çözünürlük Yapılandırması",
|
||||
"VTMENU_SCREEN_MODE": "Ekran Görüntüleme Modu",
|
||||
"VTMENU_SCREEN_TEXT_MODE": "Metin Modu'nu Dene",
|
||||
"VTMENU_SCREEN_GUI_MODE": "Grafik Modu'nu Dene",
|
||||
|
||||
"VTMENU_THEME_SELECT": "Tema Seçimi",
|
||||
|
||||
"VTMENU_UTIL_SHOW_EFI_DRV": "EFI Sürücülerini Göster",
|
||||
"VTMENU_UTIL_FIX_BLINIT_FAIL": "Windows BlinitializeLibrary Hatasını Düzelt",
|
||||
|
||||
"VTMENU_JSON_CHK_JSON": "json (ventoy.json) Yapılandırma Dosyası Ayarlarını kontrol et",
|
||||
"VTMENU_JSON_CHK_CONTROL": "(Global Control Plugin) yapılandırma ayarları",
|
||||
"VTMENU_JSON_CHK_THEME": "(Theme Plugin) yapılandırma ayarları",
|
||||
"VTMENU_JSON_CHK_AUTOINS": "(Auto Install Plugin) yapılandırma ayarları",
|
||||
"VTMENU_JSON_CHK_PERSIST": "(Persistence Plugin) yapılandırma ayarları",
|
||||
"VTMENU_JSON_CHK_MENU_ALIAS": "(Menu Alias Plugin) yapılandırma ayarları",
|
||||
"VTMENU_JSON_CHK_MENU_TIP": "(Menu Tip Plugin) yapılandırma ayarları",
|
||||
"VTMENU_JSON_CHK_MENU_CLASS": "(Menu Class Plugin) yapılandırma ayarları",
|
||||
"VTMENU_JSON_CHK_INJECTION": "(Injection Plugin) yapılandırma ayarları",
|
||||
"VTMENU_JSON_CHK_AUTO_MEMDISK": "(Auto Memdisk Plugin) yapılandırma ayarları",
|
||||
"VTMENU_JSON_CHK_IMG_LIST": "(Image List Plugin) yapılandırma ayarları",
|
||||
"VTMENU_JSON_CHK_IMG_BLIST": "(Image Blacklist Plugin) yapılandırma ayarları",
|
||||
"VTMENU_JSON_CHK_CONF_REPLACE": "(Check Boot Conf Replace Plugin) yapılandırma ayarları",
|
||||
"VTMENU_JSON_CHK_DUD": "(Dud Plugin) yapılandırma ayarları",
|
||||
"VTMENU_JSON_CHK_PASSWORD": "(Password Plugin) yapılandırma ayarları",
|
||||
|
||||
"VTMENU_NORMAL_MODE": "NORMAL(ISO) Mod'da ÖnYükleme Yap",
|
||||
"VTMENU_WIMBOOT_MODE": "WIMBOOT(WIM) Mod'da Önyükleme Yap",
|
||||
"VTMENU_GRUB2_MODE": "GRUB2 Mod'da Önyükleme Yap",
|
||||
"VTMENU_MEMDISK_MODE": "MEMDISK Modunda ÖnYükleme Yap",
|
||||
|
||||
"VTMENU_RET_TO_LISTVIEW": "Liste Görünümü Moduna Geri Dön",
|
||||
"VTMENU_RET_TO_TREEVIEW": "Ağaç Görünümü Moduna Geri Dön",
|
||||
|
||||
"VTMENU_NO_AUTOINS_SCRIPT": "Otomatik yükleme şablonu(autoinstalltemplate.xml) olmadan Önyükleme yap",
|
||||
"VTMENU_AUTOINS_USE": "ile Önyükleme Yap",
|
||||
|
||||
"VTMENU_NO_PERSIST": "Kalıcı ayar dosyası(persistence.dat) olmadan Önyükleme Yap",
|
||||
"VTMENU_PERSIST_USE": "ile Önyükleme Yap",
|
||||
|
||||
"VTMENU_BROWER_RETURN": "Geri Dön",
|
||||
|
||||
"VTMENU_ENTER_EXIT": "çıkmak için ENTER tuşuna basın",
|
||||
"VTMENU_ENTER_REBOOT": "yeniden başlatmak için ENTER'a basın",
|
||||
"VTMENU_ENTER_CONTINUE": "devam etmek için ENTER'a basın",
|
||||
|
||||
"MENU_STR_XXX": ""
|
||||
}
|
85
INSTALL/grub/menu/zh_CN.json
Normal file
85
INSTALL/grub/menu/zh_CN.json
Normal file
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"VTMENU_LANGUAGE_NAME": "Chinese Simplified (简体中文)",
|
||||
|
||||
"VTMENU_STR_HOTKEY_LIST": "L:语言 F1:帮助 F2:本地浏览 F3:列表模式 F4:本地启动 F5:工具 F6:扩展菜单",
|
||||
"VTMENU_STR_HOTKEY_TREE": "L:语言 F1:帮助 F2:本地浏览 F3:树形模式 F4:本地启动 F5:工具 F6:扩展菜单",
|
||||
"VTMENU_RETURN_PREVIOUS": "返回上一级菜单 [Esc]",
|
||||
|
||||
"VTMENU_MENU_LANG": "菜单语言",
|
||||
|
||||
"VTMENU_LB_SBOOT_WINDOWS": "搜索并启动 Windows",
|
||||
"VTMENU_LB_SBOOT_G4D": "搜索并启动 Grub4dos",
|
||||
"VTMENU_LB_SBOOT_HDD1": "启动本地硬盘1中的系统",
|
||||
"VTMENU_LB_SBOOT_HDD2": "启动本地硬盘2中的系统",
|
||||
"VTMENU_LB_SBOOT_HDD3": "启动本地硬盘3中的系统",
|
||||
"VTMENU_LB_SBOOT_X64EFI": "搜索并启动 BOOTX64.EFI",
|
||||
"VTMENU_LB_SBOOT_IA32EFI": "搜索并启动 BOOTIA32.EFI",
|
||||
"VTMENU_LB_SBOOT_AA64EFI": "搜索并启动 BOOTAA64.EFI",
|
||||
"VTMENU_LB_SBOOT_XORBOOT": "搜索并启动 xorboot",
|
||||
|
||||
"VTMENU_FILE_CHKSUM": "文件校验",
|
||||
"VTMENU_CHKSUM_MD5_CALC": "计算 MD5 校验值",
|
||||
"VTMENU_CHKSUM_SHA1_CALC": "计算 SHA1 校验值",
|
||||
"VTMENU_CHKSUM_SHA256_CALC": "计算 SHA256 校验值",
|
||||
"VTMENU_CHKSUM_SHA512_CALC": "计算 SHA512 校验值",
|
||||
"VTMENU_CHKSUM_MD5_CALC_CHK": "计算并检查 MD5 校验值",
|
||||
"VTMENU_CHKSUM_SHA1_CALC_CHK": "计算并检查 SHA1 校验值",
|
||||
"VTMENU_CHKSUM_SHA256_CALC_CHK": "计算并检查 SHA256 校验值",
|
||||
"VTMENU_CHKSUM_SHA512_CALC_CHK": "计算并检查 SHA512 校验值",
|
||||
|
||||
"VTMENU_POWER": "电源",
|
||||
"VTMENU_POWER_REBOOT": "重启",
|
||||
"VTMENU_POWER_HALT": "关机",
|
||||
"VTMENU_POWER_BOOT_EFIFW": "重启进入 UEFI 设置菜单",
|
||||
|
||||
"VTMENU_KEYBRD_LAYOUT": "键盘布局",
|
||||
"VTMENU_HWINFO": "硬件信息",
|
||||
|
||||
"VTMENU_RESOLUTION_CFG": "屏幕分辨率",
|
||||
"VTMENU_SCREEN_MODE": "显示模式",
|
||||
"VTMENU_SCREEN_TEXT_MODE": "文本模式",
|
||||
"VTMENU_SCREEN_GUI_MODE": "图形模式",
|
||||
|
||||
"VTMENU_THEME_SELECT": "主题选择",
|
||||
|
||||
"VTMENU_UTIL_SHOW_EFI_DRV": "显示 UEFI 驱动",
|
||||
"VTMENU_UTIL_FIX_BLINIT_FAIL": "修复 Windows BlinitializeLibrary 错误",
|
||||
|
||||
"VTMENU_JSON_CHK_JSON": "检查插件配置文件 (ventoy.json)",
|
||||
"VTMENU_JSON_CHK_CONTROL": "配置检查 —— 全局控制插件",
|
||||
"VTMENU_JSON_CHK_THEME": "配置检查 —— 主题插件",
|
||||
"VTMENU_JSON_CHK_AUTOINS": "配置检查 —— 自动安装插件",
|
||||
"VTMENU_JSON_CHK_PERSIST": "配置检查 —— 持久化插件",
|
||||
"VTMENU_JSON_CHK_MENU_ALIAS": "配置检查 —— 菜单别名插件",
|
||||
"VTMENU_JSON_CHK_MENU_TIP": "配置检查 —— 菜单提示插件",
|
||||
"VTMENU_JSON_CHK_MENU_CLASS": "配置检查 —— 菜单类型插件",
|
||||
"VTMENU_JSON_CHK_INJECTION": "配置检查 —— 文件注入插件",
|
||||
"VTMENU_JSON_CHK_AUTO_MEMDISK": "配置检查 —— 自动内存盘模式插件",
|
||||
"VTMENU_JSON_CHK_IMG_LIST": "配置检查 —— 文件列表插件(白名单)",
|
||||
"VTMENU_JSON_CHK_IMG_BLIST": "配置检查 —— 文件列表插件(黑名单)",
|
||||
"VTMENU_JSON_CHK_CONF_REPLACE": "配置检查 —— 启动配置替换插件",
|
||||
"VTMENU_JSON_CHK_DUD": "配置检查 —— Driver Update Disk插件",
|
||||
"VTMENU_JSON_CHK_PASSWORD": "配置检查 —— 密码插件",
|
||||
|
||||
"VTMENU_NORMAL_MODE": "以正常模式启动",
|
||||
"VTMENU_WIMBOOT_MODE": "以 wimboot 模式启动",
|
||||
"VTMENU_GRUB2_MODE": "以 grub2 模式启动",
|
||||
"VTMENU_MEMDISK_MODE": "以内存盘模式启动",
|
||||
|
||||
"VTMENU_RET_TO_LISTVIEW": "返回到列表模式",
|
||||
"VTMENU_RET_TO_TREEVIEW": "返回到树形模式",
|
||||
|
||||
"VTMENU_NO_AUTOINS_SCRIPT": "不使用自动安装脚本",
|
||||
"VTMENU_AUTOINS_USE": "使用",
|
||||
|
||||
"VTMENU_NO_PERSIST": "不使用持久化数据文件",
|
||||
"VTMENU_PERSIST_USE": "使用",
|
||||
|
||||
"VTMENU_BROWER_RETURN": "返回",
|
||||
|
||||
"VTMENU_ENTER_EXIT": "按回车键退出",
|
||||
"VTMENU_ENTER_REBOOT": "按回车键重启",
|
||||
"VTMENU_ENTER_CONTINUE": "按回车键继续",
|
||||
|
||||
"MENU_STR_XXX": ""
|
||||
}
|
85
INSTALL/grub/menu/zh_TW.json
Normal file
85
INSTALL/grub/menu/zh_TW.json
Normal file
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"VTMENU_LANGUAGE_NAME": "Chinese Traditional (正體中文)",
|
||||
|
||||
"VTMENU_STR_HOTKEY_LIST": "L:語言 F1:說明 F2:本地瀏覽 F3:清單模式 F4:本地啟動 F5:工具 F6:擴展選單",
|
||||
"VTMENU_STR_HOTKEY_TREE": "L:語言 F1:說明 F2:本地瀏覽 F3:樹形模式 F4:本地啟動 F5:工具 F6:擴展選單",
|
||||
"VTMENU_RETURN_PREVIOUS": "返回上一級選單 [Esc]",
|
||||
|
||||
"VTMENU_MENU_LANG": "功能表語言",
|
||||
|
||||
"VTMENU_LB_SBOOT_WINDOWS": "搜尋並啟動 Windows",
|
||||
"VTMENU_LB_SBOOT_G4D": "搜尋並啟動 Grub4dos",
|
||||
"VTMENU_LB_SBOOT_HDD1": "啟動本地硬碟1中的系統",
|
||||
"VTMENU_LB_SBOOT_HDD2": "啟動本地硬碟2中的系統",
|
||||
"VTMENU_LB_SBOOT_HDD3": "啟動本地硬碟3中的系統",
|
||||
"VTMENU_LB_SBOOT_X64EFI": "搜尋並啟動 BOOTX64.EFI",
|
||||
"VTMENU_LB_SBOOT_IA32EFI": "搜尋並啟動 BOOTIA32.EFI",
|
||||
"VTMENU_LB_SBOOT_AA64EFI": "搜尋並啟動 BOOTAA64.EFI",
|
||||
"VTMENU_LB_SBOOT_XORBOOT": "搜尋並啟動 xorboot",
|
||||
|
||||
"VTMENU_FILE_CHKSUM": "檔案校驗",
|
||||
"VTMENU_CHKSUM_MD5_CALC": "計算 MD5 校驗值",
|
||||
"VTMENU_CHKSUM_SHA1_CALC": "計算 SHA1 校驗值",
|
||||
"VTMENU_CHKSUM_SHA256_CALC": "計算 SHA256 校驗值",
|
||||
"VTMENU_CHKSUM_SHA512_CALC": "計算 SHA512 校驗值",
|
||||
"VTMENU_CHKSUM_MD5_CALC_CHK": "計算並檢查 MD5 校驗值",
|
||||
"VTMENU_CHKSUM_SHA1_CALC_CHK": "計算並檢查 SHA1 校驗值",
|
||||
"VTMENU_CHKSUM_SHA256_CALC_CHK": "計算並檢查 SHA256 校驗值",
|
||||
"VTMENU_CHKSUM_SHA512_CALC_CHK": "計算並檢查 SHA512 校驗值",
|
||||
|
||||
"VTMENU_POWER": "電源",
|
||||
"VTMENU_POWER_REBOOT": "重啟",
|
||||
"VTMENU_POWER_HALT": "關機",
|
||||
"VTMENU_POWER_BOOT_EFIFW": "重啟進入 UEFI 設定選單",
|
||||
|
||||
"VTMENU_KEYBRD_LAYOUT": "鍵盤配置",
|
||||
"VTMENU_HWINFO": "硬體資訊",
|
||||
|
||||
"VTMENU_RESOLUTION_CFG": "螢幕解析度",
|
||||
"VTMENU_SCREEN_MODE": "顯示模式",
|
||||
"VTMENU_SCREEN_TEXT_MODE": "文字模式",
|
||||
"VTMENU_SCREEN_GUI_MODE": "圖形模式",
|
||||
|
||||
"VTMENU_THEME_SELECT": "主題選擇",
|
||||
|
||||
"VTMENU_UTIL_SHOW_EFI_DRV": "顯示 UEFI 驅動",
|
||||
"VTMENU_UTIL_FIX_BLINIT_FAIL": "修復 Windows BlinitializeLibrary 錯誤",
|
||||
|
||||
"VTMENU_JSON_CHK_JSON": "檢查外掛程式設定檔 (ventoy.json)",
|
||||
"VTMENU_JSON_CHK_CONTROL": "配置檢查 —— 全域控制外掛程式",
|
||||
"VTMENU_JSON_CHK_THEME": "配置檢查 —— 主題外掛程式",
|
||||
"VTMENU_JSON_CHK_AUTOINS": "配置檢查 —— 自動安裝外掛程式",
|
||||
"VTMENU_JSON_CHK_PERSIST": "配置檢查 —— 持久化外掛程式",
|
||||
"VTMENU_JSON_CHK_MENU_ALIAS": "配置檢查 —— 功能表別名外掛程式",
|
||||
"VTMENU_JSON_CHK_MENU_TIP": "配置檢查 —— 功能表提示外掛程式",
|
||||
"VTMENU_JSON_CHK_MENU_CLASS": "配置檢查 —— 功能表類型外掛程式",
|
||||
"VTMENU_JSON_CHK_INJECTION": "配置檢查 —— 檔注入外掛程式",
|
||||
"VTMENU_JSON_CHK_AUTO_MEMDISK": "配置檢查 —— 自動內存檔模式外掛程式",
|
||||
"VTMENU_JSON_CHK_IMG_LIST": "配置檢查 —— 檔清單外掛程式(白名單)",
|
||||
"VTMENU_JSON_CHK_IMG_BLIST": "配置檢查 —— 檔清單外掛程式(黑名單)",
|
||||
"VTMENU_JSON_CHK_CONF_REPLACE": "配置檢查 —— 啟動配置替換外掛程式",
|
||||
"VTMENU_JSON_CHK_DUD": "配置檢查 —— Driver Update Disk外掛程式",
|
||||
"VTMENU_JSON_CHK_PASSWORD": "配置檢查 —— 密碼外掛程式",
|
||||
|
||||
"VTMENU_NORMAL_MODE": "以正常模式啟動",
|
||||
"VTMENU_WIMBOOT_MODE": "以 wimboot 模式啟動",
|
||||
"VTMENU_GRUB2_MODE": "以 grub2 模式啟動",
|
||||
"VTMENU_MEMDISK_MODE": "以內存檔模式啟動",
|
||||
|
||||
"VTMENU_RET_TO_LISTVIEW": "返回到清單模式",
|
||||
"VTMENU_RET_TO_TREEVIEW": "返回到樹形模式",
|
||||
|
||||
"VTMENU_NO_AUTOINS_SCRIPT": "不使用自動安裝腳本",
|
||||
"VTMENU_AUTOINS_USE": "使用",
|
||||
|
||||
"VTMENU_NO_PERSIST": "不使用持久化資料檔案",
|
||||
"VTMENU_PERSIST_USE": "使用",
|
||||
|
||||
"VTMENU_BROWER_RETURN": "返回",
|
||||
|
||||
"VTMENU_ENTER_EXIT": "按回車鍵退出",
|
||||
"VTMENU_ENTER_REBOOT": "按回車鍵重啟",
|
||||
"VTMENU_ENTER_CONTINUE": "按回車鍵繼續",
|
||||
|
||||
"MENU_STR_XXX": ""
|
||||
}
|
1
INSTALL/grub/menulang.cfg
Normal file
1
INSTALL/grub/menulang.cfg
Normal file
@@ -0,0 +1 @@
|
||||
#ventoy_pack.sh will generate menuentry here
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user