Compare commits

..

50 Commits

Author SHA1 Message Date
longpanda
0f90149c4e 1.0.90 release 2023-03-26 19:01:13 +08:00
longpanda
8ef9732931 Update vtoytool 2023-03-26 16:03:32 +08:00
longpanda
b32eda4262 Fix the VTOY_LINUX_REMOUNT option for new linux kernel in intel 11th(and later) gen CPU. 2023-03-26 10:45:19 +08:00
longpanda
e743f7c15f Add support for chimera linux. (#2309) 2023-03-24 20:43:47 +08:00
longpanda
652475f1ef Optimization for Fedora boot process 2023-03-24 10:37:24 +08:00
longpanda
abfc2a6343 Add checksum jif 2023-03-21 15:44:54 +08:00
longpanda
e73ac04cb6 update README.md 2023-03-20 17:15:36 +08:00
StoyanDimitrov
8727e63880 Update languages.json (#2299) 2023-03-17 17:39:57 +08:00
VenusGirl❤
2d281d7dee Update ko_KR.json (#2286)
Korean Update
2023-03-17 17:39:21 +08:00
Steve
385c806adf Updated german translation (#2279)
#2277 has an small issue (misstyping; "nocht" should read "noch")
Changed the translation. It is minimally shorter.
2023-03-17 17:39:02 +08:00
longpanda
e869bc2386 Fix the issue that Fedora Rawhide install media not detected. (#2283) 2023-03-10 22:33:53 +08:00
longpanda
b47aa1abc7 Support LibreELEC 11.0+ (#2281) 2023-03-09 23:59:12 +08:00
longpanda
d8698b2194 1.0.89 release 2023-03-07 19:21:15 +08:00
longpanda
7fa4724743 Fix the menu missing issue when there exist an invalid vlnk file. (#2228) 2023-03-07 18:05:33 +08:00
WebSnke
2717405a7a Add German translation for STR_4KN_UNSUPPORTED (#2277) 2023-03-05 20:59:09 +08:00
wiz64
d494007df9 update japanese (#2264) 2023-03-05 20:58:55 +08:00
Tayfun Akkoyun
bc9e3f641b Update tr_TR.txt (#2262)
Long translations edited to be shorter
2023-03-05 20:58:32 +08:00
dmitrygribenchuk
9f02d37001 Update translation (#2261)
* update translation

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

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

A few corrections to the Polish translation

* Update pl_PL.json

small correction

* Update pl_PL.json

the latest update

* Updated Polish translation

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

A few corrections to the Polish translation

* Update pl_PL.json

small correction

* Update pl_PL.json

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

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

* Fix missing translations

---------

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

* Update ko_KR.json

* Update ko_KR.json
2023-02-02 15:47:48 +08:00
MELERIX
e717d00d53 Update Spanish Latinoamérica translation (#2179) 2023-02-02 15:47:30 +08:00
wiz64
6bcaf19a1a Update languages.json (#2172) 2023-01-16 15:35:25 +08:00
wiz64
bcbe8835d4 update Russian and Bengali languages.json (#2167) 2023-01-15 21:10:25 +08:00
gidano
ed746ce13e Fixed hungarian text (#2163) 2023-01-15 21:10:11 +08:00
VenusGirl❤
07a790fc6a Update languages.json (#2160)
Korean Update
2023-01-15 21:09:54 +08:00
Tayfun Akkoyun
fd393a02fd Update languages.json (#2159)
"STR_4KN_UNSUPPORTED" line is translated to turkish language
2023-01-15 21:09:37 +08:00
longpanda
0501d03dbb Fix the syntax error in hu_HU.json 2023-01-15 13:15:51 +08:00
longpanda
c9939a8cfc Ignore reserved space when do non-destructive installation via GUI. (#2168) 2023-01-15 09:41:46 +08:00
longpanda
5067020a61 Add tip message when theme file contains non-enclosed literal values. (#2166) 2023-01-14 23:07:08 +08:00
longpanda
4f5334026e 1. Fix the issue that Ventoy2Disk_X64.exe can not run under altexe directory.
2. Fix the issue that VentoyPlugson_X64.exe exit silently.
3. Add missing /FS option for Ventoy2Disk.exe in Windows command line mode.
4. Ventoy2Disk.exe automatically change current directory when started from other directory.
2023-01-14 21:56:19 +08:00
60 changed files with 1261 additions and 284 deletions

View File

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

7
DMPATCH/Makefile_IBT Normal file
View File

@@ -0,0 +1,7 @@
obj-m += dm_patch_ibt.o
EXTRA_CFLAGS := -Wall -DVTOY_IBT -fcf-protection=branch -mindirect-branch-register
dm_patch_ibt-objs := dmpatch.o

View File

@@ -51,7 +51,9 @@ typedef struct ko_param
unsigned long sym_get_size;
unsigned long sym_put_addr;
unsigned long sym_put_size;
unsigned long padding[3];
unsigned long kv_major;
unsigned long ibt;
unsigned long padding[1];
}ko_param;
#pragma pack()
@@ -69,17 +71,73 @@ static volatile ko_param g_ko_param =
};
#if defined(CONFIG_X86_64)
#define PATCH_OP_POS 3
#define CODE_MATCH(code, i) \
#define PATCH_OP_POS1 3
#define CODE_MATCH1(code, i) \
(code[i] == 0x40 && code[i + 1] == 0x80 && code[i + 2] == 0xce && code[i + 3] == 0x80)
#define PATCH_OP_POS2 1
#define CODE_MATCH2(code, i) \
(code[i] == 0x0C && code[i + 1] == 0x80 && code[i + 2] == 0x89 && code[i + 3] == 0xC6)
#elif defined(CONFIG_X86_32)
#define PATCH_OP_POS 2
#define CODE_MATCH(code, i) \
#define PATCH_OP_POS1 2
#define CODE_MATCH1(code, i) \
(code[i] == 0x80 && code[i + 1] == 0xca && code[i + 2] == 0x80 && code[i + 3] == 0xe8)
#define PATCH_OP_POS2 2
#define CODE_MATCH2(code, i) \
(code[i] == 0x80 && code[i + 1] == 0xca && code[i + 2] == 0x80 && code[i + 3] == 0xe8)
#else
#error "unsupported arch"
#endif
#ifdef VTOY_IBT
#ifdef CONFIG_X86_64
/* Using 64-bit values saves one instruction clearing the high half of low */
#define DECLARE_ARGS(val, low, high) unsigned long low, high
#define EAX_EDX_VAL(val, low, high) ((low) | (high) << 32)
#define EAX_EDX_RET(val, low, high) "=a" (low), "=d" (high)
#else
#define DECLARE_ARGS(val, low, high) unsigned long long val
#define EAX_EDX_VAL(val, low, high) (val)
#define EAX_EDX_RET(val, low, high) "=A" (val)
#endif
#define EX_TYPE_WRMSR 8
#define EX_TYPE_RDMSR 9
#define MSR_IA32_S_CET 0x000006a2 /* kernel mode cet */
#define CET_ENDBR_EN (1ULL << 2)
/* Exception table entry */
#ifdef __ASSEMBLY__
#define _ASM_EXTABLE_TYPE(from, to, type) \
.pushsection "__ex_table","a" ; \
.balign 4 ; \
.long (from) - . ; \
.long (to) - . ; \
.long type ; \
.popsection
#else /* ! __ASSEMBLY__ */
#define _ASM_EXTABLE_TYPE(from, to, type) \
" .pushsection \"__ex_table\",\"a\"\n" \
" .balign 4\n" \
" .long (" #from ") - .\n" \
" .long (" #to ") - .\n" \
" .long " __stringify(type) " \n" \
" .popsection\n"
#endif /* __ASSEMBLY__ */
#endif /* VTOY_IBT */
#define vdebug(fmt, args...) if(kprintf) kprintf(KERN_ERR fmt, ##args)
static unsigned char *g_get_patch[MAX_PATCH] = { NULL };
@@ -100,6 +158,7 @@ static void notrace dmpatch_restore_code(unsigned char *opCode)
static int notrace dmpatch_replace_code
(
int style,
unsigned long addr,
unsigned long size,
int expect,
@@ -112,14 +171,25 @@ static int notrace dmpatch_replace_code
unsigned long align;
unsigned char *opCode = (unsigned char *)addr;
vdebug("patch for %s 0x%lx %d\n", desc, addr, (int)size);
vdebug("patch for %s style[%d] 0x%lx %d\n", desc, style, addr, (int)size);
for (i = 0; i < (int)size - 4; i++)
{
if (CODE_MATCH(opCode, i) && cnt < MAX_PATCH)
if (style == 1)
{
patch[cnt] = opCode + i + PATCH_OP_POS;
cnt++;
if (CODE_MATCH1(opCode, i) && cnt < MAX_PATCH)
{
patch[cnt] = opCode + i + PATCH_OP_POS1;
cnt++;
}
}
else
{
if (CODE_MATCH2(opCode, i) && cnt < MAX_PATCH)
{
patch[cnt] = opCode + i + PATCH_OP_POS2;
cnt++;
}
}
}
@@ -143,11 +213,66 @@ static int notrace dmpatch_replace_code
return 0;
}
#ifdef VTOY_IBT
static __always_inline unsigned long long dmpatch_rdmsr(unsigned int msr)
{
DECLARE_ARGS(val, low, high);
asm volatile("1: rdmsr\n"
"2:\n"
_ASM_EXTABLE_TYPE(1b, 2b, EX_TYPE_RDMSR)
: EAX_EDX_RET(val, low, high) : "c" (msr));
return EAX_EDX_VAL(val, low, high);
}
static __always_inline void dmpatch_wrmsr(unsigned int msr, u32 low, u32 high)
{
asm volatile("1: wrmsr\n"
"2:\n"
_ASM_EXTABLE_TYPE(1b, 2b, EX_TYPE_WRMSR)
: : "c" (msr), "a"(low), "d" (high) : "memory");
}
static u64 dmpatch_ibt_save(void)
{
u64 msr = 0;
u64 val = 0;
msr = dmpatch_rdmsr(MSR_IA32_S_CET);
val = msr & ~CET_ENDBR_EN;
dmpatch_wrmsr(MSR_IA32_S_CET, (u32)(val & 0xffffffffULL), (u32)(val >> 32));
return msr;
}
static void dmpatch_ibt_restore(u64 save)
{
u64 msr;
msr = dmpatch_rdmsr(MSR_IA32_S_CET);
msr &= ~CET_ENDBR_EN;
msr |= (save & CET_ENDBR_EN);
dmpatch_wrmsr(MSR_IA32_S_CET, (u32)(msr & 0xffffffffULL), (u32)(msr >> 32));
}
#else
static u64 dmpatch_ibt_save(void) { return 0; }
static void dmpatch_ibt_restore(u64 save) { (void)save; }
#endif
static int notrace dmpatch_init(void)
{
int r = 0;
int rc = 0;
u64 msr = 0;
if (g_ko_param.ibt == 0x8888)
{
msr = dmpatch_ibt_save();
}
kprintf = (printk_pf)(g_ko_param.printk_addr);
vdebug("dmpatch_init start pagesize=%lu ...\n", g_ko_param.pgsize);
@@ -169,7 +294,13 @@ static int notrace dmpatch_init(void)
reg_kprobe = (kprobe_reg_pf)g_ko_param.reg_kprobe_addr;
unreg_kprobe = (kprobe_unreg_pf)g_ko_param.unreg_kprobe_addr;
r = dmpatch_replace_code(g_ko_param.sym_get_addr, g_ko_param.sym_get_size, 2, "dm_get_table_device", g_get_patch);
r = dmpatch_replace_code(1, g_ko_param.sym_get_addr, g_ko_param.sym_get_size, 2, "dm_get_table_device", g_get_patch);
if (r && g_ko_param.kv_major >= 5)
{
vdebug("new patch dm_get_table_device...\n");
r = dmpatch_replace_code(2, g_ko_param.sym_get_addr, g_ko_param.sym_get_size, 1, "dm_get_table_device", g_get_patch);
}
if (r)
{
rc = -EINVAL;
@@ -177,7 +308,7 @@ static int notrace dmpatch_init(void)
}
vdebug("patch dm_get_table_device success\n");
r = dmpatch_replace_code(g_ko_param.sym_put_addr, g_ko_param.sym_put_size, 1, "dm_put_table_device", g_put_patch);
r = dmpatch_replace_code(1, g_ko_param.sym_put_addr, g_ko_param.sym_put_size, 1, "dm_put_table_device", g_put_patch);
if (r)
{
rc = -EINVAL;
@@ -189,6 +320,11 @@ static int notrace dmpatch_init(void)
vdebug("######## dm patch success ###########\n");
vdebug("#####################################\n");
if (g_ko_param.ibt == 0x8888)
{
dmpatch_ibt_restore(msr);
}
out:
return rc;
@@ -197,6 +333,12 @@ out:
static void notrace dmpatch_exit(void)
{
int i = 0;
u64 msr;
if (g_ko_param.ibt == 0x8888)
{
msr = dmpatch_ibt_save();
}
for (i = 0; i < MAX_PATCH; i++)
{
@@ -205,6 +347,11 @@ static void notrace dmpatch_exit(void)
}
vdebug("dmpatch_exit success\n");
if (g_ko_param.ibt == 0x8888)
{
dmpatch_ibt_restore(msr);
}
}
module_init(dmpatch_init);

65
DMPATCH/ubuntu_build.sh Normal file
View File

@@ -0,0 +1,65 @@
#!/bin/bash
FTPIP=168.0.0.209
FTPUSR='a:a'
rm -f dmpatch.c Makefile Makefile_IBT
for f in dmpatch.c Makefile Makefile_IBT; do
curl -s -u $FTPUSR ftp://$FTPIP/$f -o $f
if [ -f $f ]; then
echo "download $f OK ..."
else
echo "download $f FAILED ..."
exit 1
fi
done
rm -f *.ko
echo "build dm_patch.ko ..."
rm -rf ./aa
mkdir ./aa
cp -a *.c aa/
cp -a Makefile aa/
cd /home/panda/linux-source-5.13.0
make modules M=/home/panda/build/aa/
strip --strip-debug /home/panda/build/aa/dm_patch.ko
cd -
cp -a aa/dm_patch.ko ./
echo "build dm_patch_ibt.ko ..."
rm -rf ./aa
mkdir ./aa
cp -a *.c aa/
cp -a Makefile_IBT aa/Makefile
cd /home/panda/linux-source-5.13.0
make modules M=/home/panda/build/aa/
strip --strip-debug /home/panda/build/aa/dm_patch_ibt.ko
cd -
cp -a aa/dm_patch_ibt.ko ./
rm -rf ./aa
curl -s -T dm_patch.ko -u $FTPUSR ftp://$FTPIP/dm_patch_64.ko || exit 1
curl -s -T dm_patch_ibt.ko -u $FTPUSR ftp://$FTPIP/dm_patch_ibt_64.ko || exit 1
if [ -f ./dm_patch.ko -a -f ./dm_patch_ibt.ko ]; then
echo -e "\n\n=============== SUCCESS =============\n\n"
else
echo -e "\n\n=============== FAILED ==============\n\n"
fi

View File

@@ -1533,7 +1533,7 @@ module = {
name = squash4;
common = fs/squash4.c;
cflags = '$(CFLAGS_POSIX) -Wno-undef';
cppflags = '-I$(srcdir)/lib/posix_wrap -I$(srcdir)/lib/xzembed -I$(srcdir)/lib/minilzo -DMINILZO_HAVE_CONFIG_H';
cppflags = '-I$(srcdir)/lib/posix_wrap -I$(srcdir)/lib/xzembed -I$(srcdir)/lib/minilzo -I$(srcdir)/lib/zstd -DMINILZO_HAVE_CONFIG_H';
};
module = {

View File

@@ -27,6 +27,7 @@
#include <grub/fshelp.h>
#include <grub/deflate.h>
#include <minilzo.h>
#include <zstd.h>
#include "xz.h"
#include "xz_stream.h"
@@ -184,6 +185,7 @@ enum
COMPRESSION_LZO = 3,
COMPRESSION_XZ = 4,
COMPRESSION_LZ4 = 5,
COMPRESSION_ZSTD = 6,
};
@@ -398,6 +400,33 @@ static grub_ssize_t lz4_decompress_wrap(char *inbuf, grub_size_t insize, grub_of
return len;
}
static grub_ssize_t zstd_decompress_wrap(char *inbuf, grub_size_t insize, grub_off_t off,
char *outbuf, grub_size_t len, struct grub_squash_data *data)
{
char *udata = NULL;
int usize = data->blksz;
if (off == 0)
{
ZSTD_decompress(outbuf, len, inbuf, insize);
}
else
{
if (usize < 8192)
usize = 8192;
udata = grub_malloc (usize);
if (!udata)
return -1;
ZSTD_decompress(udata, usize, inbuf, insize);
grub_memcpy(outbuf, udata + off, len);
grub_free(udata);
}
return len;
}
static struct grub_squash_data *
squash_mount (grub_disk_t disk)
{
@@ -447,6 +476,9 @@ squash_mount (grub_disk_t disk)
case grub_cpu_to_le16_compile_time (COMPRESSION_LZ4):
data->decompress = lz4_decompress_wrap;
break;
case grub_cpu_to_le16_compile_time (COMPRESSION_ZSTD):
data->decompress = zstd_decompress_wrap;
break;
case grub_cpu_to_le16_compile_time (COMPRESSION_XZ):
data->decompress = xz_decompress;
data->xzbuf = grub_malloc (XZBUFSIZ);

View File

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

View File

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

View File

@@ -1767,6 +1767,10 @@ static int ventoy_check_vlnk_data(ventoy_vlnk *vlnk, int print, char *dst, int s
cur->fs->fs_close(&file);
grub_snprintf(dst, size - 1, "(%s)%s", cur->device, vlnk->filepath);
}
else
{
grub_errno = 0;
}
}
}
}

BIN
ICON/filechecksum.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 437 KiB

View File

@@ -0,0 +1,32 @@
#!/ventoy/busybox/sh
#************************************************************************************
# Copyright (c) 2020, longpanda <admin@ventoy.net>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, see <http://www.gnu.org/licenses/>.
#
#************************************************************************************
. /ventoy/hook/ventoy-hook-lib.sh
for i in 0 1 2 3 4 5 6 7 8 9; do
vtdiskname=$(get_ventoy_disk_name)
if [ "$vtdiskname" = "unknown" ]; then
vtlog "wait for disk ..."
$SLEEP 3
else
break
fi
done
ventoy_udev_disk_common_hook "${vtdiskname#/dev/}2"

View File

@@ -0,0 +1,22 @@
#!/ventoy/busybox/sh
#************************************************************************************
# Copyright (c) 2020, longpanda <admin@ventoy.net>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, see <http://www.gnu.org/licenses/>.
#
#************************************************************************************
. $VTOY_PATH/hook/ventoy-os-lib.sh
$SED "/maybe_break *premount/a\ $BUSYBOX_PATH/sh $VTOY_PATH/hook/chimera/disk_hook.sh" -i /init

View File

@@ -24,6 +24,7 @@
if [ -f $VTOY_PATH/autoinstall ]; then
VTKS="inst.ks=file:$VTOY_PATH/autoinstall"
cp -a $VTOY_PATH/hook/rhel7/ventoy-autoexp.sh /lib/dracut/hooks/pre-mount/99-ventoy-autoexp.sh
else
for vtParam in $($CAT /proc/cmdline); do
if echo $vtParam | $GREP -q 'ks=file:/'; then
@@ -90,23 +91,7 @@ if ls $VTOY_PATH | $GREP -q 'ventoy_dud[0-9]'; then
fi
echo "vtInstDD=$vtInstDD" >> $VTLOG
if $GREP -q 'root=live' /proc/cmdline; then
$SED "s#printf\(.*\)\$CMDLINE#printf\1\$CMDLINE root=live:/dev/ventoy $VTKS $VTOVERLAY $vtInstDD#" -i /lib/dracut-lib.sh
else
$SED "s#printf\(.*\)\$CMDLINE#printf\1\$CMDLINE inst.stage2=hd:/dev/ventoy $VTKS $VTOVERLAY $vtInstDD#" -i /lib/dracut-lib.sh
fi
ventoy_set_inotify_script rhel7/ventoy-inotifyd-hook.sh
#Fedora
if $BUSYBOX_PATH/which dmsquash-live-root > /dev/null; then
vtPriority=99
else
vtPriority=01
fi
$BUSYBOX_PATH/cp -a $VTOY_PATH/hook/rhel7/ventoy-inotifyd-start.sh /lib/dracut/hooks/pre-udev/${vtPriority}-ventoy-inotifyd-start.sh
$BUSYBOX_PATH/cp -a $VTOY_PATH/hook/rhel7/ventoy-timeout.sh /lib/dracut/hooks/initqueue/timeout/${vtPriority}-ventoy-timeout.sh
vtNeedRepo=
if [ -f /etc/system-release ]; then
@@ -125,12 +110,59 @@ if $GREP -i -q Fedora /proc/version; then
fi
fi
if $GREP -i -q Fedora /etc/os-release; then
if $GREP -q 'Server Edition' /etc/os-release; then
vtNeedRepo="yes"
fi
fi
echo "vtNeedRepo=$vtNeedRepo" >> $VTLOG
if [ "$vtNeedRepo" = "yes" ]; then
$BUSYBOX_PATH/cp -a $VTOY_PATH/hook/rhel7/ventoy-repo.sh /lib/dracut/hooks/pre-pivot/99-ventoy-repo.sh
fi
#iso-scan (currently only for Fedora)
if $GREP -q Fedora /etc/os-release; then
if ventoy_iso_scan_check; then
echo "iso_scan process ..." >> $VTLOG
vtIsoPath=$(/ventoy/tool/vtoydump -p /ventoy/ventoy_os_param)
VTISO_SCAN="iso-scan/filename=$vtIsoPath"
echo -n $vtIsoPath > /ventoy/vtoy_iso_scan
$SED "s#printf\(.*\)\$CMDLINE#printf\1\$CMDLINE $VTISO_SCAN $VTKS $VTOVERLAY $vtInstDD#" -i /lib/dracut-lib.sh
if [ "$VTOY_LINUX_REMOUNT" = "01" -a "$vtNeedRepo" != "yes" ]; then
ventoy_rw_iso_scan
fi
exit 0
fi
fi
echo "common process ..." >> $VTLOG
if $GREP -q 'root=live' /proc/cmdline; then
$SED "s#printf\(.*\)\$CMDLINE#printf\1\$CMDLINE root=live:/dev/ventoy $VTKS $VTOVERLAY $VTISO_SCAN $vtInstDD#" -i /lib/dracut-lib.sh
else
$SED "s#printf\(.*\)\$CMDLINE#printf\1\$CMDLINE inst.stage2=hd:/dev/ventoy $VTKS $VTOVERLAY $VTISO_SCAN $vtInstDD#" -i /lib/dracut-lib.sh
fi
ventoy_set_inotify_script rhel7/ventoy-inotifyd-hook.sh
#Fedora
if $BUSYBOX_PATH/which dmsquash-live-root > /dev/null; then
vtPriority=99
else
vtPriority=01
fi
$BUSYBOX_PATH/cp -a $VTOY_PATH/hook/rhel7/ventoy-inotifyd-start.sh /lib/dracut/hooks/pre-udev/${vtPriority}-ventoy-inotifyd-start.sh
$BUSYBOX_PATH/cp -a $VTOY_PATH/hook/rhel7/ventoy-timeout.sh /lib/dracut/hooks/initqueue/timeout/${vtPriority}-ventoy-timeout.sh
if [ -e /sbin/dmsquash-live-root ]; then
echo "patch /sbin/dmsquash-live-root ..." >> $VTLOG
$SED "1 a $BUSYBOX_PATH/sh $VTOY_PATH/hook/rhel7/ventoy-make-link.sh" -i /sbin/dmsquash-live-root
@@ -147,10 +179,6 @@ if $GREP -i -q 'fedora.*coreos' /etc/os-release; then
cp -a $VTOY_PATH/hook/rhel7/ventoy-make-link.sh /lib/dracut/hooks/pre-mount/99-ventoy-premount-mklink.sh
fi
if [ -f $VTOY_PATH/autoinstall ]; then
cp -a $VTOY_PATH/hook/rhel7/ventoy-autoexp.sh /lib/dracut/hooks/pre-mount/99-ventoy-autoexp.sh
fi
#special distro magic
$BUSYBOX_PATH/mkdir -p $VTOY_PATH/distmagic

View File

@@ -0,0 +1,26 @@
#!/ventoy/busybox/sh
#************************************************************************************
# Copyright (c) 2023, longpanda <admin@ventoy.net>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, see <http://www.gnu.org/licenses/>.
#
#************************************************************************************
. /ventoy/hook/ventoy-hook-lib.sh
vtHook=$($CAT $VTOY_PATH/inotifyd-hook-script.txt)
vtdisk=$(get_ventoy_disk_name)
vtlog "... $vtdisk already exist ..."
$BUSYBOX_PATH/sh $vtHook n /dev "${vtdisk#/dev/}2"

View File

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

View File

@@ -23,7 +23,18 @@ vtlog "##### $0 $* ..."
VTPATH_OLD=$PATH; PATH=$BUSYBOX_PATH:$VTOY_PATH/tool:$PATH
repodev=$(ls $VTOY_PATH/dev_backup*)
echo "inst.repo=hd:/dev/${repodev#*dev_backup_}" >> /sysroot/etc/cmdline
if [ -f /ventoy/vtoy_iso_scan ]; then
repopath=$(cat /ventoy/vtoy_iso_scan)
repodev=$(vtoydump -f /ventoy/ventoy_os_param | awk -F'#' '{print $1}')
if echo $repodev | egrep -q "nvme|mmc|nbd"; then
vtpart1=${repodev}p1
else
vtpart1=${repodev}1
fi
echo "inst.repo=hd:${vtpart1}:${repopath}" >> /sysroot/etc/cmdline
else
repodev=$(ls $VTOY_PATH/dev_backup*)
echo "inst.repo=hd:/dev/${repodev#*dev_backup_}" >> /sysroot/etc/cmdline
fi
PATH=$VTPATH_OLD

View File

@@ -223,6 +223,42 @@ ventoy_check_dm_module() {
fi
}
ventoy_need_proc_ibt() {
vtKv=$($BUSYBOX_PATH/uname -r)
vtMajor=$(echo $vtKv | $AWK -F. '{print $1}')
vtMinor=$(echo $vtKv | $AWK -F. '{print $2}')
#ibt was supported since linux kernel 5.18
if [ $vtMajor -lt 5 ]; then
$BUSYBOX_PATH/false; return
elif [ $vtMajor -eq 5 ]; then
if [ $vtMajor -lt 18 ]; then
$BUSYBOX_PATH/false; return
fi
fi
if $GREP -q ' ibt=off' /proc/cmdline; then
$BUSYBOX_PATH/false; return
fi
#hardware CPU doesn't support IBT
if $VTOY_PATH/tool/vtoykmod -I; then
:
else
$BUSYBOX_PATH/false; return
fi
#dot.CONFIG not enabled
if $GREP -q ' ibt_restore$' /proc/kallsyms; then
:
else
$BUSYBOX_PATH/false; return
fi
$BUSYBOX_PATH/true
}
ventoy_need_dm_patch() {
if [ "$VTOY_LINUX_REMOUNT" != "01" ]; then
if $GREP -q 'VTOY_LINUX_REMOUNT=1' /proc/cmdline; then
@@ -269,6 +305,16 @@ ventoy_dm_patch() {
return
fi
if ventoy_need_proc_ibt; then
vtlog "need to proc IBT"
vtKoName=dm_patch_ibt_64.ko
vtIBT='0x8888'
else
vtlog "NO need to proc IBT"
vtIBT='0'
fi
if [ -f $VTOY_PATH/tool/$vtKoName ]; then
vtlog "/ventoy/tool/$vtKoName exist OK"
else
@@ -305,6 +351,9 @@ ventoy_dm_patch() {
if [ "$VTOY_DEBUG_LEVEL" = "01" ]; then
printk_addr=$($GREP ' printk$' /proc/kallsyms | $AWK '{print $1}')
if [ -z "$printk_addr" ]; then
printk_addr=$($GREP ' _printk$' /proc/kallsyms | $AWK '{print $1}')
fi
vtDebug="-v"
else
printk_addr=0
@@ -361,14 +410,16 @@ ventoy_dm_patch() {
return
fi
#step1: modify vermagic/mod crc/relocation
vtlog "$VTOY_PATH/tool/vtoykmod -u $VTOY_PATH/tool/$vtKoName $VTOY_PATH/$vtModName $vtDebug"
$VTOY_PATH/tool/vtoykmod -u $VTOY_PATH/tool/$vtKoName $VTOY_PATH/$vtModName $vtDebug
#step2: fill parameters
vtPgsize=$($VTOY_PATH/tool/vtoyksym -p)
vtlog "$VTOY_PATH/tool/vtoykmod -f $VTOY_PATH/tool/$vtKoName $vtPgsize 0x$printk_addr 0x$ro_addr 0x$rw_addr $get_addr $get_size $put_addr $put_size 0x$kprobe_reg_addr 0x$kprobe_unreg_addr $vtDebug"
$VTOY_PATH/tool/vtoykmod -f $VTOY_PATH/tool/$vtKoName $vtPgsize 0x$printk_addr 0x$ro_addr 0x$rw_addr $get_addr $get_size $put_addr $put_size 0x$kprobe_reg_addr 0x$kprobe_unreg_addr $vtDebug
vtlog "$VTOY_PATH/tool/vtoykmod -f $VTOY_PATH/tool/$vtKoName $vtPgsize 0x$printk_addr 0x$ro_addr 0x$rw_addr $get_addr $get_size $put_addr $put_size 0x$kprobe_reg_addr 0x$kprobe_unreg_addr $vtKv $vtIBT $vtDebug"
$VTOY_PATH/tool/vtoykmod -f $VTOY_PATH/tool/$vtKoName $vtPgsize 0x$printk_addr 0x$ro_addr 0x$rw_addr $get_addr $get_size $put_addr $put_size 0x$kprobe_reg_addr 0x$kprobe_unreg_addr $vtKv $vtIBT $vtDebug
$BUSYBOX_PATH/insmod $VTOY_PATH/tool/$vtKoName

View File

@@ -121,3 +121,48 @@ ventoy_check_mount() {
$BUSYBOX_PATH/mount $1 $2
fi
}
ventoy_has_exfat_ko() {
vtExfat=''
vtKerVer=$($BUSYBOX_PATH/uname -r)
if [ -d /lib/modules/$vtKerVer/kernel/fs/exfat ]; then
vtExfat=$(ls /lib/modules/$vtKerVer/kernel/fs/exfat/)
fi
[ -n "$vtExfat" ]
}
ventoy_is_exfat_part() {
$VTOY_PATH/tool/vtoydump -s /ventoy/ventoy_os_param | $GREP -q exfat
}
ventoy_iso_scan_path() {
if [ -f /sbin/iso-scan ]; then
echo -n '/sbin/iso-scan'
elif [ -f /bin/iso-scan ]; then
echo -n '/bin/iso-scan'
else
echo -n ''
fi
}
ventoy_has_iso_scan() {
vtScanPath=$(ventoy_iso_scan_path)
[ -n "$vtScanPath" ]
}
ventoy_rw_iso_scan() {
vtScanPath=$(ventoy_iso_scan_path)
if [ -n "$vtScanPath" ]; then
if $GREP -q 'mount.* ro .*isoscan' $vtScanPath; then
$SED -i 's/\(mount.*-o.*\) ro /\1 rw /' $vtScanPath
fi
fi
}
ventoy_iso_scan_check() {
if ventoy_is_exfat_part; then
if ventoy_has_exfat_ko; then
ventoy_has_iso_scan
fi
fi
}

View File

@@ -34,9 +34,12 @@ else
vtBit=32
fi
xz -d $VTOY_PATH/vtloopex/dm-mod/$vtKerVer/$vtBit/dm-mod.ko.xz
insmod $VTOY_PATH/vtloopex/dm-mod/$vtKerVer/$vtBit/dm-mod.ko
if [ -f $VTOY_PATH/vtloopex/dm-mod/$vtKerVer/$vtBit/dm-mod.ko.xz ]; then
xz -d $VTOY_PATH/vtloopex/dm-mod/$vtKerVer/$vtBit/dm-mod.ko.xz
insmod $VTOY_PATH/vtloopex/dm-mod/$vtKerVer/$vtBit/dm-mod.ko
elif [ -f $VTOY_PATH/modules/dm-mod.ko ]; then
insmod $VTOY_PATH/modules/dm-mod.ko
fi
wait_for_usb_disk_ready

View File

@@ -369,6 +369,9 @@ ventoy_get_os_type() {
fi
fi
if $GREP -q 'chimera' /proc/version; then
echo 'chimera'; return
fi
echo "default"
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

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

View File

@@ -401,6 +401,8 @@ function distro_specify_initrd_file_phase2 {
vt_linux_specify_initrd_file /boot/full.cz
elif [ -f (loop)/images/pxeboot/initrd.img ]; then
vt_linux_specify_initrd_file /images/pxeboot/initrd.img
elif [ -f (loop)/live/initrd ]; then
vt_linux_specify_initrd_file /live/initrd
fi
}
@@ -1926,6 +1928,20 @@ function ventoy_img_openelec {
loopback vtloopex $vtoy_efi_part/ventoy/vtloopex.cpio
vt_img_extra_initrd_append (vtloopex)/$elec_ver/vtloopex.tar.xz
if [ "$elec_ver" = "LibreELEC" ]; then
if [ -f (vtimghd,1)/system ]; then
loopback elecsfs (vtimghd,1)/system
vt_get_lib_module_ver (elecsfs) /usr/lib/kernel-overlays/base/lib/modules/ vt_module_ver
if [ -n "$vt_module_ver" ]; then
for mod in "kernel/drivers/md/dm-mod.ko"; do
if [ -e (elecsfs)/usr/lib/kernel-overlays/base/lib/modules/$vt_module_ver/$mod ]; then
vt_img_extra_initrd_append (elecsfs)/usr/lib/kernel-overlays/base/lib/modules/$vt_module_ver/$mod
fi
done
fi
fi
fi
ventoy_debug_pause
#boot image file
@@ -1938,6 +1954,7 @@ function ventoy_img_openelec {
vt_img_unhook_root
vt_unset_boot_opt
loopback -d vtloopex
loopback -d elecsfs
}
@@ -2411,7 +2428,7 @@ function mimg_common_menuentry {
#############################################################
#############################################################
set VENTOY_VERSION="1.0.88"
set VENTOY_VERSION="1.0.90"
#ACPI not compatible with Window7/8, so disable by default
set VTOY_PARAM_NO_ACPI=1

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,4 +1,4 @@
{
"VTLANG_LANGUAGE_NAME": "Hungarian (Magyar)",
"VTLANG_STR_HOTKEY_LIST": "L:Nyelv F1:Súgó F2:Tallóz F3:Listanézet F4:Helyi indítás F5:Eszközök F6:Bővített menü",

View File

@@ -1,10 +1,13 @@
{
"VTLANG_LANGUAGE_NAME": "Korean (한국어)",
"VTLANG_STR_HOTKEY_LIST": "번역-비너스걸 L:언어 F1:도움말 F2:찾아보기 F3:목록보기 F4:로컬부팅 F5:도구 F6:확장메뉴",
"VTLANG_STR_HOTKEY_TREE": "번역-비너스걸 L:언어 F1:도움말 F2:찾아보기 F3:트리보기 F4:로컬부팅 F5:도구 F6:확장메뉴",
"VTLANG_STR_HOTKEY_LIST": " L:언어 F1:도움말 F2:찾아보기 F3:목록 보기 F4:로컬 부팅 F5:도구 F6:확장 메뉴",
"VTLANG_STR_HOTKEY_TREE": " L:언어 F1:도움말 F2:찾아보기 F3:트리 보기 F4:로컬 부팅 F5:도구 F6:확장 메뉴",
"VTLANG_RETURN_PREVIOUS": "이전 메뉴로 돌아가기 [Esc]",
"VTLANG_RETURN_PRV_NOESC": "이전 메뉴로 돌아가기",
"VTLANG_MENU_LANG": "메뉴 언어 선택",
"VTLANG_LB_SBOOT_WINDOWS": "Windows 검색 및 부팅",
"VTLANG_LB_SBOOT_G4D": "Grub4dos 검색 및 부팅",
"VTLANG_LB_SBOOT_HDD1": "첫 번째 로컬 디스크 부팅",
@@ -14,30 +17,37 @@
"VTLANG_LB_SBOOT_IA32EFI": "BOOTIA32.EFI 검색 및 부팅",
"VTLANG_LB_SBOOT_AA64EFI": "BOOTAA64.EFI 검색 및 부팅",
"VTLANG_LB_SBOOT_XORBOOT": "xorboot 검색 및 부팅",
"VTLANG_FILE_CHKSUM": "파일 체크섬",
"VTLANG_CHKSUM_MD5_CALC": "md5sum 계산",
"VTLANG_CHKSUM_SHA1_CALC": "sha1sum 계산",
"VTLANG_CHKSUM_SHA256_CALC": "sha256sum 계산",
"VTLANG_CHKSUM_SHA512_CALC": "sha512sum 계산",
"VTLANG_CHKSUM_MD5_CALC_CHK": "md5sum 계산 및 확인",
"VTLANG_CHKSUM_SHA1_CALC_CHK": "sha1sum 계산 및 확인",
"VTLANG_CHKSUM_SHA256_CALC_CHK": "sha256sum 계산 및 확인",
"VTLANG_CHKSUM_SHA512_CALC_CHK": "sha512sum 계산 및 확인",
"VTLANG_CHKSUM_MD5_CALC": "md5 검사값 계산",
"VTLANG_CHKSUM_SHA1_CALC": "sha1 검사값 계산",
"VTLANG_CHKSUM_SHA256_CALC": "sha256 검사값 계산",
"VTLANG_CHKSUM_SHA512_CALC": "sha512 검사값 계산",
"VTLANG_CHKSUM_MD5_CALC_CHK": "md5 검사값 계산 및 확인",
"VTLANG_CHKSUM_SHA1_CALC_CHK": "sha1 검사값 계산 및 확인",
"VTLANG_CHKSUM_SHA256_CALC_CHK": "sha256 검사값 계산 및 확인",
"VTLANG_CHKSUM_SHA512_CALC_CHK": "sha512 검사값 계산 및 확인",
"VTLANG_POWER": "전원",
"VTLANG_POWER_REBOOT": "다시 시작",
"VTLANG_POWER_HALT": "전원 끄기",
"VTLANG_POWER_BOOT_EFIFW": "EFI 설정으로 다시 시작",
"VTLANG_POWER_BOOT_EFIFW": "UEFI 설정으로 다시 시작",
"VTLANG_KEYBRD_LAYOUT": "키보드 레이아웃",
"VTLANG_HWINFO": "하드웨어 정보",
"VTLANG_RESOLUTION_CFG": "해상도 구성",
"VTLANG_SCREEN_MODE": "화면 표시 모드",
"VTLANG_SCREEN_TEXT_MODE": "강제 텍스트 모드",
"VTLANG_SCREEN_GUI_MODE": "강제 그래픽 모드",
"VTLANG_THEME_SELECT": "테마 선택",
"VTLANG_UEFI_UTIL": "Ventoy UEFI 유틸리티",
"VTLANG_UTIL_SHOW_EFI_DRV": "EFI 드라이버 표시",
"VTLANG_UTIL_SHOW_EFI_DRV": "UEFI 드라이버 표시",
"VTLANG_UTIL_FIX_BLINIT_FAIL": "Windows 초기화 라이브러리 오류 복구",
"VTLANG_JSON_CHK_JSON": "플러그인 json 구성 확인 (ventoy.json)",
"VTLANG_JSON_CHK_JSON": "플러그인 파일 구성 확인 (ventoy.json)",
"VTLANG_JSON_CHK_CONTROL": "전역 제어 플러그인 구성 확인",
"VTLANG_JSON_CHK_THEME": "테마 플러그인 구성 확인",
"VTLANG_JSON_CHK_AUTOINS": "자동 설치 플러그인 구성 확인",
@@ -52,24 +62,31 @@
"VTLANG_JSON_CHK_CONF_REPLACE": "부팅 구성 대체 플러그인 구성 확인",
"VTLANG_JSON_CHK_DUD": "드라이버 업데이트 디스크 플러그인 구성 확인",
"VTLANG_JSON_CHK_PASSWORD": "암호 플러그인 구성 확인",
"VTLANG_NORMAL_MODE": "정상 모드로 부팅",
"VTLANG_NORMAL_MODE": "일반 모드로 부팅",
"VTLANG_WIMBOOT_MODE": "wimboot 모드로 부팅",
"VTLANG_GRUB2_MODE": "grub2 모드로 부팅",
"VTLANG_MEMDISK_MODE": "memdisk 모드로 부팅",
"VTLANG_MEMDISK_MODE": "메모리 디스크 모드로 부팅",
"VTLANG_RET_TO_LISTVIEW": "목록보기로 돌아가기",
"VTLANG_RET_TO_TREEVIEW": "트리보기로 돌아가기",
"VTLANG_NO_AUTOINS_SCRIPT": "자동 설치 스크립트 사용 안 함",
"VTLANG_AUTOINS_USE": "부팅 대상",
"VTLANG_NO_PERSIST": "영구화된 데이터 파일 사용 안 함",
"VTLANG_PERSIST_USE": "부팅 대상",
"VTLANG_BROWER_RETURN": "돌아가기",
"VTLANG_ENTER_EXIT": "종료하려면 Enter 키를 누르십시오",
"VTLANG_ENTER_REBOOT": "다시 시작하려면 Enter 키를 누르십시오",
"VTLANG_ENTER_CONTINUE": "계속하려면 Enter 키를 누르십시오",
"VTLANG_CTRL_TEMP_SET": "임시 제어 설정",
"VTLANG_WIN11_BYPASS_CHECK": "Windows 11 설치 시 CPU/TPM/Secure Boot 검사 회피",
"VTLANG_WIN11_BYPASS_NRO": "Windows 11 설치 시 온라인 계정 요구 사항 무시",
"VTLANG_LINUX_REMOUNT": "Linux 부팅 후 Ventoy 파티션 마운트",
"VTLANG_SECONDARY_BOOT_MENU": "보조 부팅 메뉴 표시",
"MENU_STR_XXX": ""
}

View File

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

View File

@@ -8,7 +8,7 @@
"VTLANG_MENU_LANG": "Выбор языка меню",
"VTLANG_LB_SBOOT_WINDOWS": "Найти и загрузить винду",
"VTLANG_LB_SBOOT_WINDOWS": "Найти и загрузить Windows",
"VTLANG_LB_SBOOT_G4D": "Найти и загрузить Grub4dos",
"VTLANG_LB_SBOOT_HDD1": "Загрузить 1-й локальный диск",
"VTLANG_LB_SBOOT_HDD2": "Загрузить 2-й локальный диск",
@@ -28,9 +28,9 @@
"VTLANG_CHKSUM_SHA256_CALC_CHK": "Вычислить и проверить sha256sum",
"VTLANG_CHKSUM_SHA512_CALC_CHK": "Вычислить и проверить sha512sum",
"VTLANG_POWER": "Включить",
"VTLANG_POWER": "Питание",
"VTLANG_POWER_REBOOT": "Перезагрузить",
"VTLANG_POWER_HALT": "Остановить",
"VTLANG_POWER_HALT": "Завершить роботу",
"VTLANG_POWER_BOOT_EFIFW": "Перезагрузиться в настройку EFI",
"VTLANG_KEYBRD_LAYOUT": "Раскладки клавиатуры",
@@ -43,9 +43,9 @@
"VTLANG_THEME_SELECT": "Выбор темы",
"VTLANG_UEFI_UTIL": "UEFI утилиты Вентоя",
"VTLANG_UEFI_UTIL": "UEFI утилиты Ventoy",
"VTLANG_UTIL_SHOW_EFI_DRV": "Показать драйверы EFI",
"VTLANG_UTIL_FIX_BLINIT_FAIL": "Исправить ошибку винды «BlinitializeLibrary»",
"VTLANG_UTIL_FIX_BLINIT_FAIL": "Исправить ошибку Windows «BlinitializeLibrary»",
"VTLANG_JSON_CHK_JSON": "Проверить настройки расширения «json» (ventoy.json)",
"VTLANG_JSON_CHK_CONTROL": "Проверить настройки расширения «global control»",
@@ -68,8 +68,8 @@
"VTLANG_GRUB2_MODE": "Загрузиться в режиме grub2",
"VTLANG_MEMDISK_MODE": "Загрузиться в режиме memdisk",
"VTLANG_RET_TO_LISTVIEW": "Вернуться к ВидуСписком",
"VTLANG_RET_TO_TREEVIEW": "Вернуться к ВидуДревом",
"VTLANG_RET_TO_LISTVIEW": "Вернуться к Виду списком",
"VTLANG_RET_TO_TREEVIEW": "Вернуться к Виду древом",
"VTLANG_NO_AUTOINS_SCRIPT": "Загрузка без шаблона автоматической установки",
"VTLANG_AUTOINS_USE": "Загрузиться с",
@@ -84,9 +84,9 @@
"VTLANG_ENTER_CONTINUE": "нажмите клавишу ввода, чтобы продолжить",
"VTLANG_CTRL_TEMP_SET": "Настройки временного управления",
"VTLANG_WIN11_BYPASS_CHECK": "Обойти проверку при установке 11-ой винды",
"VTLANG_WIN11_BYPASS_NRO": "Обойти требование сетевой учётной записи при установке 11-ой винды",
"VTLANG_LINUX_REMOUNT": "Смонтировать раздел Вентоя после загрузки линукса",
"VTLANG_WIN11_BYPASS_CHECK": "Обойти проверку CPU/TPM/SecureBoot при установке Windows 11",
"VTLANG_WIN11_BYPASS_NRO": "Обойти требование сетевой учётной записи при установке Windows 11",
"VTLANG_LINUX_REMOUNT": "Смонтировать раздел Ventoy после загрузки Linux",
"VTLANG_SECONDARY_BOOT_MENU": "Показать вторичное загрузочное меню",
"MENU_STR_XXX": ""

View File

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

View File

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

View File

@@ -60,7 +60,7 @@
"STR_PART_CLUSTER":"حجم الكتلة",
"STR_PART_CLUSTER_DEFAULT":"القيمة الافتراضية للنظام",
"STR_DONATE":"يتبرع",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native devices.",
"STRXXX":""
},
@@ -125,7 +125,7 @@
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STR_DONATE":"Ianə",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native devices.",
"STRXXX":""
},
@@ -146,7 +146,7 @@
"STR_STATUS":"상태 - 준비 완료",
"STR_INSTALL":"설치",
"STR_UPDATE":"업데이트",
"STR_UPDATE_TIP":"업그레이드 작업은 안전하며 ISO 파일 변경되지 않습니다.#@계속하시겠습니까?",
"STR_UPDATE_TIP":"업그레이드 작업은 안전하며 ISO 파일 변경되지 않습니다.#@계속하시겠습니까?",
"STR_INSTALL_TIP":"디스크가 포맷되고 모든 데이터가 손실됩니다.#@계속하시겠습니까?",
"STR_INSTALL_TIP2":"디스크가 포맷되고 모든 데이터가 손실됩니다.#@계속하시겠습니까? (다시 확인)",
"STR_INSTALL_SUCCESS":"축하합니다!#@Ventoy가 장치에 성공적으로 설치되었습니다.",
@@ -172,17 +172,17 @@
"STR_WEB_REMOTE_ABNORMAL":"통신 오류: 원격 이상",
"STR_WEB_REQUEST_TIMEOUT":"통신 오류: 요청이 시간 초과됨",
"STR_WEB_SERVICE_UNAVAILABLE":"통신 오류: 서비스를 사용할 수 없음",
"STR_WEB_TOKEN_MISMATCH":"데몬 상태가 업데이트되었습니다. 나중에 다시 시도하십시오.",
"STR_WEB_TOKEN_MISMATCH":"백그라운드 서비스 상태가 업데이트되었습니다. 나중에 다시 시도하십시오.",
"STR_WEB_SERVICE_BUSY":"서비스가 사용 중입니다. 나중에 다시 시도하십시오.",
"STR_MENU_VTSI_CREATE":"VTSI 파일 생성",
"STR_VTSI_CREATE_TIP":"이번에는 장치에 쓰지 않고 VTSI 파일#@만 생성합니다.#@계속하시겠습니까?",
"STR_VTSI_CREATE_SUCCESS":"VTSI 파일이 성공적으로 생성되었습니다!#@Rufus (3.15+)를 사용하여 장치에 기록하여 Ventoy 설치를 완료할 수 있습니다.",
"STR_VTSI_CREATE_TIP":"이 작업은 장치에 데이터를 쓰지 않고 VTSI 파일#@만 생성합니다.#@계속하시겠습니까?",
"STR_VTSI_CREATE_SUCCESS":"VTSI 파일이 성공적으로 생성되었습니다!#@Rufus (3.15 이상)를 사용하여 장치에 기록하여 Ventoy 설치를 완료할 수 있습니다.",
"STR_VTSI_CREATE_FAILED":"VTSI 파일을 생성하지 못했습니다.",
"STR_MENU_PART_RESIZE":"비파괴 설치",
"STR_PART_RESIZE_TIP":"가능하면 Ventoy가 비파괴 설치를 시도합니다. #@계속하시겠습니까?",
"STR_PART_RESIZE_SUCCESS":"축하합니다!#@Ventoy 비파괴 설치가 완료되었습니다.",
"STR_PART_RESIZE_FAILED":"비파괴 설치에 실패했습니다. 자세한 내용은 log.txt를 확인하십시오.",
"STR_PART_RESIZE_UNSUPPORTED":"일부 조건을 충족할 수 없기 때문에 Ventoy 비파괴 설치가 중지되었습니다. 자세한 내용은 log.txt를 확인하십시오.",
"STR_MENU_PART_RESIZE":"무손실 설치",
"STR_PART_RESIZE_TIP":"가능하면 Ventoy가 무손실 설치를 시도합니다. #@계속하시겠습니까?",
"STR_PART_RESIZE_SUCCESS":"축하합니다!#@Ventoy 무손실 설치가 완료되었습니다.",
"STR_PART_RESIZE_FAILED":"무손실 설치에 실패했습니다. 자세한 내용은 log.txt를 확인하십시오.",
"STR_PART_RESIZE_UNSUPPORTED":"일부 조건을 충족할 수 없기 때문에 Ventoy 무손실 설치가 중지되었습니다. 자세한 내용은 log.txt를 확인하십시오.",
"STR_INSTALL_YES_TIP1":"경고: 데이터가 손실됩니다!",
"STR_INSTALL_YES_TIP2":"업그레이드 대신 새로 설치할지 확인하려면 아래 입력란에 YES를 입력하십시오.",
"STR_PART_VENTOY_FS":"Ventoy 파티션용 파일 시스템",
@@ -190,7 +190,7 @@
"STR_PART_CLUSTER":"클러스터 크기",
"STR_PART_CLUSTER_DEFAULT":"시스템 기본값",
"STR_DONATE":"기부",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"현재 Ventoy는 네이티브 4K 섹터의 디스크를 지원하지 않습니다.",
"STRXXX":""
},
@@ -320,7 +320,7 @@
"STR_PART_CLUSTER":"Klynge størrelse",
"STR_PART_CLUSTER_DEFAULT":"System Standard Værdi",
"STR_DONATE":"Donering",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native devices.",
"STRXXX":""
},
@@ -385,7 +385,7 @@
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STR_DONATE":"Donate",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native devices.",
"STRXXX":""
},
@@ -450,7 +450,7 @@
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STR_DONATE":"შემოწირულობა",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native devices.",
"STRXXX": ""
},
@@ -515,7 +515,7 @@
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STR_DONATE":"اهداء",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native devices.",
"STRXXX":""
},
@@ -523,7 +523,7 @@
"name":"Polish (Polski)",
"FontFamily":"Courier New",
"FontSize":16,
"Author":"B.O.S.S",
"Author":"B.O.S.S, ChuckMichael",
"STR_ERROR":"Błąd",
"STR_WARNING":"Ostrzeżenie",
@@ -538,26 +538,26 @@
"STR_UPDATE":"Zaktualizuj",
"STR_UPDATE_TIP":"Operacja aktualizacji jest bezpieczna, pliki ISO pozostaną niezmienione.#@Kontynuować?",
"STR_INSTALL_TIP":"Dysk zostanie sformatowany, a wszystkie dane zostaną utracone.#@Kontynuować?",
"STR_INSTALL_TIP2":"Dysk zostanie sformatowany, a wszystkie dane zostaną utracone.#@Kontynuować? (Podwójne sprawdzenie)",
"STR_INSTALL_TIP2":"Dysk zostanie sformatowany, a wszystkie dane zostaną utracone.#@Kontynuować? (Ponowne sprawdzenie)",
"STR_INSTALL_SUCCESS":"Gratulacje!#@Ventoy został pomyślnie zainstalowany na urządzeniu.",
"STR_INSTALL_FAILED":"Wystąpił błąd podczas instalacji. Możesz ponownie podłączyć USB i spróbować jeszcze raz. Szczegóły w log.txt.",
"STR_UPDATE_SUCCESS":"Gratulacje!#@Ventoy zostało pomyślnie zaktualizowane na urządzeniu.",
"STR_UPDATE_SUCCESS":"Gratulacje!#@Ventoy został pomyślnie zaktualizowany na urządzeniu.",
"STR_UPDATE_FAILED":"Wystąpił błąd podczas aktualizacji. Możesz ponownie podłączyć USB i spróbować jeszcze raz. Szczegóły w log.txt.",
"STR_WAIT_PROCESS":"Wątek jest uruchomiony, proszę czekać...",
"STR_MENU_OPTION":"Opcje",
"STR_MENU_SECURE_BOOT":"Bezpieczny rozruch/Secure Boot",
"STR_MENU_SECURE_BOOT":"Wsparcie Secure Boot",
"STR_MENU_PART_CFG":"Konfiguracja partycji",
"STR_BTN_OK":"OK",
"STR_BTN_CANCEL":"Anuluj",
"STR_PRESERVE_SPACE":"Zachowaj trochę miejsca na dole dysku",
"STR_SPACE_VAL_INVALID":"Nieprawidłowa wartość zarezerwowanego miejsca",
"STR_PRESERVE_SPACE":"Zarezerwuj trochę miejsca na końcu dysku",
"STR_SPACE_VAL_INVALID":"Nieprawidłowa wartość dla zarezerwowanego miejsca",
"STR_MENU_CLEAR":"Wyczyść Ventoy",
"STR_CLEAR_SUCCESS":"Ventoy został pomyślnie usunięty z urządzenia.",
"STR_CLEAR_FAILED":"Wystąpił błąd podczas usuwania Ventoy z dysku. Możesz podłączyć USB i spróbować jeszcze raz. Szczegóły w log.txt.",
"STR_MENU_PART_STYLE":"Schemat partycji",
"STR_DISK_2TB_MBR_ERROR":"Wybierz GPT dla dysku powyżej 2TB",
"STR_SHOW_ALL_DEV":"Pokaż wszystkie urządzenia",
"STR_PART_ALIGN_4KB":"Wyrównaj partycje z 4KB",
"STR_PART_ALIGN_4KB":"Wyrównaj partycje do 4KB",
"STR_WEB_COMMUNICATION_ERR":"Błąd komunikacji:",
"STR_WEB_REMOTE_ABNORMAL":"Błąd komunikacji: nieprawidłowy serwer",
"STR_WEB_REQUEST_TIMEOUT":"Błąd komunikacji: przekroczono limit czasu żądania",
@@ -565,9 +565,9 @@
"STR_WEB_TOKEN_MISMATCH":"Stan daemona został zaktualizowany, spróbuj ponownie później.",
"STR_WEB_SERVICE_BUSY":"Usługa jest zajęta, spróbuj ponownie później.",
"STR_MENU_VTSI_CREATE":"Wygeneruj plik VTSI",
"STR_VTSI_CREATE_TIP":"Tym razem nie napisze do urządzenia ale tylko wygeneruje plik VTSI#@Kontynuować?",
"STR_VTSI_CREATE_SUCCESS":"Pomyślnie wygenerowane plik VTSI!#@Możesz teraz użyć Rufus'a(3.15+) aby napisać go na urządzenie by dokończyć instalację Ventoy.",
"STR_VTSI_CREATE_FAILED":"Generacja pliku VTSI nie powiodła się.",
"STR_VTSI_CREATE_TIP":"Tym razem nie zapisze na urządzeniu, ale tylko wygeneruje plik VTSI#@Kontynuować?",
"STR_VTSI_CREATE_SUCCESS":"Pomyślnie wygenerowany plik VTSI!#@Możesz teraz użyć Rufus'a(3.15+) aby zapisać go na urządzeniu by dokończyć instalację Ventoy.",
"STR_VTSI_CREATE_FAILED":"Wygenerowanie pliku VTSI nie powiodło się.",
"STR_MENU_PART_RESIZE":"Nieniszcząca instalacja",
"STR_PART_RESIZE_TIP":"Ventoy spróbuje nieniszczącej instalacji jeśli jest możliwa. #@Kontynuować?",
"STR_PART_RESIZE_SUCCESS":"Gratulacje!#@Nieniszcząca instalacja Ventoy zakończyła się pomyślnie.",
@@ -579,8 +579,8 @@
"STR_PART_FS":"System plików",
"STR_PART_CLUSTER":"Wielkość klastra",
"STR_PART_CLUSTER_DEFAULT":"Wartość domyślna systemu",
"STR_DONATE":"Podarow",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_DONATE":"Przekaż darowiznę",
"STR_4KN_UNSUPPORTED":"Obecnie Ventoy nie obsługuje urządzeń o fizycznym rozmiarze sektora 4K.",
"STRXXX":""
},
@@ -645,7 +645,7 @@
"STR_PART_CLUSTER":"Tamanho do cluster",
"STR_PART_CLUSTER_DEFAULT":"Valor padrão do sistema",
"STR_DONATE":"Doar",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native devices.",
"STRXXX":""
},
@@ -653,7 +653,7 @@
"name":"Turkish (Türkçe)",
"FontFamily":"Courier New",
"FontSize":16,
"Author":"Erhan Kültür/crasadure, Oğuz Ersen",
"Author":"Erhan Kültür,Tayfun Akkoyun, Oğuz Ersen",
"STR_ERROR":"Hata",
"STR_WARNING":"Uyarı",
@@ -710,7 +710,7 @@
"STR_PART_CLUSTER":"Sektör Boyutu",
"STR_PART_CLUSTER_DEFAULT":"Sistem varsayılan değeri",
"STR_DONATE":"Ventoy'a Bağış yap",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"Diskiniz 4K(4096byte) sektör yapısına sahip.Ventoy, 4K sektör yapısına sahip cihazlara şu anda destek vermemektedir.",
"STRXXX":""
},
@@ -775,7 +775,7 @@
"STR_PART_CLUSTER":"Clustergröße",
"STR_PART_CLUSTER_DEFAULT":"Systemstandardwert",
"STR_DONATE":"Spenden",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"Ventoy unterstützt dereit keine nativen 4K Geräte.",
"STRXXX":""
},
@@ -840,7 +840,7 @@
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STR_DONATE":"Donate",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native devices.",
"STRXXX":""
},
@@ -905,7 +905,7 @@
"STR_PART_CLUSTER":"Taille de cluster",
"STR_PART_CLUSTER_DEFAULT":"Valeur par défaut du système",
"STR_DONATE":"Faire un don",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native devices.",
"STRXXX":""
},
@@ -970,7 +970,7 @@
"STR_PART_CLUSTER":"Velikost clusteru",
"STR_PART_CLUSTER_DEFAULT":"Výchozí hodnota systému",
"STR_DONATE":"Darovat",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native devices.",
"STRXXX":""
},
@@ -1034,7 +1034,7 @@
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STR_DONATE":"Darovať",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native devices.",
"STRXXX":""
},
@@ -1099,7 +1099,7 @@
"STR_PART_CLUSTER":"Tamaño de cluster",
"STR_PART_CLUSTER_DEFAULT":"Valor predeterminado del sistema",
"STR_DONATE":"Donar",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"Actualmente Ventoy no soporta dispositivos nativos 4K.",
"STRXXX":""
},
@@ -1164,7 +1164,7 @@
"STR_PART_CLUSTER":"Tamaño de cluster",
"STR_PART_CLUSTER_DEFAULT":"Valor predeterminado del sistema",
"STR_DONATE":"Donar",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native devices.",
"STRXXX":""
},
@@ -1180,29 +1180,29 @@
"STR_INCORRECT_DIR":"Запустите в другой папке!",
"STR_INCORRECT_TREE_DIR":"Не запускайте приложение здесь, загрузите установочный пакет и запустите его в другом месте.",
"STR_DEVICE":"Устройство",
"STR_LOCAL_VER":"Вентой в пакете",
"STR_DISK_VER":"Вентой на накопителе",
"STR_LOCAL_VER":"Ventoy в пакете",
"STR_DISK_VER":"Ventoy на накопителе",
"STR_STATUS":"Состояние — ГОТОВ",
"STR_INSTALL":"Установить",
"STR_UPDATE":"Обновить",
"STR_UPDATE_TIP":"Обновление безопасно, ISO-образы останутся без изменений.#@Продолжить?",
"STR_INSTALL_TIP":"Это действие отформатирует накопитель, все данные на нём будут уничтожены.#@Продолжить?",
"STR_INSTALL_TIP2":"Это действие отформатирует накопитель, все данные на нём будут уничтожены.#@Вы действительно хотите продолжить?",
"STR_INSTALL_SUCCESS":"Поздравляем!#@Установка Вентоя на устройстве успешно выполнена.",
"STR_INSTALL_SUCCESS":"Поздравляем!#@Установка Ventoy на устройстве успешно выполнена.",
"STR_INSTALL_FAILED":"Ошибка при установке. Переподключите USB-накопитель и попробуйте снова. См. файл log.txt с подробностями. Если ошибка не исчезает, см. «FAQ» на официальном сайте.",
"STR_UPDATE_SUCCESS":"Поздравляем!#@Обновление Вентоя на устройстве успешно выполнено.",
"STR_UPDATE_FAILED":"Ошибка при обновлении Вентоя. Переподключите USB-накопитель и попробуйте снова. См. файл log.txt с подробностями. Если ошибка не исчезает, см. «FAQ» на официальном сайте.",
"STR_UPDATE_SUCCESS":"Поздравляем!#@Обновление Ventoy на устройстве успешно выполнено.",
"STR_UPDATE_FAILED":"Ошибка при обновлении Ventoy. Переподключите USB-накопитель и попробуйте снова. См. файл log.txt с подробностями. Если ошибка не исчезает, см. «FAQ» на официальном сайте.",
"STR_WAIT_PROCESS":"Действие запущено, подождите...",
"STR_MENU_OPTION":"Настройки",
"STR_MENU_SECURE_BOOT":"Поддержка Secure Boot",
"STR_MENU_PART_CFG":"Дополнительный раздел",
"STR_BTN_OK":"OK",
"STR_BTN_CANCEL":"Отмена",
"STR_PRESERVE_SPACE":"Создать дополнительный раздел в конце диска",
"STR_PRESERVE_SPACE":"Создать дополнительный раздел в конце накопителя",
"STR_SPACE_VAL_INVALID":"Недействительное значение размера раздела",
"STR_MENU_CLEAR":"Удалить Вентой",
"STR_CLEAR_SUCCESS":"Удаление Вентоя с устройства успешно выполнено.",
"STR_CLEAR_FAILED":"Ошибка при удалении Вентоя. Переподключите USB-накопитель и попробуйте снова. См. файл log.txt с подробностями.",
"STR_MENU_CLEAR":"Удалить Ventoy",
"STR_CLEAR_SUCCESS":"Удаление Ventoy с устройства успешно выполнено.",
"STR_CLEAR_FAILED":"Ошибка при удалении Ventoy. Переподключите USB-накопитель и попробуйте снова. См. файл log.txt с подробностями.",
"STR_MENU_PART_STYLE":"Стиль разметки разделов",
"STR_DISK_2TB_MBR_ERROR":"Для накопителей объёмом более 2 ТБ выберите GPT",
"STR_SHOW_ALL_DEV":"Показывать все устройства",
@@ -1214,22 +1214,22 @@
"STR_WEB_TOKEN_MISMATCH":"Состояние службы обновлено, повторите попытку позже.",
"STR_WEB_SERVICE_BUSY":"Служба занята, повторите попытку позже.",
"STR_MENU_VTSI_CREATE":"Создать файл .vtsi",
"STR_VTSI_CREATE_TIP":"Вместо установки Вентоя на накопитель будет создан только vtsi-файл.#@Продолжить?",
"STR_VTSI_CREATE_SUCCESS":"Файл .vtsi успешно создан.#@Вы можете записать его на накопитель с помощью приложения Rufus (v3.15+), чтобы завершить установку Вентоя.",
"STR_VTSI_CREATE_TIP":"Вместо установки Ventoy на накопитель будет создан только vtsi-файл.#@Продолжить?",
"STR_VTSI_CREATE_SUCCESS":"Файл .vtsi успешно создан.#@Вы можете записать его на накопитель с помощью приложения Rufus (v3.15+), чтобы завершить установку Ventoy.",
"STR_VTSI_CREATE_FAILED":"Ошибка создания vtsi-файла.",
"STR_MENU_PART_RESIZE":"Неразрушающая установка",
"STR_PART_RESIZE_TIP":"Вентой попробует выполнить неразрушающую установку. #@Продолжить?",
"STR_PART_RESIZE_SUCCESS":"Поздравляем!#@Неразрушающая установка Вентоя успешно выполнена.",
"STR_PART_RESIZE_TIP":"Ventoy попробует выполнить неразрушающую установку. #@Продолжить?",
"STR_PART_RESIZE_SUCCESS":"Поздравляем!#@Неразрушающая установка Ventoy успешно выполнена.",
"STR_PART_RESIZE_FAILED":"Не удалось выполнить неразрушающую установку, см. файл log.txt с подробностями.",
"STR_PART_RESIZE_UNSUPPORTED":"Неразрушающая установка Вентоя остановлена из-за несоответствия некоторым требованиям. См. файл log.txt с подробностями.",
"STR_PART_RESIZE_UNSUPPORTED":"Неразрушающая установка Ventoy остановлена из-за несоответствия некоторым требованиям. См. файл log.txt с подробностями.",
"STR_INSTALL_YES_TIP1":"ВНИМАНИЕ: все данные будут потеряны!",
"STR_INSTALL_YES_TIP2":"Введите «YES» в текстовом поле ниже, чтобы подтвердить, что вы действительно хотите выполнить новую установку, а не обновление.",
"STR_PART_VENTOY_FS":"Файловая система для раздела Вентоя",
"STR_PART_VENTOY_FS":"Файловая система для раздела Ventoy",
"STR_PART_FS":"Тип:",
"STR_PART_CLUSTER":"Размер кластера:",
"STR_PART_CLUSTER_DEFAULT":"Системное значение по умолчанию",
"STR_DONATE":"Пожертвовать",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"В настоящее время Ventoy не поддерживает родные устройства 4K.",
"STRXXX":""
},
@@ -1294,7 +1294,7 @@
"STR_PART_CLUSTER":"ক্লাস্টারের আকার",
"STR_PART_CLUSTER_DEFAULT":"সিস্টেমের ডিফল্ট মান",
"STR_DONATE":"দান করুন",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"বর্তমানে Ventoy 4K নেটিভ ডিভাইস সমর্থন করে না।",
"STRXXX":""
},
@@ -1359,7 +1359,7 @@
"STR_PART_CLUSTER":"क्लस्टर साइज",
"STR_PART_CLUSTER_DEFAULT":"सिस्टम डिफ़ॉल्ट मान",
"STR_DONATE":"दान करें",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"वर्तमान में Ventoy 4K नेटिव डिवाइस को सपोर्ट नहीं करता है।",
"STRXXX":""
},
@@ -1424,7 +1424,7 @@
"STR_PART_CLUSTER":"Clustergrootte",
"STR_PART_CLUSTER_DEFAULT":"Standaardwaarde systeem",
"STR_DONATE":"Doneer",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native devices.",
"STRXXX":""
},
@@ -1489,7 +1489,7 @@
"STR_PART_CLUSTER":"Dimensiunea clusterului",
"STR_PART_CLUSTER_DEFAULT":"Valoarea implicită a sistemului",
"STR_DONATE":"Donează",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native devices.",
"STRXXX":""
},
@@ -1554,7 +1554,7 @@
"STR_PART_CLUSTER":"クラスターサイズ",
"STR_PART_CLUSTER_DEFAULT":"システムのデフォルト値",
"STR_DONATE":"寄付",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"現在、Ventoy は 4K ネイティブ デバイスをサポートしていません。",
"STRXXX":""
},
@@ -1570,7 +1570,7 @@
"STR_INCORRECT_DIR":"Eseguilo nella cartella corretta",
"STR_INCORRECT_TREE_DIR":"Non eseguirlo qui.#@Scarica il pacchetto di installazione ed avvialo.",
"STR_DEVICE":"Dispositivo",
"STR_LOCAL_VER":"Versione locale",
"STR_LOCAL_VER":"Versione installata",
"STR_DISK_VER":"Versione nel dispositivo",
"STR_STATUS":"Stato - PRONTO",
"STR_INSTALL":"Installa",
@@ -1581,7 +1581,7 @@
"STR_INSTALL_SUCCESS":"Congratulazioni!#@Installazione di Ventoy nel dispositivo completata.",
"STR_INSTALL_FAILED":"Si è verificato un errore durante l'installazione.#@Riconnetti il dispositivo e riprova.#@Controlla il file log.txt per i dettagli.",
"STR_UPDATE_SUCCESS":"Congratulazioni!#@Aggiornamento di Ventoy nel dispositivo completato",
"STR_UPDATE_FAILED":"Si è verificato un errore durante l'aggiornamento.#@È possibile reinserire il dispositivo USB e riprovare.#@Controlla il file log.txt per i dettagli. Se l'aggiornamento non va a buon fine, consulta le FAQ sul sito ufficiale",
"STR_UPDATE_FAILED":"Si è verificato un errore durante l'aggiornamento.#@È possibile riconnettere il dispositivo USB e riprovare.#@Controlla il file log.txt per i dettagli. Se l'aggiornamento non va a buon fine, consulta le FAQ sul sito ufficiale",
"STR_WAIT_PROCESS":"Un processo è in esecuzione. Attendi...",
"STR_MENU_OPTION":"Opzioni",
"STR_MENU_SECURE_BOOT":"Avvio protetto (secure boot)",
@@ -1592,7 +1592,7 @@
"STR_SPACE_VAL_INVALID":"Quantità di spazio da riservare non valida",
"STR_MENU_CLEAR":"Rimuovi Ventoy dal dispositivo",
"STR_CLEAR_SUCCESS":"Rimozione di Ventoy dal dispositivo completata.",
"STR_CLEAR_FAILED":"Si è verificato un errore durante la rimozione di Ventoy dal dispositivo.#@È possibile reinserire il dispositivo USB e riprovare.#@Controlla il file log.txt per i dettagli",
"STR_CLEAR_FAILED":"Si è verificato un errore durante la rimozione di Ventoy dal dispositivo.#@È possibile riconnettere il dispositivo USB e riprovare.#@Controlla il file log.txt per i dettagli",
"STR_MENU_PART_STYLE":"Stile tabella partizioni",
"STR_DISK_2TB_MBR_ERROR":"Seleziona GPT per i dispositivi più grandi di 2TB",
"STR_SHOW_ALL_DEV":"Visualizza tutti i dispositivi",
@@ -1619,7 +1619,7 @@
"STR_PART_CLUSTER":"Dimensione del cluster",
"STR_PART_CLUSTER_DEFAULT":"Valore predefinito di sistema",
"STR_DONATE":"Donare",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"Attualmente Ventoy non supporta dispositivi nativi 4K.",
"STRXXX":""
},
@@ -1684,7 +1684,7 @@
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STR_DONATE":"Donirajte",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native devices.",
"STRXXX":""
},
@@ -1749,7 +1749,7 @@
"STR_PART_CLUSTER":"Klaszter méret",
"STR_PART_CLUSTER_DEFAULT":"Rendszer alapérték",
"STR_DONATE":"Adományoz",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"Jelenleg a Ventoy nem támogat natív 4K eszközt.",
"STRXXX":""
},
@@ -1780,7 +1780,7 @@
"STR_WAIT_PROCESS":"目前仍有執行緒正在運作中,請稍候...",
"STR_MENU_OPTION":"選項",
"STR_MENU_SECURE_BOOT":"支援安全開機",
"STR_MENU_PART_CFG":"分割區配置",
"STR_MENU_PART_CFG":"設定分割磁區",
"STR_BTN_OK":"確定",
"STR_BTN_CANCEL":"取消",
"STR_PRESERVE_SPACE":"在磁區最後保留一部分空間",
@@ -1789,7 +1789,7 @@
"STR_CLEAR_SUCCESS":"Ventoy 已成功從裝置中清除",
"STR_CLEAR_FAILED":"清除 Ventoy 的過程中發生錯誤,請再次重新插入磁碟重試,詳細訊息請檢視 log.txt 檔案。",
"STR_MENU_PART_STYLE":"分割表格式",
"STR_DISK_2TB_MBR_ERROR":"超過 2TB 的磁碟請選擇 GPT 分割表格式",
"STR_DISK_2TB_MBR_ERROR":"超過 2TB 的磁碟請選擇 GPT 格式分割表",
"STR_SHOW_ALL_DEV":"顯示所有裝置",
"STR_PART_ALIGN_4KB":"磁碟分割區按照 4KB 對齊",
"STR_WEB_COMMUNICATION_ERR":"通訊錯誤:",
@@ -1799,7 +1799,7 @@
"STR_WEB_TOKEN_MISMATCH":"伺服器狀態已更新",
"STR_WEB_SERVICE_BUSY":"伺服器忙碌中,請稍後再試",
"STR_MENU_VTSI_CREATE":"建立 VTSI 檔案",
"STR_VTSI_CREATE_TIP":"這操作將只會在原地目錄建立一個 VTSI 的檔案#@請問是否繼續?",
"STR_VTSI_CREATE_TIP":"這操作將只會在原地目錄建立一個 VTSI 的檔案#@請問是否繼續?",
"STR_VTSI_CREATE_SUCCESS":"VTSI 檔案建立完成!#@您可以使用 Rufus(3.15+) 將 VTSI 檔案寫入指定的裝置以完成 Ventoy 的安裝。",
"STR_VTSI_CREATE_FAILED":"VTSI 檔案建立失敗。",
"STR_MENU_PART_RESIZE":"無損安裝",
@@ -1809,12 +1809,12 @@
"STR_PART_RESIZE_UNSUPPORTED":"Ventoy 無損安裝已中止因為未滿足部分條件。詳細訊息請檢視 log.txt 檔案。",
"STR_INSTALL_YES_TIP1":"警告:資料將會遺失!",
"STR_INSTALL_YES_TIP2":"請在下方的文字輸入框輸入 YES 來證實您想要進行全新安裝取代升級。",
"STR_PART_VENTOY_FS":"Ventoy 分割區文件系統",
"STR_PART_FS":"文件系統",
"STR_PART_CLUSTER":"簇的大小",
"STR_PART_CLUSTER_DEFAULT":"系統默認值",
"STR_DONATE":"助",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_PART_VENTOY_FS":"Ventoy 磁區的檔案系統",
"STR_PART_FS":"檔案系統",
"STR_PART_CLUSTER":"磁區單位大小",
"STR_PART_CLUSTER_DEFAULT":"系統預設值",
"STR_DONATE":"助",
"STR_4KN_UNSUPPORTED":"目前 Ventoy 不支援單位磁區格式為4K的硬碟。",
"STRXXX":""
},
@@ -1879,7 +1879,7 @@
"STR_PART_CLUSTER":"Veličina klastera",
"STR_PART_CLUSTER_DEFAULT":"Podrazumevana sistemska vrednost",
"STR_DONATE":"Donirajte",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native devices.",
"STRXXX":""
},
@@ -1944,7 +1944,7 @@
"STR_PART_CLUSTER":"Величина кластера",
"STR_PART_CLUSTER_DEFAULT":"Подразумевана системска вредност",
"STR_DONATE":"Донирајте",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native devices.",
"STRXXX":""
},
@@ -2009,7 +2009,7 @@
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STR_DONATE":"บริจาค",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native devices.",
"STRXXX":""
},
@@ -2074,7 +2074,7 @@
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STR_DONATE":"donere",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native devices.",
"STRXXX":""
},
@@ -2139,7 +2139,7 @@
"STR_PART_CLUSTER":"Cỡ Cluster",
"STR_PART_CLUSTER_DEFAULT":"Theo mặc định hệ thống",
"STR_DONATE":"Thưởng tác giả",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native devices.",
"STRXXX":""
},
@@ -2204,7 +2204,7 @@
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STR_DONATE":"paaukoti",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native devices.",
"STRXXX":""
},
@@ -2269,7 +2269,7 @@
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STR_DONATE":"донира",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native devices.",
"STRXXX":""
},
@@ -2334,7 +2334,7 @@
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STR_DONATE":"לִתְרוֹם",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native devices.",
"STRXXX":""
},
@@ -2399,7 +2399,7 @@
"STR_PART_CLUSTER":"Tamanho do cluster",
"STR_PART_CLUSTER_DEFAULT":"Valor predefinido do sistema",
"STR_DONATE":"Doar",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native devices.",
"STRXXX":""
},
@@ -2464,7 +2464,7 @@
"STR_PART_CLUSTER":"Ukuran Kelompok",
"STR_PART_CLUSTER_DEFAULT":"Nilai Standar Sistem",
"STR_DONATE":"Donasi sukarela",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"Saat ini Ventoy tidak mendukung perangkat 4K yang asli.",
"STRXXX":""
},
@@ -2529,7 +2529,7 @@
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STR_DONATE":"Donere",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native devices.",
"STRXXX":""
},
@@ -2594,7 +2594,7 @@
"STR_PART_CLUSTER":"Розмір кластера",
"STR_PART_CLUSTER_DEFAULT":"Системне значення за умовчанням",
"STR_DONATE":"Пожертвуйте",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"Наразі Ventoy не підтримує рідні пристрої 4K.",
"STRXXX":""
},
@@ -2659,7 +2659,7 @@
"STR_PART_CLUSTER":"Μέγεθος συμπλέγματος",
"STR_PART_CLUSTER_DEFAULT":"Προεπιλεγμένη τιμή συστήματος",
"STR_DONATE":"Προσφέρω",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native devices.",
"STRXXX":""
},
@@ -2725,7 +2725,7 @@
"STR_PART_CLUSTER":"Klusterstorlek",
"STR_PART_CLUSTER_DEFAULT":"Systemets standardvärde",
"STR_DONATE":"Donera",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native devices.",
"STRXXX":""
},
@@ -2790,7 +2790,7 @@
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STR_DONATE":"Donirajte",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native devices.",
"STRXXX":""
},
@@ -2818,7 +2818,7 @@
"STR_INSTALL_FAILED":"По време на инсталацията е възникнала грешка. Можете да поставите отново USB устройството и да опитате отново. Проверете log.txt за подробности. Ако инсталацията винаги е неуспешна, направете справка с често задаваните въпроси на официалната страница.",
"STR_UPDATE_SUCCESS":"Поздравление!#@Ventoy е успешно обновен на устройството.",
"STR_UPDATE_FAILED":"По време на обновяването е възникнала грешка. Можете да поставите отново USB устройството и да опитате отново. Проверете log.txt за подробности. Ако обновяването винаги е неуспешно, направете справка с често задаваните въпроси на официалната страница.",
"STR_WAIT_PROCESS":"Работи, моля изчакайте…",
"STR_WAIT_PROCESS":"В процес, изчакайте…",
"STR_MENU_OPTION":"Настройки",
"STR_MENU_SECURE_BOOT":"Поддръжка на Secure Boot",
"STR_MENU_PART_CFG":"Допълнителен дял",
@@ -2835,27 +2835,27 @@
"STR_PART_ALIGN_4KB":"Подравняване на дяловете по 4КБ",
"STR_WEB_COMMUNICATION_ERR":"Грешка при свързване:",
"STR_WEB_REMOTE_ABNORMAL":"Грешка при свързване: Отдалечената връзка е недействителна",
"STR_WEB_REQUEST_TIMEOUT":"Грешка при свързване: Изтекло време за изчакване на заявката",
"STR_WEB_REQUEST_TIMEOUT":"Грешка при свързване: Времето за изчакване на заявката е просрочено",
"STR_WEB_SERVICE_UNAVAILABLE":"Грешка при свързване: Услугата е недостъпна",
"STR_WEB_TOKEN_MISMATCH":"Статуса на демона е обновен, опитайте по-късно.",
"STR_WEB_TOKEN_MISMATCH":"Състоянието на услугата е обновено, опитайте по-късно.",
"STR_WEB_SERVICE_BUSY":"Услугата е заета, опитайте по-късно.",
"STR_MENU_VTSI_CREATE":"Създаване на файл на VTSI",
"STR_VTSI_CREATE_TIP":"Този път няма да се записва на устройството, а само ще се създаде файл на VTSI#@Продължаване?",
"STR_VTSI_CREATE_TIP":"Този път няма да се извършва запис на устройството, а само ще бъде създаден файл на VTSI#@Продължаване?",
"STR_VTSI_CREATE_SUCCESS":"Файлът на VTSI е създаден успешно!#@Може да използвате Rufus(3.15+), за да го запишете на устройството и така да завършите инсталацията на Ventoy.",
"STR_VTSI_CREATE_FAILED":"Грешка при създаване на файла на VTSI.",
"STR_MENU_PART_RESIZE":"Неразрушително инсталиране",
"STR_PART_RESIZE_TIP":"Ventoy ще направи опит за неразрушително инсталиране, ако е възможно.#@Продължаване?",
"STR_PART_RESIZE_SUCCESS":"Поздравления!#@Неразрушителното инсталиране на Ventoy е успешно.",
"STR_PART_RESIZE_FAILED":"Неразрушителното инсталиране на Ventoy е неуспешно. Проверете log.txt за подробности.",
"STR_PART_RESIZE_UNSUPPORTED":"Неразрушителното инсталиране на Ventoy е спряна, защото някои от условията не могат да бъдат изпълнени. Проверете log.txt за подробности.",
"STR_PART_RESIZE_UNSUPPORTED":"Неразрушителното инсталиране на Ventoy е спряно, защото някои от условията не могат да бъдат изпълнени. Проверете log.txt за подробности.",
"STR_INSTALL_YES_TIP1":"Внимание: Ще има загуба на данни!",
"STR_INSTALL_YES_TIP2":"Въведете „YES“ в полето отдолу, за да потвърдите, че искате да извършите нова инсталация вместо обновяване.",
"STR_PART_VENTOY_FS":"File System For Ventoy Partition",
"STR_PART_FS":"File System",
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STR_PART_VENTOY_FS":"Файлова система за дял на Ventoy",
"STR_PART_FS":"Файлова система",
"STR_PART_CLUSTER":"Размер на клъстера",
"STR_PART_CLUSTER_DEFAULT":"По подразбиране от системата",
"STR_DONATE":"Дарете",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"За момента Ventoy не поддържа устройства с клъстери, чиито размери са 4КБ.",
"STRXXX":""
},
@@ -2920,7 +2920,7 @@
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STR_DONATE":"Նվիրաբերել",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native devices.",
"STRXXX":""
},
@@ -2985,7 +2985,7 @@
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STR_DONATE":"Lahjoittaa",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native devices.",
"STRXXX":""
},
@@ -3050,7 +3050,7 @@
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STR_DONATE":"Doa",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native devices.",
"STRXXX":""
},
@@ -3115,7 +3115,7 @@
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STR_DONATE":"Donar",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native devices.",
"STRXXX":""
},
@@ -3181,7 +3181,7 @@
"STR_PART_CLUSTER":"Cluster Size",
"STR_PART_CLUSTER_DEFAULT":"System Default Value",
"STR_DONATE":"შემოწირულობა",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native devices.",
"STRXXX":""
},
@@ -3246,7 +3246,7 @@
"STR_PART_CLUSTER":"கொத்து அளவு",
"STR_PART_CLUSTER_DEFAULT":"கணினி இயல்புநிலை மதிப்பு",
"STR_DONATE":"தானம் செய்",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"தற்போது, வெண்டோய் 4K சொந்த சாதனங்களை ஆதரிக்கவில்லை.",
"STRXXX":""
},
@@ -3311,7 +3311,7 @@
"STR_PART_CLUSTER":"Памер кластара",
"STR_PART_CLUSTER_DEFAULT":"Сістэмнае значэнне па змаўчанні",
"STR_DONATE":"Ахвяраваць",
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native device.",
"STR_4KN_UNSUPPORTED":"Зараз Ventoy не падтрымлівае ўласныя прылады 4K.",
"STRXXX":""
}

