Compare commits

...

115 Commits

Author SHA1 Message Date
longpanda
22ad828df2 1.0.85 release 2022-12-18 22:11:28 +08:00
longpanda
83f22173a5 menu language update 2022-12-18 17:30:29 +08:00
longpanda
2de7d9ffe0 Suppress some prompt window when install Ventoy. 2022-12-17 23:36:59 +08:00
Tyemak
5c174c4521 Update languages.json (russian translation) (#2070)
* Update languages.json

* Update languages.json
2022-12-17 23:34:03 +08:00
longpanda
c76ece4b74 Fix the format failure when install Ventoy. 2022-12-16 17:03:05 +08:00
longpanda
27eda4d1e7 Fix the issue when booting Peux distro iso file. 2022-12-13 12:17:46 +08:00
longpanda
acf5a84467 Add Arabic menu language. 2022-12-12 11:00:57 +08:00
longpanda
c93e406aa5 Add missing file. 2022-12-11 21:59:09 +08:00
longpanda
1b164e74e4 update pl_PL.json 2022-12-11 10:49:02 +08:00
longpanda
308cb86f83 Fix json syntax error. 2022-12-11 10:30:31 +08:00
longpanda
2ec593d355 Add pl_PL language for menu. 2022-12-11 10:22:39 +08:00
longpanda
594e735b91 Merge branch 'master' of https://github.com/ventoy/Ventoy 2022-12-10 19:27:49 +08:00
longpanda
6203366040 grub2 mode support KNOPPIX 2022-12-10 19:27:38 +08:00
Thomas De Rocker
64f4400305 Update languages.json (#2046) 2022-12-10 17:32:03 +08:00
Alexander Dolidze
d00e08e2e1 added Georgian (ka_GE) translation (json/txt) for grub menu (#2044)
Co-authored-by: Alexander Dolidze <alexander.dolidze@azry.com>
2022-12-10 17:31:48 +08:00
Hugo Carvalho
c6008be394 Update Portuguese(Portugal) Translation (#2039)
* Update languages.json

Update Portuguese (Portugal) language

* Update Portuguese(Portugal) Translation

* Update Portuguese(Portugal) Translation
2022-12-10 17:31:31 +08:00
longpanda
a5c6859f5f Add zh_TW menu language. 2022-12-09 21:36:32 +08:00
longpanda
497d4cc991 update grub2 mod file 2022-12-09 21:33:59 +08:00
VenusGirl❤
7e7687afe3 Update ko_KR.txt (#2038) 2022-12-08 21:11:04 +08:00
Ida Bagus
dd3276badf Update id_ID.json (#2034)
first translation, if they find unrelevant translation, i will update it later
2022-12-08 21:10:49 +08:00
Ida Bagus
4a06f4a694 Update id_ID.txt (#2033)
fix little translation
2022-12-08 21:10:34 +08:00
Silejonu
c73bf256be French translation additions & corrections (#2032)
* Update fr_FR.txt

* Update fr_FR.json
2022-12-08 21:10:17 +08:00
longpanda
21851f7e96 Optimization for booting memtest86-usb.img. 2022-12-05 11:19:46 +08:00
longpanda
f222f8cac9 Auto memdisk plugin support some IMA/IMG files. 2022-12-05 10:51:15 +08:00
gidano
40c4825aac Hungarian translation (#2028)
* Hungarian translation

* Hungarian translation
2022-12-04 18:42:53 +08:00
VenusGirl❤
dd906e0b16 Update ko_KR.txt (#2025) 2022-12-04 17:38:48 +08:00
K.B.Dharun Krishna
324f2b927c grub/*: add Tamil translation (#2023)
* grub/menu: Add Tamil translation

Signed-off-by: K.B.Dharun Krishna <kbdharunkrishna@gmail.com>

* grub/help: Add Tamil translation

Signed-off-by: K.B.Dharun Krishna <kbdharunkrishna@gmail.com>

Signed-off-by: K.B.Dharun Krishna <kbdharunkrishna@gmail.com>
2022-12-04 17:38:32 +08:00
K.B.Dharun Krishna
5797ca3396 grub/help/en_US: Fix typos (#2024)
* grub/help/en_US: Fix typos

* Apply suggestions from code review

* Fix typo in line 15
2022-12-04 17:37:25 +08:00
longpanda
b36b322c03 Update languages.json 2022-12-04 17:33:46 +08:00
longpanda
fd7e34b632 1.0.84 release 2022-12-04 15:33:16 +08:00
longpanda
e85c02756b 1.0.83 release 2022-12-04 13:15:18 +08:00
wiz64
c1d68bd787 Add Russian Tranlsation (json/txt) grub menu (#2022) 2022-12-04 11:18:33 +08:00
wiz64
a35a822723 add Bengali (bn_BN.json/txt) (#2019) 2022-12-04 09:22:26 +08:00
Tayfun Akkoyun
05137c83e2 Update tr_TR.txt (#2020)
tr_TR.txt Help file is updated.
2022-12-04 09:21:58 +08:00
VenusGirl❤
8058856182 Update ko_KR.json (#2021) 2022-12-04 09:21:36 +08:00
longpanda
33b958e112 Update language json files 2022-12-03 21:37:09 +08:00
Tayfun Akkoyun
9eb50a85e4 Update tr_TR.json (#2018)
Master hi!
I translated lines again. Can you UPDATE this file again?
2022-12-03 20:17:13 +08:00
Steve
3cc7e3772e german translation (grub and related help) (#2016)
* updated german translation

translated the new strings

* german translation updated

* fixed STR_INSTALL_YES_TIP2

* german translation

* fix for F6

* german translation
2022-12-03 20:16:31 +08:00
longpanda
9c8292867f Update menu langauge json file 2022-12-03 17:53:42 +08:00
wiz64
a4053d2d05 add grub/menu hi.json (hindi) (#2014)
* add grub/menu hi.json (hindi)

* Update hi.json

* Update hotkey and rename

* Update and rename hi_HI.json to hi.json

* Rename hi.json to hi_HI.json

* Update hi_HI.json

* add grub/help/hi_HI.txt (hindi)
2022-12-03 17:45:47 +08:00
longpanda
5c14ea0a4a Add some menu language xx.json template. (copy from English) 2022-12-03 16:51:03 +08:00
longpanda
194e948cb6 Remove VTOY_HELP_TXT_LANGUAGE option from Global Control Plugin. 2022-12-03 14:33:52 +08:00
K.B.Dharun Krishna
c896c03efe language.json: Update Tamil translation (#2009) 2022-12-03 13:52:47 +08:00
wiz64
574b4d850c Update French [languages.json] (#2015) 2022-12-03 13:52:23 +08:00
wiz64
68a98325e6 Update German [languages.json] (#2006) 2022-12-03 13:52:08 +08:00
longpanda
25b055bb0f Hotkey change:
1. Change F1 from Memdisk to help
2. Add d/Ctrl+d for Memdisk
3. Add L for Language selection

So update the help txt files and menu json files at the same time.
2022-12-03 13:44:46 +08:00
longpanda
bda74cd89b VentoyPlugson supports multi-language menu option. 2022-12-02 20:46:57 +08:00
longpanda
511b8091eb Add muli-languages support for Ventoy menu.
F5 ---> Menu Language Select
Language files are in INSTALL/grub/menu/ directory.
2022-12-02 20:35:59 +08:00
VenusGirl❤
3be4aacd78 Update languages.json (#2003) 2022-12-02 20:26:34 +08:00
wiz64
2d8b27b172 Update Hindi & Bengali languages (#2002) 2022-12-02 20:26:21 +08:00
wiz64
c174410d35 Update Romanian Translation (#2001)
Co-authored-by: cezarlacatus 42448787+cezarlacatus@users.noreply.github.com
2022-12-02 20:26:06 +08:00
wiz64
f83e84f868 Fixed syntax errors for recent PRs (#1999) 2022-12-02 20:25:50 +08:00
dmitrygribenchuk
a39078b87a add belarussian and update ukranian and russian (#1998) 2022-12-02 11:42:59 +08:00
Tayfun Akkoyun
2576235f97 Turkish update_language.json (#1996)
New Turkish translate rows are completed
2022-12-02 11:42:31 +08:00
longpanda
ee04af5243 Ventoy2Disk update:
1. Add UDF filesytem option.
2. Add Cluster Size option.
3. Support FAT32 for disk bigger than 32GB.
4. Fix the format fail issue.
5. Add a tip bubble with cluster size when mouse hover on the file system type string.
6. The secure boot lock character can not show in early Windows, change it to a yellow icon.
2022-11-30 21:12:43 +08:00
Ida Bagus
118bedd546 Indonesian translation update (#1978)
translating STR_PART_VENTOY_FS row & little change
2022-11-30 20:54:37 +08:00
longpanda
44ff3dd8d4 VentoyPlugson: Fix the garbled preview json for unicode characters. 2022-11-23 14:27:58 +08:00
wiz64
9da5a6ce65 Update Romanian Translation (languages.json) (#1968)
* Updated Romanian (languages.json)

Co-authored-by: cezarlacatus <42448787+cezarlacatus@users.noreply.github.com>

* Updated Romanian (languages.json)

Co-authored-by: cezarlacatus <42448787+cezarlacatus@users.noreply.github.com>

Co-authored-by: cezarlacatus <42448787+cezarlacatus@users.noreply.github.com>
2022-11-19 19:17:38 +08:00
marcellogianola
604b25ec82 Update languages.json (#1965) 2022-11-19 19:17:14 +08:00
Vasilis
0918355035 Update languages.json (#1963)
Updated Greek translation
2022-11-18 15:28:32 +08:00
wiz64
ce76fd5649 Update German, French (#1962)
Co-authored-by: galaxy2211 <56916688+galaxy2211@users.noreply.github.com>

Co-authored-by: galaxy2211 <56916688+galaxy2211@users.noreply.github.com>
2022-11-18 15:28:17 +08:00
MELERIX
42535f35bc Update Spanish (Latinoamérica) translation (#1961)
* Update Spanish (Latinoamérica) translation

* Delete languages.json.bak
2022-11-18 15:25:38 +08:00
longpanda
68a9cebe19 1.0.82 release 2022-11-17 17:56:11 +08:00
wiz64
cc77c74bf4 Update Russian, Hindi, Bengali (languages.json) (#1959) 2022-11-17 17:15:29 +08:00
Tayfun Akkoyun
ee952e3f69 Turkish update.json (#1960) 2022-11-17 17:15:01 +08:00
longpanda
b11a499939 Update BOOT/BOOTX64.EFI and mm efi files from Fedora 37. 2022-11-16 22:34:37 +08:00
longpanda
fdf4693433 Ventoy2Disk.exe update.
1. Add exFAT/NTFS/FAT32 option when install Ventoy
2. Display Ventoy partition file system in physical disk
3. String "Status x%" is missing for translations (#1667)
2022-11-16 20:33:14 +08:00
VenusGirl❤
ac65c0fb24 Update languages.json (#1957) 2022-11-16 19:45:15 +08:00
wiz64
ea0afe7c8b Update Bengali Translation (#1956) 2022-11-16 19:44:58 +08:00
wiz64
f8ca8b13d3 Update Hindi Translation (#1941) 2022-11-16 17:56:04 +08:00
longpanda
678a2abdf1 Fix the disk display error when pCloud virtual disk is installed in Windows OS. 2022-11-13 19:29:49 +08:00
longpanda
e645301713 Optimization for Windows unattended install process. 2022-11-10 10:10:10 +08:00
longpanda
43b415c032 Fix an issue that CGI backup tool can not open in WePE. 2022-11-08 15:27:08 +08:00
longpanda
311d2961ca Fix the issue that help line disappears when auto-going to a submenu. (#1939) 2022-11-02 20:13:12 +08:00
longpanda
1d66584190 Change Ventoy LiveCD GUI default language to English (#1938) 2022-10-31 09:40:10 +08:00
longpanda
553c853865 Fix the issue that Linux WEB/GUI does not restore MBR when updating. (#1935) 2022-10-30 13:39:19 +08:00
longpanda
7d90912a09 Add VTOY_SHOW_PASSWORD_ASTERISK option in global control plugon. (#1931) 2022-10-26 15:27:51 +08:00
longpanda
c2336f555a 1.0.81 release 2022-10-25 19:58:10 +08:00
longpanda
87391e8b32 Update BOOTX64.EFI MMX64.EFI 2022-10-23 21:41:05 +08:00
longpanda
f9c56c6686 update vtoyjump 2022-10-22 19:54:54 +08:00
longpanda
1ab1799b72 Code Optimization 2022-10-22 16:13:03 +08:00
longpanda
4a42bdfce7 Add support for easyOS easy-4.4.2-amd64.img. (#1926) 2022-10-22 15:28:16 +08:00
longpanda
3f09fb9a23 VentoyPlugson Update:
1. Add preview json feature
2. Add reset button
3. Add configuration active identifier for each tab
4. Bug fix
2022-10-21 16:06:13 +08:00
longpanda
c87ad1d734 Fix VentoyPlugson issue when ISO partition has a drive label with a space. (#1901) 2022-10-09 09:24:16 +08:00
longpanda
5590208885 Fix the issue that rockcluster, part of config missing during install. (#1900) 2022-10-08 10:07:39 +08:00
longpanda
09a6d33d62 Add _VTNORMAL identifier. 2022-10-07 17:28:31 +08:00
longpanda
9852252aba Merge branch 'master' of https://github.com/ventoy/Ventoy 2022-10-07 11:18:04 +08:00
longpanda
0585d83a8f Fix the issue that VTOY_LINUX_REMOUNT=1 does not work with Batocera 35 (#1878) 2022-10-07 11:16:45 +08:00
A1ive
ebe0b7d282 show asterisks ('*') when typing password (#1868)
* show asterisks ('*') when typing password

* add function ventoy_password_get
2022-09-25 12:31:32 +08:00
MELERIX
261ddcef45 added Spanish (Latinoamérica) translation (#1865)
* added Spanish (Latinoamérica) translation

* Update languages.json
2022-09-25 10:14:02 +08:00
longpanda
ebc5e2e993 1. Disable Fn hotkey during secondary boot menu.
2. Recover boot mode after boot fail from secondary boot menu.
2022-09-24 21:06:29 +08:00
longpanda
d58bd8c3f7 update README.md 2022-09-23 11:32:39 +08:00
longpanda
17f9e2fd09 1.0.80 release 2022-09-21 19:41:51 +08:00
longpanda
6b22a6200e upate issue template 2022-09-21 11:27:51 +08:00
longpanda
860dce6683 Fix languages.json syntax error 2022-09-19 23:00:57 +08:00
longpanda
7fc72d5ce6 Fix a bug when ISO contains a ks=file:/xxx boot parameter. 2022-09-19 22:35:02 +08:00
K.B.Dharun Krishna
b7c3cbd23b languages.json: Add Tamil Language (#1848)
Adding Tamil Language translation to languages.json.

Signed-off-by: K.B.Dharun Krishna <kbdharunkrishna@gmail.com>

Signed-off-by: K.B.Dharun Krishna <kbdharunkrishna@gmail.com>
2022-09-19 21:40:31 +08:00
K.B.Dharun Krishna
3de97bdf44 Fix typo in GitHub Issue Templates (#1852) 2022-09-19 21:39:32 +08:00
longpanda
e79dc57ebe wimboot mode support Bob.Ombs.Modified.Win10PEx64 (#1842) 2022-09-16 01:05:58 +08:00
longpanda
7bf85a1ef8 Add 'i' 'u' hotkey. 2022-09-14 09:27:17 +08:00
crim50n
a5e0641226 Update to support a future version of MiniOS. (#1841)
* Update minios-hook.sh

* Update minios-disk.sh
2022-09-14 09:25:24 +08:00
longpanda
2c65eec9ec [update] Make injection plugin available in WIMBOOT mode. (#1834) 2022-09-13 22:04:19 +08:00
longpanda
0c310c5bd8 Make injection plugin available in WIMBOOT mode. (#1834) 2022-09-13 21:32:35 +08:00
Kamil Aronowski
c81b49807b Mention EuroLinux support (#1832) 2022-09-12 23:18:55 +08:00
shulkalala
085e20f64d Update languages.json - Spanish (#1827) 2022-09-12 23:18:30 +08:00
Henrique
ff3ce4da66 Fix Issue #1825 (#1826)
the modifications verify user privilege and prevent improper script execution.
2022-09-12 23:18:12 +08:00
longpanda
81d3492a61 Make injection plugin available in WIMBOOT mode. (#1834) 2022-09-12 22:40:00 +08:00
longpanda
635b1a1c6c Fix the 'overflow is detected' error in WIMBOOT mode for large ISO file. 2022-09-12 21:33:47 +08:00
longpanda
10b80f2690 Add w and r hotkey for WIMBOOT and GRUB2 mode. (#1837) 2022-09-12 11:24:57 +08:00
longpanda
36c21a21e4 Always use /bin/bash to launch VentoyPlugson.sh (#1809) 2022-08-23 20:50:18 +08:00
longpanda
13eb9829fa ALT Linux multiple initrd (#1784) 2022-08-14 23:10:46 +08:00
longpanda
88f77c01e4 bug fix 2022-08-13 22:12:00 +08:00
longpanda
11b30dab5f Fix typo in VentoyPlugson web page. (#1782) 2022-08-13 15:03:09 +08:00
longpanda
fb729146de Fix the issue when booting latest Gentoo live. (#1770) 2022-08-11 17:43:15 +08:00
longpanda
92bd6733dd Update MIPS GCC 7.3 download link. (#1757) 2022-07-29 13:50:11 +08:00
200 changed files with 8790 additions and 1774 deletions

View File

@@ -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:

View File

@@ -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:

View File

@@ -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

View File

@@ -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;

View 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);
}

View File

@@ -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;

View File

@@ -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. */

View File

@@ -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);

View File

@@ -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)

View File

@@ -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:

View File

@@ -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);
}
}

View File

@@ -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)
{

View File

@@ -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);

View File

@@ -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)

View File

@@ -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__ */

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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));

View File

@@ -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");

View File

@@ -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));