View File

@@ -1,5 +1,5 @@
Files bellow are from Porteus-Kiosk-5.2.0-x86_64.iso (https://porteus-kiosk.org/public/5.2/)
Files below are from Porteus-Kiosk-5.2.0-x86_64.iso (https://porteus-kiosk.org/public/5.2/)
MD5SUM:
42857b439725a0e1adb0c396849f57c9 EXT/000-kernel.xzm

View File

@@ -54,8 +54,6 @@ void ventoy_set_loglevel(int level)
g_ventoy_log_level = level;
}
void ventoy_syslog_printf(const char *Fmt, ...)
{
char log[512];

View File

@@ -82,6 +82,14 @@ const WCHAR *g_msg_en[MSGID_BUTT] =
L"ventoy\\plugson.tar.xz does not exist, please run under the correct directory!",
};
#define UTF8_Log(fmt, wstr) \
{\
memset(TmpPathA, 0, sizeof(TmpPathA));\
WideCharToMultiByte(CP_UTF8, 0, wstr, -1, TmpPathA, sizeof(TmpPathA), NULL, NULL);\
vlog(fmt, TmpPathA);\
}
const WCHAR **g_msg_lang = NULL;
HINSTANCE g_hInst;
@@ -399,7 +407,7 @@ INT_PTR CALLBACK DialogProc(HWND hWnd, UINT Message, WPARAM wParam, LPARAM lPara
{
InitDialog(hWnd, wParam, lParam);
break;
}
}
case WM_CLOSE:
{
if (g_running)
@@ -414,6 +422,7 @@ INT_PTR CALLBACK DialogProc(HWND hWnd, UINT Message, WPARAM wParam, LPARAM lPara
OnDestroyDialog();
EndDialog(hWnd, 0);
break;
}
}
@@ -527,8 +536,14 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLi
{
int i;
int rc;
int status = 0;
HANDLE hMutex;
WCHAR* Pos = NULL;
WCHAR CurDir[MAX_PATH];
WCHAR ExePath[MAX_PATH];
WCHAR CurDirBk[MAX_PATH];
WCHAR ExePathBk[MAX_PATH];
CHAR TmpPathA[MAX_PATH];
UNREFERENCED_PARAMETER(hPrevInstance);
@@ -562,12 +577,67 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLi
}
GetCurrentDirectoryW(MAX_PATH, CurDir);
GetCurrentDirectoryW(MAX_PATH, CurDirBk);
GetModuleFileNameW(NULL, ExePath, MAX_PATH);
GetModuleFileNameW(NULL, ExePathBk, MAX_PATH);
for (Pos = NULL, i = 0; i < MAX_PATH && ExePath[i]; i++)
{
if (ExePath[i] == '\\' || ExePath[i] == '/')
{
Pos = ExePath + i;
}
}
if (Pos)
{
*Pos = 0;
if (wcscmp(CurDir, ExePath))
{
status |= 1;
SetCurrentDirectoryW(ExePath);
GetCurrentDirectoryW(MAX_PATH, CurDir);
}
else
{
status |= 2;
}
}
Pos = wcsstr(CurDir, L"\\altexe");
if (Pos)
{
*Pos = 0;
status |= 4;
SetCurrentDirectoryW(CurDir);
}
WideCharToMultiByte(CP_UTF8, 0, CurDir, -1, g_cur_dir, MAX_PATH, NULL, 0);
sprintf_s(g_ventoy_dir, sizeof(g_ventoy_dir), "%s", g_cur_dir);
sprintf_s(g_log_file, sizeof(g_log_file), "%s\\%s", g_cur_dir, LOG_FILE);
sprintf_s(g_log_file, sizeof(g_log_file), "%s", LOG_FILE);
ventoy_log_init();
vlog("====================== Ventoy Plugson =========================\n");
UTF8_Log("Current Directory <%s>\n", CurDirBk);
UTF8_Log("Exe file path <%s>\n", ExePathBk);
if (status & 1)
{
UTF8_Log("Change current dir to exe <%s>\n", ExePath);
}
if (status & 2)
{
vlog("Current directory check OK.\n");
}
if (status & 4)
{
UTF8_Log("altexe detected, change current dir to <%s>\n", CurDir);
}
if (!ventoy_is_file_exist("%s\\ventoy\\%s", g_ventoy_dir, PLUGSON_TXZ))
{
MessageBoxW(NULL, g_msg_lang[MSGID_NO_TARXZ_TIP], g_msg_lang[MSGID_ERROR], MB_OK | MB_ICONERROR);
@@ -585,7 +655,7 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLi
}
vlog("===============================================\n");
vlog("===== Ventoy Plugson %s:%s =====\n", g_sysinfo.ip, g_sysinfo.port);
vlog("========= Ventoy Plugson %s:%s =========\n", g_sysinfo.ip, g_sysinfo.port);
vlog("===============================================\n");
@@ -605,7 +675,7 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLi
ventoy_http_init();
g_hInst = hInstance;
DialogBoxA(hInstance, MAKEINTRESOURCE(IDD_DIALOG1), NULL, DialogProc);
DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG1), NULL, DialogProc);
return 0;
}