View File

@@ -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__ */

View File

@@ -12,7 +12,7 @@ make install
PATH=$VT_DIR/GRUB2/INSTALL/bin/:$VT_DIR/GRUB2/INSTALL/sbin/:$PATH
net_modules_legacy="net tftp http"
all_modules_legacy="file 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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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

View File

@@ -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

View File

@@ -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}')

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -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.

View File

@@ -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

View File

@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
print_usage() {
echo 'Usage: VentoyWeb.sh [ OPTION ]'

Binary file not shown.

Binary file not shown.

View File

@@ -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 ...'
}

View File

@@ -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 ...'
}

View File

@@ -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)

View 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 للعودة ......

View 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 টিপুন ......

View File

@@ -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......

View File

@@ -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)

View File

@@ -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 laide
F2 - Démarrer à partir dun disque local
F3 - Basculer laffichage 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 lISO dun pilote EFI (pour débug uniquement)
Appuyer sur Echap pour sortir ......
Appuyer sur Echap pour sortir…

View 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 दबाएं ......

View File

@@ -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)

View 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 ......

View File

@@ -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)

View File

@@ -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ドライバーを読み取る開発用非公式

View 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 დაბრუნებისთვის ......

View File

@@ -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 드라이버 불러오기 (디버그 전용, 공식적으로 사용할 수 없음)