View File

@@ -27,5 +27,11 @@
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
</application>
</compatibility>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator" uiAccess="false"></requestedExecutionLevel>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>

View File

@@ -169,7 +169,7 @@
<DelayLoadDLLs>gdi32.dll;winspool.dll;comdlg32.dll;advapi32.dll;shell32.dll;ole32.dll;oleaut32.dll;uuid.dll;odbc32.dll;odbccp32.dll</DelayLoadDLLs>
</Link>
<Manifest>
<AdditionalManifestFiles>$(ProjectDir)\Res\Plugson32.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
<AdditionalManifestFiles>$(ProjectDir)\Res\Plugson64.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
</Manifest>
</ItemDefinitionGroup>
<ItemGroup>

View File

@@ -18,7 +18,7 @@ You can also browse ISO/WIM/IMG/VHD(x)/EFI files in local disk and boot them.<br
x86 Legacy BIOS, IA32 UEFI, x86_64 UEFI, ARM64 UEFI and MIPS64EL UEFI are supported in the same way.<br/>
Both MBR and GPT partition style are supported in the same way.<br/>
Most type of OS supported(Windows/WinPE/Linux/Unix/ChromeOS/Vmware/Xen...) <br/>
1000+ ISO files are tested (<a href="https://www.ventoy.net/en/isolist.html">List</a>). 90%+ distros in <a href="https://distrowatch.com/">distrowatch.com</a> supported (<a href="https://www.ventoy.net/en/distrowatch.html">Details</a>). <br/>
1100+ ISO files are tested (<a href="https://www.ventoy.net/en/isolist.html">List</a>). 90%+ distros in <a href="https://distrowatch.com/">distrowatch.com</a> supported (<a href="https://www.ventoy.net/en/distrowatch.html">Details</a>). <br/>
<br/>Official Website: <a href=https://www.ventoy.net>https://www.ventoy.net</a>
</h4>
@@ -27,7 +27,7 @@ Most type of OS supported(Windows/WinPE/Linux/Unix/ChromeOS/Vmware/Xen...) <br/>
Windows 7, Windows 8, Windows 8.1, Windows 10, Windows 11, Windows Server 2012, Windows Server 2012 R2, Windows Server 2016, Windows Server 2019, Windows Server 2022, WinPE
**Linux**
Debian, Ubuntu, CentOS(6/7/8/9), RHEL(6/7/8/9), Deepin, Fedora, Rocky Linux, AlmaLinux, EuroLinux(6/7/8/9), openEuler, OpenAnolis, SLES, openSUSE, MX Linux, Manjaro, Linux Mint, Endless OS, Elementary OS, Solus, Linx, Zorin, antiX, PClinuxOS, Arch, ArcoLinux, ArchLabs, BlackArch, Obarun, Artix Linux, Puppy Linux, Tails, Slax, Kali, Mageia, Slackware, Q4OS, Archman, Gentoo, Pentoo, NixOS, Kylin, openKylin, Ubuntu Kylin, KylinSec, Lubuntu, Xubuntu, Kubuntu, Ubuntu MATE, Ubuntu Budgie, Ubuntu Studio, Bluestar, OpenMandriva, ExTiX, Netrunner, ALT Linux, Nitrux, Peppermint, KDE neon, Linux Lite, Parrot OS, Qubes, Pop OS, ROSA, Void Linux, Star Linux, EndeavourOS, MakuluLinux, Voyager, Feren, ArchBang, LXLE, Knoppix, Calculate Linux, Clear Linux, Pure OS, Oracle Linux, Trident, Septor, Porteus, Devuan, GoboLinux, 4MLinux, Simplicity Linux, Zeroshell, Android-x86, netboot.xyz, Slitaz, SuperGrub2Disk, Proxmox VE, Kaspersky Rescue, SystemRescueCD, MemTest86, MemTest86+, MiniTool Partition Wizard, Parted Magic, veket, Sabayon, Scientific, alpine, ClearOS, CloneZilla, Berry Linux, Trisquel, Ataraxia Linux, Minimal Linux Live, BackBox Linux, Emmabuntüs, ESET SysRescue Live,Nova Linux, AV Linux, RoboLinux, NuTyX, IPFire, SELKS, ZStack, Enso Linux, Security Onion, Network Security Toolkit, Absolute Linux, TinyCore, Springdale Linux, Frost Linux, Shark Linux, LinuxFX, Snail Linux, Astra Linux, Namib Linux, Resilient Linux, Virage Linux, Blackweb Security OS, R-DriveImage, O-O.DiskImage, Macrium, ToOpPy LINUX, GNU Guix, YunoHost, foxclone, siduction, Adelie Linux, Elive, Pardus, CDlinux, AcademiX, Austrumi, Zenwalk, Anarchy, DuZeru, BigLinux, OpenMediaVault, Ubuntu DP, Exe GNU/Linux, 3CX Phone System, KANOTIX, Grml, Karoshi, PrimTux, ArchStrike, CAELinux, Cucumber, Fatdog, ForLEx, Hanthana, Kwort, MiniNo, Redcore, Runtu, Asianux, Clu Linux Live, Uruk, OB2D, BlueOnyx, Finnix, HamoniKR, Parabola, LinHES, LinuxConsole, BEE free, Untangle, Pearl, Thinstation, TurnKey, tuxtrans, Neptune, HefftorLinux, GeckoLinux, Mabox Linux, Zentyal, Maui, Reborn OS, SereneLinux , SkyWave Linux, Kaisen Linux, Regata OS, TROM-Jaro, DRBL Linux, Chalet OS, Chapeau, Desa OS, BlankOn, OpenMamba, Frugalware, Kibojoe Linux, Revenge OS, Tsurugi Linux, Drauger OS, Hash Linux, gNewSense, Ikki Boot, SteamOS, Hyperbola, VyOS, EasyNAS, SuperGamer, Live Raizo, Swift Linux, RebeccaBlackOS, Daphile, CRUX, Univention, Ufficio Zero, Rescuezilla, Phoenix OS, Garuda Linux, Mll, NethServer, OSGeoLive, Easy OS, Volumio, FreedomBox, paldo, UBOS, Recalbox, batocera, Lakka, LibreELEC, Pardus Topluluk, Pinguy, KolibriOS, Elastix, Arya, Omoikane, Omarine, Endian Firewall, Hamara, Rocks Cluster, MorpheusArch, Redo, Slackel, SME Server, APODIO, Smoothwall, Dragora, Linspire, Secure-K OS, Peach OSI, Photon, Plamo, SuperX, Bicom, Ploplinux, HP SPP, LliureX, Freespire, DietPi, BOSS, Webconverger, Lunar, TENS, Source Mage, RancherOS, T2, Vine, Pisi, blackPanther, mAid, Acronis, Active.Boot, AOMEI, Boot.Repair, CAINE, DaRT, EasyUEFI, R-Drive, PrimeOS, Avira Rescue System, bitdefender, Checkra1n Linux, Lenovo Diagnostics, Clover, Bliss-OS, Lenovo BIOS Update, Arcabit Rescue Disk, MiyoLinux, TeLOS, Kerio Control, RED OS, OpenWrt, MocaccinoOS, EasyStartup, Pyabr, Refracta, Eset SysRescue, Linpack Xtreme, Archcraft, NHVBOOT, pearOS, SeaTools, Easy Recovery Essentional, iKuai, StorageCraft SCRE, ZFSBootMenu, TROMjaro, BunsenLabs, Todo en Uno, ChallengerOS, Nobara, Holo, CachyOS, Peux OS, ......
Debian, Ubuntu, CentOS(6/7/8/9), RHEL(6/7/8/9), Deepin, Fedora, Rocky Linux, AlmaLinux, EuroLinux(6/7/8/9), openEuler, OpenAnolis, SLES, openSUSE, MX Linux, Manjaro, Linux Mint, Endless OS, Elementary OS, Solus, Linx, Zorin, antiX, PClinuxOS, Arch, ArcoLinux, ArchLabs, BlackArch, Obarun, Artix Linux, Puppy Linux, Tails, Slax, Kali, Mageia, Slackware, Q4OS, Archman, Gentoo, Pentoo, NixOS, Kylin, openKylin, Ubuntu Kylin, KylinSec, Lubuntu, Xubuntu, Kubuntu, Ubuntu MATE, Ubuntu Budgie, Ubuntu Studio, Bluestar, OpenMandriva, ExTiX, Netrunner, ALT Linux, Nitrux, Peppermint, KDE neon, Linux Lite, Parrot OS, Qubes, Pop OS, ROSA, Void Linux, Star Linux, EndeavourOS, MakuluLinux, Voyager, Feren, ArchBang, LXLE, Knoppix, Calculate Linux, Clear Linux, Pure OS, Oracle Linux, Trident, Septor, Porteus, Devuan, GoboLinux, 4MLinux, Simplicity Linux, Zeroshell, Android-x86, netboot.xyz, Slitaz, SuperGrub2Disk, Proxmox VE, Kaspersky Rescue, SystemRescueCD, MemTest86, MemTest86+, MiniTool Partition Wizard, Parted Magic, veket, Sabayon, Scientific, alpine, ClearOS, CloneZilla, Berry Linux, Trisquel, Ataraxia Linux, Minimal Linux Live, BackBox Linux, Emmabuntüs, ESET SysRescue Live,Nova Linux, AV Linux, RoboLinux, NuTyX, IPFire, SELKS, ZStack, Enso Linux, Security Onion, Network Security Toolkit, Absolute Linux, TinyCore, Springdale Linux, Frost Linux, Shark Linux, LinuxFX, Snail Linux, Astra Linux, Namib Linux, Resilient Linux, Virage Linux, Blackweb Security OS, R-DriveImage, O-O.DiskImage, Macrium, ToOpPy LINUX, GNU Guix, YunoHost, foxclone, siduction, Adelie Linux, Elive, Pardus, CDlinux, AcademiX, Austrumi, Zenwalk, Anarchy, DuZeru, BigLinux, OpenMediaVault, Ubuntu DP, Exe GNU/Linux, 3CX Phone System, KANOTIX, Grml, Karoshi, PrimTux, ArchStrike, CAELinux, Cucumber, Fatdog, ForLEx, Hanthana, Kwort, MiniNo, Redcore, Runtu, Asianux, Clu Linux Live, Uruk, OB2D, BlueOnyx, Finnix, HamoniKR, Parabola, LinHES, LinuxConsole, BEE free, Untangle, Pearl, Thinstation, TurnKey, tuxtrans, Neptune, HefftorLinux, GeckoLinux, Mabox Linux, Zentyal, Maui, Reborn OS, SereneLinux , SkyWave Linux, Kaisen Linux, Regata OS, TROM-Jaro, DRBL Linux, Chalet OS, Chapeau, Desa OS, BlankOn, OpenMamba, Frugalware, Kibojoe Linux, Revenge OS, Tsurugi Linux, Drauger OS, Hash Linux, gNewSense, Ikki Boot, SteamOS, Hyperbola, VyOS, EasyNAS, SuperGamer, Live Raizo, Swift Linux, RebeccaBlackOS, Daphile, CRUX, Univention, Ufficio Zero, Rescuezilla, Phoenix OS, Garuda Linux, Mll, NethServer, OSGeoLive, Easy OS, Volumio, FreedomBox, paldo, UBOS, Recalbox, batocera, Lakka, LibreELEC, Pardus Topluluk, Pinguy, KolibriOS, Elastix, Arya, Omoikane, Omarine, Endian Firewall, Hamara, Rocks Cluster, MorpheusArch, Redo, Slackel, SME Server, APODIO, Smoothwall, Dragora, Linspire, Secure-K OS, Peach OSI, Photon, Plamo, SuperX, Bicom, Ploplinux, HP SPP, LliureX, Freespire, DietPi, BOSS, Webconverger, Lunar, TENS, Source Mage, RancherOS, T2, Vine, Pisi, blackPanther, mAid, Acronis, Active.Boot, AOMEI, Boot.Repair, CAINE, DaRT, EasyUEFI, R-Drive, PrimeOS, Avira Rescue System, bitdefender, Checkra1n Linux, Lenovo Diagnostics, Clover, Bliss-OS, Lenovo BIOS Update, Arcabit Rescue Disk, MiyoLinux, TeLOS, Kerio Control, RED OS, OpenWrt, MocaccinoOS, EasyStartup, Pyabr, Refracta, Eset SysRescue, Linpack Xtreme, Archcraft, NHVBOOT, pearOS, SeaTools, Easy Recovery Essentional, iKuai, StorageCraft SCRE, ZFSBootMenu, TROMjaro, BunsenLabs, Todo en Uno, ChallengerOS, Nobara, Holo, CachyOS, Peux OS, Vanilla OS, ShredOS, paladin, Palen1x, dban, ReviOS, HelenOS, XeroLinux, ......
**Unix**
DragonFly FreeBSD pfSense GhostBSD FreeNAS TrueNAS XigmaNAS FuryBSD OPNsense HardenedBSD MidnightBSD ClonOS EmergencyBootKit
@@ -73,7 +73,7 @@ A GUI Ventoy plugin configurator. [VentoyPlugson](https://www.ventoy.net/en/plug
* Menu alias, Menu tip message supported
* Password protect supported
* Native boot menu style for Legacy & UEFI
* Most types of OS supported, 1000+ iso files tested
* Most types of OS supported, 1100+ iso files tested
* Linux vDisk boot supported
* Not only boot but also complete installation process
* Menu dynamically switchable between List/TreeView mode

View File

@@ -2150,7 +2150,6 @@ int PartitionResizeForVentoy(PHY_DRIVE_INFO *pPhyDrive)
int rc = 1;
int PhyDrive;
int PartStyle;
INT64 ReservedValue;
UINT64 RecudeBytes;
GUID Guid;
MBR_HEAD MBR;
@@ -2186,13 +2185,6 @@ int PartitionResizeForVentoy(PHY_DRIVE_INFO *pPhyDrive)
PROGRESS_BAR_SET_POS(PT_LOCK_FOR_CLEAN);
RecudeBytes = VENTOY_EFI_PART_SIZE;
ReservedValue = GetReservedSpaceInMB();
if (ReservedValue > 0)
{
Log("Reduce add reserved space %lldMB", (LONGLONG)ReservedValue);
RecudeBytes += (UINT64)(ReservedValue * SIZE_1MB);
}
if (pPhyDrive->ResizeNoShrink == FALSE)
{

Binary file not shown.

View File

@@ -233,6 +233,10 @@ static int CLI_CheckParam(int argc, char** argv, PHY_DRIVE_INFO* pDrvInfo, CLI_C
{
fstype = VTOY_FS_FAT32;
}
else if (_stricmp(opt + 4, "UDF") == 0)
{
fstype = VTOY_FS_UDF;
}
}
}

View File

@@ -2,12 +2,12 @@
rm -f vtoytool/00/*
/opt/diet64/bin/diet -Os gcc -D_FILE_OFFSET_BITS=64 *.c BabyISO/*.c -IBabyISO -Wall -DBUILD_VTOY_TOOL -DUSE_DIET_C -o vtoytool_64
/opt/diet32/bin/diet -Os gcc -D_FILE_OFFSET_BITS=64 -m32 *.c BabyISO/*.c -IBabyISO -Wall -DBUILD_VTOY_TOOL -DUSE_DIET_C -o vtoytool_32
/opt/diet64/bin/diet -Os gcc -DVTOY_X86_64 -D_FILE_OFFSET_BITS=64 *.c BabyISO/*.c -IBabyISO -Wall -DBUILD_VTOY_TOOL -DUSE_DIET_C -o vtoytool_64
/opt/diet32/bin/diet -Os gcc -DVTOY_I386 -D_FILE_OFFSET_BITS=64 -m32 *.c BabyISO/*.c -IBabyISO -Wall -DBUILD_VTOY_TOOL -DUSE_DIET_C -o vtoytool_32
aarch64-buildroot-linux-uclibc-gcc -Os -static -D_FILE_OFFSET_BITS=64 *.c BabyISO/*.c -IBabyISO -Wall -DBUILD_VTOY_TOOL -o vtoytool_aa64
aarch64-buildroot-linux-uclibc-gcc -Os -static -DVTOY_AA64 -D_FILE_OFFSET_BITS=64 *.c BabyISO/*.c -IBabyISO -Wall -DBUILD_VTOY_TOOL -o vtoytool_aa64
mips64el-linux-musl-gcc -mips64r2 -mabi=64 -Os -static -D_FILE_OFFSET_BITS=64 *.c BabyISO/*.c -IBabyISO -Wall -DBUILD_VTOY_TOOL -o vtoytool_m64e
mips64el-linux-musl-gcc -mips64r2 -mabi=64 -Os -static -DVTOY_MIPS64 -D_FILE_OFFSET_BITS=64 *.c BabyISO/*.c -IBabyISO -Wall -DBUILD_VTOY_TOOL -o vtoytool_m64e
#gcc -D_FILE_OFFSET_BITS=64 -static -Wall -DBUILD_VTOY_TOOL *.c BabyISO/*.c -IBabyISO -o vtoytool_64
#gcc -D_FILE_OFFSET_BITS=64 -Wall -DBUILD_VTOY_TOOL -m32 *.c BabyISO/*.c -IBabyISO -o vtoytool_32

View File

@@ -24,6 +24,9 @@
#include <string.h>
#include <errno.h>
#include <unistd.h>
#ifdef VTOY_X86_64
#include <cpuid.h>
#endif
#define _ull unsigned long long
@@ -176,7 +179,9 @@ typedef struct ko_param
unsigned long sym_get_size;
unsigned long sym_put_addr;
unsigned long sym_put_size;
unsigned long padding[3];
unsigned long kv_major;
unsigned long ibt;
unsigned long padding[1];
}ko_param;
#pragma pack()
@@ -484,6 +489,8 @@ int vtoykmod_fill_param(char **argv)
param->sym_put_size = strtoul(argv[8], NULL, 10);
param->reg_kprobe_addr = strtoul(argv[9], NULL, 16);
param->unreg_kprobe_addr = strtoul(argv[10], NULL, 16);
param->kv_major = (unsigned long)(argv[11][0] - '0');
param->ibt = strtoul(argv[12], NULL, 16);;
debug("pgsize=%lu (%s)\n", param->pgsize, argv[1]);
debug("printk_addr=0x%lx (%s)\n", param->printk_addr, argv[2]);
@@ -495,6 +502,8 @@ int vtoykmod_fill_param(char **argv)
debug("sym_put_size=%lu (%s)\n", param->sym_put_size, argv[8]);
debug("reg_kprobe_addr=0x%lx (%s)\n", param->reg_kprobe_addr, argv[9]);
debug("unreg_kprobe_addr=0x%lx (%s)\n", param->unreg_kprobe_addr, argv[10]);
debug("kv_major=%lu (%s)\n", param->kv_major, argv[11]);
debug("ibt=0x%lx (%s)\n", param->ibt, argv[12]);
break;
}
@@ -511,6 +520,26 @@ int vtoykmod_fill_param(char **argv)
return 0;
}
#ifdef VTOY_X86_64
static int vtoykmod_check_ibt(void)
{
uint32_t eax = 0, ebx = 0, ecx = 0, edx = 0;
__cpuid_count(7, 0, eax, ebx, ecx, edx);
if (edx & (1 << 20))
{
return 0;
}
return 1;
}
#else
static int vtoykmod_check_ibt(void)
{
return 1;
}
#endif
int vtoykmod_main(int argc, char **argv)
{
int i;
@@ -532,6 +561,10 @@ int vtoykmod_main(int argc, char **argv)
{
return vtoykmod_update(argv[2], argv[3]);
}
else if (argv[1][0] == '-' && argv[1][1] == 'I')
{
return vtoykmod_check_ibt();
}
return 0;
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.