View 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ć...

View File

@@ -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 ......

View 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, чтобы вернуться ......

View File

@@ -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 драјвер за имиџ фајлове (само за тестирање)

View 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 ஐ அழுத்தவும் ......

View File

@@ -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......

View File

@@ -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 键返回 ......

View 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 鍵返回 ......

View File

@@ -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
}

View File

@@ -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.

View File

@@ -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

Binary file not shown.

Binary file not shown.

View File

@@ -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
}

View File

@@ -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 ...'
}

View 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": ""
}

View 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": ""
}

View 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": ""
}

View 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": ""
}

View 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 daffichage",
"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 dinstallation 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 dinjection",
"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 à laffichage en liste",
"VTMENU_RET_TO_TREEVIEW": "Revenir à laffichage en arborescence",
"VTMENU_NO_AUTOINS_SCRIPT": "Démarrer en ignorant le modèle dauto-installation",
"VTMENU_AUTOINS_USE": "Démarrer en chargeant le modèle dauto-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": ""
}

View 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": ""
}

View 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": ""
}

View 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": ""
}

View 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": ""
}

View 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": ""
}

View 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": ""
}

View 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": ""
}

View 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": ""
}

View 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": ""
}

View 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": ""
}

View 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": ""
}

View 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": ""
}

View 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": ""
}

View 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": ""
}

View 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": ""
}

View 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