mirror of
https://github.com/ventoy/Ventoy.git
synced 2025-12-25 12:56:22 +00:00
Compare commits
21 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
81728a817c | ||
|
|
f68d4a8076 | ||
|
|
f6c248e983 | ||
|
|
0906cd34fe | ||
|
|
d3b911d249 | ||
|
|
5c6e1c2446 | ||
|
|
3a97ab9165 | ||
|
|
6fe6231790 | ||
|
|
9564f125a7 | ||
|
|
e380575b91 | ||
|
|
0fd49126bd | ||
|
|
a466d787b8 | ||
|
|
ab5d00bafb | ||
|
|
450caa6654 | ||
|
|
ef93b55c91 | ||
|
|
4d7fcc26d4 | ||
|
|
3597f15814 | ||
|
|
f7e4a7a6ec | ||
|
|
65b88aabc5 | ||
|
|
c42abd33c2 | ||
|
|
af34df278f |
@@ -85,13 +85,14 @@
|
||||
<tr> <td>./INSTALL/tool/i386/V2DServer</td>
|
||||
<tr> <td>./INSTALL/tool/mips64el/V2DServer</td>
|
||||
<tr> <td>./INSTALL/tool/x86_64/V2DServer</td>
|
||||
<tr> <td>./INSTALL/tool/aarch64/mkexfatfs</td> <td rowspan=8>build</td> <td rowspan=8>Build Instructions:<br/>./DOC/BuildVentoyFromSource.txt 4.9<br/>./ExFAT/buidexfat.sh<br/>./ExFAT/buidexfat_aarch64.sh<br/>./ExFAT/buidlibfuse.sh<br/>./ExFAT/buidlibfuse_aarch64.sh<br/></td> </tr>
|
||||
<tr> <td>./INSTALL/tool/aarch64/mkexfatfs</td> <td rowspan=9>build</td> <td rowspan=8>Build Instructions:<br/>./DOC/BuildVentoyFromSource.txt 4.9<br/>./ExFAT/buidexfat.sh<br/>./ExFAT/buidexfat_aarch64.sh<br/>./ExFAT/buidlibfuse.sh<br/>./ExFAT/buidlibfuse_aarch64.sh<br/></td> </tr>
|
||||
<tr> <td>./INSTALL/tool/aarch64/mount.exfat-fuse</td>
|
||||
<tr> <td>./INSTALL/tool/i386/mkexfatfs</td>
|
||||
<tr> <td>./INSTALL/tool/i386/mount.exfat-fuse</td>
|
||||
<tr> <td>./INSTALL/tool/mips64el/mkexfatfs</td>
|
||||
<tr> <td>./INSTALL/tool/mips64el/mount.exfat-fuse</td>
|
||||
<tr> <td>./INSTALL/tool/x86_64/mkexfatfs</td>
|
||||
<tr> <td>./INSTALL/tool/x86_64/mkexfatfs_static</td>
|
||||
<tr> <td>./INSTALL/tool/x86_64/mount.exfat-fuse</td>
|
||||
<tr> <td>./INSTALL/tool/aarch64/vlnk</td> <td rowspan=4>build</td> <td rowspan=4>Build Instructions:<br/>./Vlnk/build.sh</td> </tr>
|
||||
<tr> <td>./INSTALL/tool/i386/vlnk</td>
|
||||
|
||||
@@ -3410,6 +3410,7 @@ int ventoy_get_block_list(grub_file_t file, ventoy_img_chunk_list *chunklist, gr
|
||||
static grub_err_t ventoy_cmd_img_sector(grub_extcmd_context_t ctxt, int argc, char **args)
|
||||
{
|
||||
int rc;
|
||||
int fs_type;
|
||||
grub_file_t file;
|
||||
grub_disk_addr_t start;
|
||||
char errmsg[128];
|
||||
@@ -3432,7 +3433,8 @@ static grub_err_t ventoy_cmd_img_sector(grub_extcmd_context_t ctxt, int argc, ch
|
||||
grub_free(g_img_chunk_list.chunk);
|
||||
}
|
||||
|
||||
if (ventoy_get_fs_type(file->fs->name) >= ventoy_fs_max)
|
||||
fs_type = ventoy_get_fs_type(file->fs->name);
|
||||
if (fs_type >= ventoy_fs_max)
|
||||
{
|
||||
grub_file_close(file);
|
||||
return grub_error(GRUB_ERR_BAD_ARGUMENT, "Unsupported filesystem %s\n", file->fs->name);
|
||||
@@ -3457,9 +3459,12 @@ static grub_err_t ventoy_cmd_img_sector(grub_extcmd_context_t ctxt, int argc, ch
|
||||
grub_file_close(file);
|
||||
|
||||
if (rc)
|
||||
{
|
||||
if (fs_type == ventoy_fs_btrfs)
|
||||
{
|
||||
vtoy_tip(10, "%s\n\nWill exit in 10 seconds...\n", errmsg);
|
||||
grub_exit();
|
||||
}
|
||||
return grub_error(GRUB_ERR_NOT_IMPLEMENTED_YET, "%s\n", errmsg);
|
||||
}
|
||||
|
||||
@@ -7034,6 +7039,7 @@ static cmd_para ventoy_cmds[] =
|
||||
{ "vt_cmp_checksum", ventoy_cmd_cmp_checksum, 0, NULL, "", "", NULL },
|
||||
{ "vt_push_menu_lang", ventoy_cmd_push_menulang, 0, NULL, "", "", NULL },
|
||||
{ "vt_pop_menu_lang", ventoy_cmd_pop_menulang, 0, NULL, "", "", NULL },
|
||||
{ "vt_linux_initrd", ventoy_cmd_linux_initrd, 0, NULL, "", "", NULL },
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -37,6 +37,7 @@
|
||||
#define VTOY_SIZE_4MB (4 * 1024 * 1024)
|
||||
#define VTOY_SIZE_512KB (512 * 1024)
|
||||
#define VTOY_SIZE_1KB 1024
|
||||
#define VTOY_SIZE_4KB 4096
|
||||
#define VTOY_SIZE_32KB (32 * 1024)
|
||||
#define VTOY_SIZE_128KB (128 * 1024)
|
||||
|
||||
@@ -662,6 +663,7 @@ grub_uint32_t ventoy_get_iso_boot_catlog(grub_file_t file);
|
||||
int ventoy_has_efi_eltorito(grub_file_t file, grub_uint32_t sector);
|
||||
grub_err_t ventoy_cmd_linux_chain_data(grub_extcmd_context_t ctxt, int argc, char **args);
|
||||
grub_err_t ventoy_cmd_linux_systemd_menu(grub_extcmd_context_t ctxt, int argc, char **args);
|
||||
grub_err_t ventoy_cmd_linux_initrd(grub_extcmd_context_t ctxt, int argc, char **args);
|
||||
grub_err_t ventoy_cmd_linux_limine_menu(grub_extcmd_context_t ctxt, int argc, char **args);
|
||||
grub_err_t ventoy_cmd_linux_locate_initrd(grub_extcmd_context_t ctxt, int argc, char **args);
|
||||
grub_err_t ventoy_cmd_initrd_count(grub_extcmd_context_t ctxt, int argc, char **args);
|
||||
@@ -1279,6 +1281,7 @@ typedef struct systemd_menu_ctx
|
||||
{
|
||||
char *dev;
|
||||
char *buf;
|
||||
const char *initrd_cmd;
|
||||
int pos;
|
||||
int len;
|
||||
}systemd_menu_ctx;
|
||||
|
||||
@@ -1867,7 +1867,7 @@ static int ventoy_systemd_conf_hook(const char *filename, const struct grub_dirh
|
||||
ctx->pos = oldpos;
|
||||
goto out;
|
||||
}
|
||||
vtoy_len_ssprintf(ctx->buf, ctx->pos, ctx->len, " echo \"Downloading kernel ...\"\n linux %s ", tag);
|
||||
vtoy_len_ssprintf(ctx->buf, ctx->pos, ctx->len, " echo \"Loading kernel ...\"\n linux %s ", tag);
|
||||
|
||||
/* kernel options */
|
||||
grub_memcpy(filebuf, bkbuf, file->size);
|
||||
@@ -1876,7 +1876,7 @@ static int ventoy_systemd_conf_hook(const char *filename, const struct grub_dirh
|
||||
|
||||
|
||||
/* initrd xxx xxx xxx */
|
||||
vtoy_len_ssprintf(ctx->buf, ctx->pos, ctx->len, " echo \"Downloading initrd ...\"\n initrd ");
|
||||
vtoy_len_ssprintf(ctx->buf, ctx->pos, ctx->len, " echo \"Loading initrd ...\"\n %s ", ctx->initrd_cmd);
|
||||
grub_memcpy(filebuf, bkbuf, file->size);
|
||||
tag = ventoy_systemd_conf_tag(filebuf, "initrd", 1);
|
||||
while (tag)
|
||||
@@ -1893,6 +1893,34 @@ out:
|
||||
return 0;
|
||||
}
|
||||
|
||||
grub_err_t ventoy_cmd_linux_initrd(grub_extcmd_context_t ctxt, int argc, char **args)
|
||||
{
|
||||
int i;
|
||||
int pos = 0;
|
||||
char *buf = NULL;
|
||||
|
||||
(void)ctxt;
|
||||
|
||||
buf = (char *)grub_malloc(VTOY_SIZE_4KB);
|
||||
if (!buf)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
pos += grub_snprintf(buf + pos, VTOY_SIZE_4KB - pos, "initrd mem:%s:size:%s",
|
||||
grub_env_get("ventoy_cpio_addr"), grub_env_get("ventoy_cpio_size"));
|
||||
|
||||
for (i = 0; i < argc; i++)
|
||||
{
|
||||
pos += grub_snprintf(buf + pos, VTOY_SIZE_4KB - pos, " newc:initrd%03d:%s", i + 1, args[i]);
|
||||
}
|
||||
|
||||
grub_script_execute_sourcecode(buf);
|
||||
grub_free(buf);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
grub_err_t ventoy_cmd_linux_systemd_menu(grub_extcmd_context_t ctxt, int argc, char **args)
|
||||
{
|
||||
static char *buf = NULL;
|
||||
@@ -1936,6 +1964,7 @@ grub_err_t ventoy_cmd_linux_systemd_menu(grub_extcmd_context_t ctxt, int argc, c
|
||||
|
||||
ctx.dev = args[0];
|
||||
ctx.buf = buf;
|
||||
ctx.initrd_cmd = args[2] ? args[2] : "initrd";
|
||||
ctx.pos = 0;
|
||||
ctx.len = VTOY_LINUX_SYSTEMD_MENU_MAX_BUF;
|
||||
fs->fs_dir(dev, "/loader/entries", ventoy_systemd_conf_hook, &ctx);
|
||||
|
||||
@@ -177,6 +177,8 @@ ventoy_get_os_type() {
|
||||
echo 'deepin'; return
|
||||
elif $GREP -q 'chinauos' /etc/os-release; then
|
||||
echo 'deepin'; return
|
||||
elif $GREP -qi 'aerynos' /etc/os-release; then
|
||||
echo 'rhel7'; return
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -373,6 +375,13 @@ ventoy_get_os_type() {
|
||||
echo 'openEuler'; return
|
||||
fi
|
||||
fi
|
||||
if [ -f /etc/kylin-release ]; then
|
||||
if $GREP -i -q -m1 'Kylin.*Server.* V1[1-9] ' /etc/kylin-release; then
|
||||
echo 'openEuler'; return
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
|
||||
if $GREP -q 'chimera' /proc/version; then
|
||||
echo 'chimera'; return
|
||||
|
||||
@@ -21,7 +21,7 @@ elif uname -m | grep -E -q 'mips64'; then
|
||||
else
|
||||
export TOOLDIR=i386
|
||||
fi
|
||||
export PATH="./tool/$TOOLDIR:$PATH"
|
||||
export PATH="$OLDDIR/tool/$TOOLDIR:$PATH"
|
||||
|
||||
|
||||
echo ''
|
||||
@@ -61,6 +61,14 @@ if [ $? -eq 0 ]; then
|
||||
done
|
||||
fi
|
||||
|
||||
#use static linked mkexfatfs for musl-libc environment
|
||||
if [ -f mkexfatfs_static ]; then
|
||||
if ldd --version 2>&1 | grep -qi musl; then
|
||||
mv mkexfatfs mkexfatfs_shared
|
||||
mv mkexfatfs_static mkexfatfs
|
||||
fi
|
||||
fi
|
||||
|
||||
cd ../../
|
||||
chmod +x -R ./tool/$TOOLDIR
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -70,6 +70,12 @@ function ventoy_acpi_param {
|
||||
fi
|
||||
}
|
||||
|
||||
function vt_vcfg_pre_proc {
|
||||
vt_img_sector "${vtoy_iso_part}${vt_chosen_path}"
|
||||
vt_load_cpio $vtoy_path "${vt_chosen_path}" ${vtoy_iso_part} "busybox=$ventoy_busybox_ver"
|
||||
vt_trailer_cpio $vtoy_iso_part "$vt_chosen_path"
|
||||
}
|
||||
|
||||
function ventoy_vcfg_proc {
|
||||
if vt_check_custom_boot "${1}" vt_vcfg; then
|
||||
set vtoy_chosen_path="${1}"
|
||||
@@ -422,6 +428,16 @@ function distro_specify_initrd_file_phase2 {
|
||||
vt_linux_specify_initrd_file /initramfs-linux.img
|
||||
elif [ -f (loop)/boot/isolinux/initrd.gz ]; then
|
||||
vt_linux_specify_initrd_file /boot/isolinux/initrd.gz
|
||||
elif vt_str_begin "$vt_volume_id" "AERYNOS"; then
|
||||
vt_vcfg_pre_proc
|
||||
|
||||
loopback va "${vtoy_iso_part}${vt_chosen_path}"
|
||||
loopback vb (va)/EFI/Boot/efiboot.img
|
||||
|
||||
set root=(vb)
|
||||
vt_systemd_menu (vb) vt_sys_menu_mem vt_linux_initrd
|
||||
configfile "mem:${vt_sys_menu_mem_addr}:size:${vt_sys_menu_mem_size}"
|
||||
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -2433,7 +2449,7 @@ function mimg_common_menuentry {
|
||||
#############################################################
|
||||
#############################################################
|
||||
|
||||
set VENTOY_VERSION="1.1.09"
|
||||
set VENTOY_VERSION="1.1.10"
|
||||
|
||||
#ACPI not compatible with Window7/8, so disable by default
|
||||
set VTOY_PARAM_NO_ACPI=1
|
||||
|
||||
19
INSTALL/grub/help/fa_IR.txt
Normal file
19
INSTALL/grub/help/fa_IR.txt
Normal file
@@ -0,0 +1,19 @@
|
||||
L - انتخاب زبان
|
||||
F1 - نمایش راهنما
|
||||
F2 - مرور و بوت کردن فایلها در دیسک محلی
|
||||
F3 - تغییر حالت منو بین درختی <-> لیستی
|
||||
F4 - بوت کردن ویندوز/لینوکس روی دیسک محلی
|
||||
F5 - ابزار های کمکی
|
||||
F6 - بارگیری منوی سفارشی Grub2
|
||||
F7 - تغییر حالت بین حالت GUI <-> حالت TEXT
|
||||
|
||||
m/Ctrl+m - اعتبارسنجی فایل ایمیج (md5/sha1/sha256/sha512)
|
||||
d/Ctrl+d - حالت Memdisk (فقط برای ایمیج های کوچک WinPE/LiveCD ISO/IMG)
|
||||
w/Ctrl+w - حالت WIMBOOT (فقط برای فایل های ایزو Windows/WinPE)
|
||||
r/Ctrl+r - حالت Grub2 (فقط برای برخی از توزیع های لینوکس)
|
||||
i/Ctrl+i - حالت سازگار (فقط برای مشکل زدایی)
|
||||
u/Ctrl+u - بارگیری درایور ISO EFI (تنها برای مشکل زدایی، نمیتوان به صورت رسمی استفاده کرد)
|
||||
|
||||
|
||||
|
||||
جهت بازگشت دکمه ESC را کلیک کنید ......
|
||||
@@ -7,10 +7,10 @@ F5 - 유틸리티
|
||||
F6 - 사용자 지정 Grub2 메뉴 불러오기
|
||||
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 배포판에만 해당)
|
||||
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 - 호환 모드 (디버그 전용, 공식적으로 사용할 수 없음)
|
||||
u/Ctrl+u - ISO EFI 드라이버 불러오기 (디버그 전용, 공식적으로 사용할 수 없음)
|
||||
|
||||
|
||||
19
INSTALL/grub/help/lg_UG.txt
Normal file
19
INSTALL/grub/help/lg_UG.txt
Normal file
@@ -0,0 +1,19 @@
|
||||
L - Londako Olulimi
|
||||
F1 - Laga obuyambi
|
||||
F2 - Nnoonya era kozesa Fayiro eziri ku Disk
|
||||
F3 - Kyusa endabika ya Menu wakati wa Masaasana (Treeview) ne y'olukalala (ListView)
|
||||
F4 - Ttandika Windows/Linux ku disk erimu
|
||||
F5 - Ebikozesebwa ebirala
|
||||
F6 - Kozesa Grub2 menu gyewerobozza
|
||||
F7 - Okukyuusa okuva mu Bifaananyi (GUI Mode) <-> Bigambo (TEXT Mode)
|
||||
|
||||
m/Ctrl+m - Okukebera Checksum image files (md5/sha1/sha256/sha512)
|
||||
d/Ctrl+d - Memdisk Mode (Ya WinPE/LiveCD ISO/IMG entono zokka)
|
||||
w/Ctrl+w - WIMBOOT Mode (Ya Windows/WinPE ISO zokka)
|
||||
r/Ctrl+r - Grub2 Mode (Ya nkola za Linux ezimu)
|
||||
i/Ctrl+i - Compatible Mode (Ya kutereeza kwokka (debugging))
|
||||
u/Ctrl+u - Kozesa ISO EFI driver (Ya kutereeza kwokka (debugging), tesobola kukozesebwa mu butongole)
|
||||
|
||||
|
||||
|
||||
nyiga ESC to okudda emabega ......
|
||||
@@ -1,18 +1,18 @@
|
||||
L - Sele<EFBFBD><EFBFBD>o de Idiomas
|
||||
F1 - Exibir informa<EFBFBD><EFBFBD>es de ajuda
|
||||
L - Seleção de Idiomas
|
||||
F1 - Exibir informações de ajuda
|
||||
F2 - Explorar e inicializar os arquivos no disco local
|
||||
F3 - Trocar o modo do menu entre Visualiza<EFBFBD><EFBFBD>o em <EFBFBD>rvore <-> Visualiza<EFBFBD><EFBFBD>o em Lista
|
||||
F3 - Trocar o modo do menu entre Visualização em Árvore <-> Visualização em Lista
|
||||
F4 - Inicializar o Windows/Linux no disco local
|
||||
F5 - Utilit<EFBFBD>rios
|
||||
F5 - Utilitários
|
||||
F6 - Carregar o Menu Personalizado do Grub2
|
||||
F7 - Trocar entre o Modo GUI <-> Modo TEXTO
|
||||
|
||||
m/Ctrl+m - Checksum dos arquivos de imagem (md5/sha1/sha256/sha512)
|
||||
d/Ctrl+d - Modo Memdisk (S<EFBFBD> pros pequenos WinPE/LiveCD ISO/IMG)
|
||||
w/Ctrl+w - Modo WIMBOOT (S<EFBFBD> pra arquivos ISO do Windows/WinPE)
|
||||
r/Ctrl+r - Modo Grub2 (S<EFBFBD> pra algumas distros do Linux)
|
||||
i/Ctrl+i - Modo Compat<EFBFBD>vel (S<EFBFBD> pra debugging)
|
||||
u/Ctrl+u - Carregar o driver EFI da ISO (S<EFBFBD> pra debugging, n<EFBFBD>o pode ser usado oficialmente)
|
||||
d/Ctrl+d - Modo Memdisk (Só pros pequenos WinPE/LiveCD ISO/IMG)
|
||||
w/Ctrl+w - Modo WIMBOOT (Só pra arquivos ISO do Windows/WinPE)
|
||||
r/Ctrl+r - Modo Grub2 (Só pra algumas distros do Linux)
|
||||
i/Ctrl+i - Modo Compatível (Só pra debugging)
|
||||
u/Ctrl+u - Carregar o driver EFI da ISO (Só pra debugging, não pode ser usado oficialmente)
|
||||
|
||||
|
||||
|
||||
|
||||
19
INSTALL/grub/help/sl_SI.txt
Normal file
19
INSTALL/grub/help/sl_SI.txt
Normal file
@@ -0,0 +1,19 @@
|
||||
L - Izbira jezika
|
||||
F1 - Prikaz informacij o pomoči
|
||||
F2 - Brskanje in zagon datotek na lokalnem disku
|
||||
F3 - Preklop med načinom menija Treeview <-> ListView
|
||||
F4 - Zagon Windows/Linux na lokalnem disku
|
||||
F5 - Pripomočki
|
||||
F6 - Naložitev prilagojenega menija Grub2
|
||||
F7 - Preklop med načinom GUI <-> načinom TEXT
|
||||
|
||||
m/Ctrl+m - Preveri kontrolno vsoto slikovnih datotek (md5/sha1/sha256/sha512)
|
||||
d/Ctrl+d - Način Memdisk (samo za majhne WinPE/LiveCD ISO/IMG)
|
||||
w/Ctrl+w - Način WIMBOOT (samo za datoteke Windows/WinPE ISO)
|
||||
r/Ctrl+r – Način Grub2 (samo za nekatere distribucije Linux)
|
||||
i/Ctrl+i – Združljiv način (samo za odpravljanje napak)
|
||||
u/Ctrl+u – Naloži ISO EFI gonilnik (samo za odpravljanje napak, uradno se ne more uporabljati)
|
||||
|
||||
|
||||
|
||||
Pritisnite ESC za vrnitev ......
|
||||
@@ -40,17 +40,17 @@ menuentry "$VTLANG_HWINFO" --class=debug_hwinfo --class=F5tool {
|
||||
echo "Physical RAM $grub_total_ram MB"
|
||||
|
||||
echo ""
|
||||
echo "Manufacture $system_vendor"
|
||||
echo "Manufacturer $system_vendor"
|
||||
echo "Product Name $system_product"
|
||||
echo "Version $system_version"
|
||||
|
||||
echo ""
|
||||
echo "Board Manufacture $board_vendor"
|
||||
echo "Board Manufacturer $board_vendor"
|
||||
echo "Board Name $board_product"
|
||||
echo "Board Version $board_version"
|
||||
|
||||
echo ""
|
||||
echo "BIOS Manufacture $bios_vendor"
|
||||
echo "BIOS Manufacturer $bios_vendor"
|
||||
echo "BIOS Version $bios_ver"
|
||||
echo "BIOS Date $bios_date"
|
||||
echo "BIOS ROM Size $bios_size"
|
||||
|
||||
93
INSTALL/grub/menu/fa_IR.json
Normal file
93
INSTALL/grub/menu/fa_IR.json
Normal file
@@ -0,0 +1,93 @@
|
||||
{
|
||||
"VTLANG_LANGUAGE_NAME": "Persian (فارسی)",
|
||||
|
||||
"VTLANG_STR_HOTKEY_LIST": "L:زبان F1:راهنما F2:مرور F3:نمای لیستی F4:بوت محلی F5:ابزار F6:بازگشت",
|
||||
"VTLANG_STR_HOTKEY_TREE": "L:زبان F1:راهنما F2:مرور F3:نمای درختی F4:بوت محلی F5:ابزار F6:بازگشت",
|
||||
"VTLANG_RETURN_PREVIOUS": "بازگشت به منوی قبلی [Esc]",
|
||||
"VTLANG_RETURN_PRV_NOESC": "بازگشت به منوی قبلی",
|
||||
|
||||
"VTLANG_MENU_LANG": "منوی انتخاب زبان",
|
||||
|
||||
"VTLANG_LB_SBOOT_WINDOWS": "جستجو و بوت ویندوز",
|
||||
"VTLANG_LB_SBOOT_G4D": "جستجو و بوت Grub4dos",
|
||||
"VTLANG_LB_SBOOT_HDD1": "بوت اولین دیسک محلی",
|
||||
"VTLANG_LB_SBOOT_HDD2": "بوت دومین دیسک محلی",
|
||||
"VTLANG_LB_SBOOT_HDD3": "بوت سومین دیسک محلی",
|
||||
"VTLANG_LB_SBOOT_X64EFI": "جستجو و بوت BOOTX64.EFI",
|
||||
"VTLANG_LB_SBOOT_IA32EFI": "جستجو و بوت BOOTIA32.EFI",
|
||||
"VTLANG_LB_SBOOT_AA64EFI": "جستجو و بوت BOOTAA64.EFI",
|
||||
"VTLANG_LB_SBOOT_XORBOOT": "جستجو و بوت xorboot",
|
||||
|
||||
"VTLANG_FILE_CHKSUM": "اعتبارسنجی فایل",
|
||||
"VTLANG_CHKSUM_MD5_CALC": "محاسبه md5sum",
|
||||
"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",
|
||||
|
||||
"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",
|
||||
|
||||
"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": "بررسی پیکربندی افزونه تزریق",
|
||||
"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": "بررسی پیکربندی افزونه 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 در هنگام نصب ویندوز 11",
|
||||
"VTLANG_WIN11_BYPASS_NRO": "دور زدن نیاز به حساب کاربری آنلاین هنگام نصب ویندوز 11",
|
||||
"VTLANG_LINUX_REMOUNT": "اتصال پارتیشن Ventoy بعد از بوت لینوکس",
|
||||
"VTLANG_SECONDARY_BOOT_MENU": "نمایش منوی بوت ثانویه",
|
||||
|
||||
"MENU_STR_XXX": ""
|
||||
}
|
||||
@@ -43,7 +43,7 @@
|
||||
|
||||
"VTLANG_THEME_SELECT": "Pilih Tema",
|
||||
|
||||
"VTLANG_UEFI_UTIL": "Ventoy UEFI Utilities",
|
||||
"VTLANG_UEFI_UTIL": "Utilitas UEFI Ventoy",
|
||||
"VTLANG_UTIL_SHOW_EFI_DRV": "Tampilkan Driver EFI",
|
||||
"VTLANG_UTIL_FIX_BLINIT_FAIL": "Memperbaiki Kegagalan Windows BlinitializeLibrary",
|
||||
|
||||
@@ -80,14 +80,14 @@
|
||||
"VTLANG_BROWER_RETURN": "Kembali",
|
||||
|
||||
"VTLANG_ENTER_EXIT": "tekan tombol Enter untuk keluar",
|
||||
"VTLANG_ENTER_REBOOT": "tekan tombol Enter untuk reboot",
|
||||
"VTLANG_ENTER_REBOOT": "tekan tombol Enter untuk memulai ulang",
|
||||
"VTLANG_ENTER_CONTINUE": "tekan tombol Enter untuk melanjutkan",
|
||||
|
||||
"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": "Pengaturan Kontrol Sementara",
|
||||
"VTLANG_WIN11_BYPASS_CHECK": "Melewati pemeriksaaan CPU/TPM/SecureBoot ketika memasang Windows 11",
|
||||
"VTLANG_WIN11_BYPASS_NRO": "Melewati persyaratan akun online ketika memasang Windows 11",
|
||||
"VTLANG_LINUX_REMOUNT": "Memuat partisi Ventoy setelah boot ke Linux",
|
||||
"VTLANG_SECONDARY_BOOT_MENU": "Tampilkan menu boot sekunder",
|
||||
|
||||
"MENU_STR_XXX": ""
|
||||
}
|
||||
|
||||
93
INSTALL/grub/menu/lg_UG.json
Normal file
93
INSTALL/grub/menu/lg_UG.json
Normal file
@@ -0,0 +1,93 @@
|
||||
{
|
||||
"VTLANG_LANGUAGE_NAME": "English (English)",
|
||||
|
||||
"VTLANG_STR_HOTKEY_LIST": "L:Language F1:Help F2:Browse F3:ListView F4:Localboot F5:Tools F6:ExMenu",
|
||||
"VTLANG_STR_HOTKEY_TREE": "L:Language F1:Help F2:Browse F3:TreeView F4:Localboot F5:Tools F6:ExMenu",
|
||||
"VTLANG_RETURN_PREVIOUS": "Return to previous menu [Esc]",
|
||||
"VTLANG_RETURN_PRV_NOESC": "Return to previous menu",
|
||||
|
||||
"VTLANG_MENU_LANG": "Menu Language Select",
|
||||
|
||||
"VTLANG_LB_SBOOT_WINDOWS": "Search and boot Windows",
|
||||
"VTLANG_LB_SBOOT_G4D": "Search and boot Grub4dos",
|
||||
"VTLANG_LB_SBOOT_HDD1": "Boot the 1st local disk",
|
||||
"VTLANG_LB_SBOOT_HDD2": "Boot the 2nd local disk",
|
||||
"VTLANG_LB_SBOOT_HDD3": "Boot the 3rd local disk",
|
||||
"VTLANG_LB_SBOOT_X64EFI": "Search and boot BOOTX64.EFI",
|
||||
"VTLANG_LB_SBOOT_IA32EFI": "Search and boot BOOTIA32.EFI",
|
||||
"VTLANG_LB_SBOOT_AA64EFI": "Search and boot BOOTAA64.EFI",
|
||||
"VTLANG_LB_SBOOT_XORBOOT": "Search and boot xorboot",
|
||||
|
||||
"VTLANG_FILE_CHKSUM": "File checksum",
|
||||
"VTLANG_CHKSUM_MD5_CALC": "Calculate md5sum",
|
||||
"VTLANG_CHKSUM_SHA1_CALC": "Calculate sha1sum",
|
||||
"VTLANG_CHKSUM_SHA256_CALC": "Calculate sha256sum",
|
||||
"VTLANG_CHKSUM_SHA512_CALC": "Calculate sha512sum",
|
||||
"VTLANG_CHKSUM_MD5_CALC_CHK": "Calculate and check md5sum",
|
||||
"VTLANG_CHKSUM_SHA1_CALC_CHK": "Calculate and check sha1sum",
|
||||
"VTLANG_CHKSUM_SHA256_CALC_CHK": "Calculate and check sha256sum",
|
||||
"VTLANG_CHKSUM_SHA512_CALC_CHK": "Calculate and check sha512sum",
|
||||
|
||||
"VTLANG_POWER": "Power",
|
||||
"VTLANG_POWER_REBOOT": "Reboot",
|
||||
"VTLANG_POWER_HALT": "Halt",
|
||||
"VTLANG_POWER_BOOT_EFIFW": "Reboot to EFI setup",
|
||||
|
||||
"VTLANG_KEYBRD_LAYOUT": "Keyboard Layouts",
|
||||
"VTLANG_HWINFO": "Hardware Information",
|
||||
|
||||
"VTLANG_RESOLUTION_CFG": "Resolution Configuration",
|
||||
"VTLANG_SCREEN_MODE": "Screen Display Mode",
|
||||
"VTLANG_SCREEN_TEXT_MODE": "Force Text Mode",
|
||||
"VTLANG_SCREEN_GUI_MODE": "Force Graphics Mode",
|
||||
|
||||
"VTLANG_THEME_SELECT": "Theme Select",
|
||||
|
||||
"VTLANG_UEFI_UTIL": "Ventoy UEFI Utilities",
|
||||
"VTLANG_UTIL_SHOW_EFI_DRV": "Show EFI Drivers",
|
||||
"VTLANG_UTIL_FIX_BLINIT_FAIL": "Fixup Windows BlinitializeLibrary Failure",
|
||||
|
||||
"VTLANG_JSON_CHK_JSON": "Check plugin json configuration (ventoy.json)",
|
||||
"VTLANG_JSON_CHK_CONTROL": "Check global control plugin configuration",
|
||||
"VTLANG_JSON_CHK_THEME": "Check theme plugin configuration",
|
||||
"VTLANG_JSON_CHK_AUTOINS": "Check auto install plugin configuration",
|
||||
"VTLANG_JSON_CHK_PERSIST": "Check persistence plugin configuration",
|
||||
"VTLANG_JSON_CHK_MENU_ALIAS": "Check menu alias plugin configuration",
|
||||
"VTLANG_JSON_CHK_MENU_TIP": "Check menu tip plugin configuration",
|
||||
"VTLANG_JSON_CHK_MENU_CLASS": "Check menu class plugin configuration",
|
||||
"VTLANG_JSON_CHK_INJECTION": "Check injection plugin configuration",
|
||||
"VTLANG_JSON_CHK_AUTO_MEMDISK": "Check auto memdisk plugin configuration",
|
||||
"VTLANG_JSON_CHK_IMG_LIST": "Check image list plugin configuration",
|
||||
"VTLANG_JSON_CHK_IMG_BLIST": "Check image blacklist plugin configuration",
|
||||
"VTLANG_JSON_CHK_CONF_REPLACE": "Check boot conf replace plugin configuration",
|
||||
"VTLANG_JSON_CHK_DUD": "Check dud plugin configuration",
|
||||
"VTLANG_JSON_CHK_PASSWORD": "Check password plugin configuration",
|
||||
|
||||
"VTLANG_NORMAL_MODE": "Boot in normal mode",
|
||||
"VTLANG_WIMBOOT_MODE": "Boot in wimboot mode",
|
||||
"VTLANG_GRUB2_MODE": "Boot in grub2 mode",
|
||||
"VTLANG_MEMDISK_MODE": "Boot in memdisk mode",
|
||||
|
||||
"VTLANG_RET_TO_LISTVIEW": "Return to ListView",
|
||||
"VTLANG_RET_TO_TREEVIEW": "Return to TreeView",
|
||||
|
||||
"VTLANG_NO_AUTOINS_SCRIPT": "Boot without auto installation template",
|
||||
"VTLANG_AUTOINS_USE": "Boot with",
|
||||
|
||||
"VTLANG_NO_PERSIST": "Boot without persistence",
|
||||
"VTLANG_PERSIST_USE": "Boot with",
|
||||
|
||||
"VTLANG_BROWER_RETURN": "Return",
|
||||
|
||||
"VTLANG_ENTER_EXIT": "press Enter key to exit",
|
||||
"VTLANG_ENTER_REBOOT": "press Enter key to reboot",
|
||||
"VTLANG_ENTER_CONTINUE": "press Enter key to continue",
|
||||
|
||||
"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",
|
||||
|
||||
"MENU_STR_XXX": ""
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
@@ -64,6 +64,71 @@
|
||||
|
||||
"STRXXX":""
|
||||
},
|
||||
{
|
||||
"name": "Urdu (اردو)",
|
||||
"FontFamily": "Noto Nastaliq Urdu",
|
||||
"FontSize": 16,
|
||||
"Author": "Muhammad Ramzan",
|
||||
|
||||
"STR_ERROR": "غلطی",
|
||||
"STR_WARNING": "انتباہ",
|
||||
"STR_INFO": "معلومات",
|
||||
"STR_INCORRECT_DIR": "براہ کرم درست ڈائریکٹری میں چلائیں!",
|
||||
"STR_INCORRECT_TREE_DIR": "یہاں نہ چلائیں، براہ کرم ریلیز پیکیج ڈاؤن لوڈ کریں اور وہاں چلائیں۔",
|
||||
"STR_DEVICE": "ڈیوائس",
|
||||
"STR_LOCAL_VER": "پیکج میں وینٹوی",
|
||||
"STR_DISK_VER": "ڈیوائس میں وینٹوی",
|
||||
"STR_STATUS": "اسٹیٹس - تیار",
|
||||
"STR_INSTALL": "انسٹال کریں",
|
||||
"STR_UPDATE": "اپڈیٹ کریں",
|
||||
"STR_UPDATE_TIP": "اپگریڈ محفوظ ہے، ISO فائلز تبدیل نہیں ہوں گی۔#@کیا آپ جاری رکھنا چاہتے ہیں؟",
|
||||
"STR_INSTALL_TIP": "ڈیوائس فارمیٹ ہو جائے گا اور تمام ڈیٹا ضائع ہو جائے گا۔#@کیا آپ جاری رکھنا چاہتے ہیں؟",
|
||||
"STR_INSTALL_TIP2": "ڈیوائس فارمیٹ ہو جائے گا اور تمام ڈیٹا ضائع ہو جائے گا۔#@کیا آپ واقعی جاری رکھنا چاہتے ہیں؟ (دوبارہ تصدیق)",
|
||||
"STR_INSTALL_SUCCESS": "مبارک ہو!#@وینٹوی کامیابی سے ڈیوائس پر انسٹال ہو گیا ہے۔",
|
||||
"STR_INSTALL_FAILED": "انسٹالیشن کے دوران غلطی پیش آئی۔ دوبارہ USB لگائیں اور کوشش کریں۔ تفصیلات کے لیے log.txt چیک کریں۔ اگر مسئلہ برقرار رہے تو سرکاری ویب سائٹ کے FAQ دیکھیں۔",
|
||||
"STR_UPDATE_SUCCESS": "مبارک ہو!#@وینٹوی کامیابی سے ڈیوائس پر اپڈیٹ ہو گیا ہے۔",
|
||||
"STR_UPDATE_FAILED": "اپڈیٹ کے دوران غلطی پیش آئی۔ دوبارہ USB لگائیں اور کوشش کریں۔ تفصیلات کے لیے log.txt چیک کریں۔ اگر مسئلہ برقرار رہے تو سرکاری ویب سائٹ کے FAQ دیکھیں۔",
|
||||
"STR_WAIT_PROCESS": "ایک عمل جاری ہے، براہ کرم انتظار کریں...",
|
||||
"STR_MENU_OPTION": "اختیار",
|
||||
"STR_MENU_SECURE_BOOT": "سکیور بوٹ سپورٹ",
|
||||
"STR_MENU_PART_CFG": "پارٹیشن کنفیگریشن",
|
||||
"STR_BTN_OK": "ٹھیک ہے",
|
||||
"STR_BTN_CANCEL": "منسوخ کریں",
|
||||
"STR_PRESERVE_SPACE": "ڈسک کے آخر میں کچھ جگہ محفوظ کریں",
|
||||
"STR_SPACE_VAL_INVALID": "محفوظ جگہ کے لیے غلط ویلیو",
|
||||
"STR_MENU_CLEAR": "وینٹوی ہٹائیں",
|
||||
"STR_CLEAR_SUCCESS": "وینٹوی کامیابی سے ڈیوائس سے ہٹا دیا گیا ہے۔",
|
||||
"STR_CLEAR_FAILED": "وینٹوی کو ہٹاتے وقت غلطی پیش آئی۔ دوبارہ USB لگائیں اور کوشش کریں۔ تفصیلات کے لیے log.txt چیک کریں۔",
|
||||
"STR_MENU_PART_STYLE": "پارٹیشن اسٹائل",
|
||||
"STR_DISK_2TB_MBR_ERROR": "2TB سے بڑی ڈیوائس کے لیے GPT منتخب کریں",
|
||||
"STR_SHOW_ALL_DEV": "تمام ڈیوائسز دکھائیں",
|
||||
"STR_PART_ALIGN_4KB": "پارٹیشنز کو 4KB کے ساتھ سیدھ میں رکھیں",
|
||||
"STR_WEB_COMMUNICATION_ERR": "کمیونیکیشن ایرر:",
|
||||
"STR_WEB_REMOTE_ABNORMAL": "کمیونیکیشن ایرر: ریموٹ ایرر",
|
||||
"STR_WEB_REQUEST_TIMEOUT": "کمیونیکیشن ایرر: ریکویسٹ کا وقت ختم ہو گیا",
|
||||
"STR_WEB_SERVICE_UNAVAILABLE": "کمیونیکیشن ایرر: سروس دستیاب نہیں",
|
||||
"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+) کا استعمال کر کے اسے ڈیوائس پر لکھ سکتے ہیں تاکہ وینٹوی انسٹال مکمل ہو سکے۔",
|
||||
"STR_VTSI_CREATE_FAILED": "VTSI فائل بنانے میں ناکام۔",
|
||||
"STR_MENU_PART_RESIZE": "ڈیٹا محفوظ انسٹالیشن",
|
||||
"STR_PART_RESIZE_TIP": "وینٹوی ممکن ہو تو ڈیٹا محفوظ انسٹالیشن کرے گا۔#@کیا آپ جاری رکھنا چاہتے ہیں؟",
|
||||
"STR_PART_RESIZE_SUCCESS": "مبارک ہو!#@وینٹوی کی ڈیٹا محفوظ انسٹالیشن کامیابی سے مکمل ہو گئی۔",
|
||||
"STR_PART_RESIZE_FAILED": "ڈیٹا محفوظ انسٹالیشن ناکام ہو گئی، تفصیلات کے لیے log.txt چیک کریں۔",
|
||||
"STR_PART_RESIZE_UNSUPPORTED": "وینٹوی نے انسٹالیشن روک دی کیونکہ کچھ شرائط پوری نہیں ہو سکیں۔ تفصیلات کے لیے log.txt چیک کریں۔",
|
||||
"STR_INSTALL_YES_TIP1": "انتباہ: ڈیٹا ضائع ہو جائے گا!",
|
||||
"STR_INSTALL_YES_TIP2": "براہ کرم نیچے ٹیکسٹ باکس میں YES لکھیں تاکہ تصدیق ہو سکے کہ آپ اپگریڈ کی بجائے نیا انسٹال کرنا چاہتے ہیں۔",
|
||||
"STR_PART_VENTOY_FS": "وینٹوی پارٹیشن کے لیے فائل سسٹم",
|
||||
"STR_PART_FS": "فائل سسٹم",
|
||||
"STR_PART_CLUSTER": "کلسٹر سائز",
|
||||
"STR_PART_CLUSTER_DEFAULT": "سسٹم کا ڈیفالٹ ویلیو",
|
||||
"STR_DONATE": "عطیہ کریں",
|
||||
"STR_4KN_UNSUPPORTED": "فی الحال وینٹوی 4K نیٹو ڈیوائسز کو سپورٹ نہیں کرتا۔",
|
||||
|
||||
"STRXXX": ""
|
||||
},
|
||||
{
|
||||
"name":"Azerbaijani (Azərbaycanca)",
|
||||
"FontFamily":"Courier New",
|
||||
@@ -649,6 +714,71 @@
|
||||
|
||||
"STRXXX":""
|
||||
},
|
||||
{
|
||||
"name":"Slovenian (Slovenščina)",
|
||||
"FontFamily":"Courier New",
|
||||
"FontSize":16,
|
||||
"Author":"Andrew Poženel, Urajmal",
|
||||
|
||||
"STR_ERROR":"Napaka",
|
||||
"STR_WARNING":"Opozorilo",
|
||||
"STR_INFO":"Informacija",
|
||||
"STR_INCORRECT_DIR":"Prosim, zaženite program v pravilni mapi!",
|
||||
"STR_INCORRECT_TREE_DIR":"Ne izvajajte programa tukaj, prosim prenesite izdani namestitveni paket in ga izvedite tam.",
|
||||
"STR_DEVICE":"Naprava",
|
||||
"STR_LOCAL_VER":"Ventoy različica",
|
||||
"STR_DISK_VER":"Ventoy v napravi",
|
||||
"STR_STATUS":"Stanje - PRIPRAVLJEN",
|
||||
"STR_INSTALL":"Namesti",
|
||||
"STR_UPDATE":"Posodobi",
|
||||
"STR_UPDATE_TIP":"Nadgradnja je varna, datoteke ISO ostanejo nespremenjene.#@Nadaljuj?",
|
||||
"STR_INSTALL_TIP":"Naprava bo formatirana in vsi podatki bodo izgubljeni.#@Nadaljuj?",
|
||||
"STR_INSTALL_TIP2":"Naprava bo formatirana in vsi podatki bodo izgubljeni.#@Nadaljuj? (dvakrat preverite)",
|
||||
"STR_INSTALL_SUCCESS":"Čestitamo!#@Ventoy je bil uspešno nameščen na napravo.",
|
||||
"STR_INSTALL_FAILED":"Med namestitvijo je prišlo do napake. Ponovno vstavite USB-napravo in poskusite znova. Podrobnosti najdete v datoteki log.txt. Če napaka še vedno obstaja, si oglejte pogosta vprašanja na uradni spletni strani.",
|
||||
"STR_UPDATE_SUCCESS":"Čestitamo!#@Ventoy je bil uspešno posodobljen na napravi.",
|
||||
"STR_UPDATE_FAILED":"Med posodobitvijo je prišlo do napake. Ponovno vstavite USB-napravo in poskusite znova. Podrobnosti najdete v datoteki log.txt. Če se napaka ponavlja, si oglejte pogosta vprašanja na uradni spletni strani.",
|
||||
"STR_WAIT_PROCESS":"Nit se izvaja, prosimo počakajte...",
|
||||
"STR_MENU_OPTION":"Možnost",
|
||||
"STR_MENU_SECURE_BOOT":"Podpora za varen zagon",
|
||||
"STR_MENU_PART_CFG":"Konfiguracija particije",
|
||||
"STR_BTN_OK":"V redu",
|
||||
"STR_BTN_CANCEL":"Prekliči",
|
||||
"STR_PRESERVE_SPACE":"Ohrani nekaj prostora na koncu diska",
|
||||
"STR_SPACE_VAL_INVALID":"Neveljavna vrednost za rezervirani prostor",
|
||||
"STR_MENU_CLEAR":"Počisti Ventoy",
|
||||
"STR_CLEAR_SUCCESS":"Ventoy je bil uspešno odstranjen iz naprave.",
|
||||
"STR_CLEAR_FAILED":"Pri odstranjevanju Ventoya z diska je prišlo do napake. Ponovno vstavite USB-napravo in poskusite znova. Podrobnosti najdete v datoteki log.txt.",
|
||||
"STR_MENU_PART_STYLE":"Slog particije",
|
||||
"STR_DISK_2TB_MBR_ERROR":"Za naprave z več kot 2 TB izberite GPT.",
|
||||
"STR_SHOW_ALL_DEV":"Pokaži vse naprave",
|
||||
"STR_PART_ALIGN_4KB":"Poravnaj particije s 4 KB",
|
||||
"STR_WEB_COMMUNICATION_ERR":"Napaka pri komunikaciji:",
|
||||
"STR_WEB_REMOTE_ABNORMAL":"Napaka pri komunikaciji: Oddaljena napaka",
|
||||
"STR_WEB_REQUEST_TIMEOUT":"Napaka pri komunikaciji: Zahteva je potekla",
|
||||
"STR_WEB_SERVICE_UNAVAILABLE":"Napaka pri komunikaciji: Storitev ni na voljo",
|
||||
"STR_WEB_TOKEN_MISMATCH":"Stanje ozadnega procesa je bilo posodobljeno, poskusite pozneje.",
|
||||
"STR_WEB_SERVICE_BUSY":"Storitev je zasedena, prosimo poskusite kasneje.",
|
||||
"STR_MENU_VTSI_CREATE":"Ustvari datoteko VTSI",
|
||||
"STR_VTSI_CREATE_TIP":"Tokrat ne bo zapisoval na napravo, ampak bo samo ustvaril datoteko VTSI#@Nadaljuj?",
|
||||
"STR_VTSI_CREATE_SUCCESS":"Datoteka VTSI je bila uspešno ustvarjena!#@Za namestitev Ventoya jo lahko zapišete na napravo z uporabo programa Rufus (3.15+).",
|
||||
"STR_VTSI_CREATE_FAILED":"Ustvarjanje datoteke VTSI ni uspelo.",
|
||||
"STR_MENU_PART_RESIZE":"Neuničujoča namestitev",
|
||||
"STR_PART_RESIZE_TIP":"Ventoy bo poskusil z neuničujočo namestitvijo, če je le mogoče. #@Nadaljuj?",
|
||||
"STR_PART_RESIZE_SUCCESS":"Čestitamo!#@Ventoy neuničljiva namestitev je bila uspešno zaključena.",
|
||||
"STR_PART_RESIZE_FAILED":"Neuničljiva namestitev ni uspela, podrobnosti preverite v datoteki log.txt.",
|
||||
"STR_PART_RESIZE_UNSUPPORTED":"Neuničljiva namestitev Ventoy se je ustavila, ker nekateri pogoji niso izpolnjeni. Podrobnosti preverite v datoteki log.txt.",
|
||||
"STR_INSTALL_YES_TIP1":"Opozorilo: Podatki bodo izgubljeni!",
|
||||
"STR_INSTALL_YES_TIP2":"V spodnje besedilno polje vnesite DA, da potrdite, da res želite izvesti novo namestitev namesto nadgradnje.",
|
||||
"STR_PART_VENTOY_FS":"Datotečni sistem za particijo Ventoy",
|
||||
"STR_PART_FS":"Datotečni sistem",
|
||||
"STR_PART_CLUSTER":"Velikost gruče",
|
||||
"STR_PART_CLUSTER_DEFAULT":"Privzeta sistemska vrednost",
|
||||
"STR_DONATE":"Donirajte",
|
||||
"STR_4KN_UNSUPPORTED":"Trenutno Ventoy ne podpira naprav z ločljivostjo 4K.",
|
||||
|
||||
"STRXXX":""
|
||||
},
|
||||
{
|
||||
"name":"Turkish (Türkçe)",
|
||||
"FontFamily":"Courier New",
|
||||
@@ -2433,15 +2563,15 @@
|
||||
"STR_MENU_PART_CFG":"Konfigurasi Partisi",
|
||||
"STR_BTN_OK":"OK",
|
||||
"STR_BTN_CANCEL":"Batal",
|
||||
"STR_PRESERVE_SPACE":"Menyisakan sejumlah ruang penyimpanan pada disk di bawah ini",
|
||||
"STR_SPACE_VAL_INVALID":"Nilai sisa ruang tidak benar",
|
||||
"STR_PRESERVE_SPACE":"Pertahankan sisa ruang penyimpanan pada disk ini",
|
||||
"STR_SPACE_VAL_INVALID":"Nilai sisa ruang tidak valid",
|
||||
"STR_MENU_CLEAR":"Bersihkan Ventoy",
|
||||
"STR_CLEAR_SUCCESS":"Ventoy telah berhasil dihapus pada perangkat ini.",
|
||||
"STR_CLEAR_FAILED":"Terjadi kesalahan ketika penghapusan berlangsung. Anda perlu mencabut-pasang ulang USB dan coba lagi. Periksa berkas log.txt untuk detil.",
|
||||
"STR_MENU_PART_STYLE":"Model Partisi",
|
||||
"STR_DISK_2TB_MBR_ERROR":"Silakan pilih GPT untuk disk yang lebih dari 2TB",
|
||||
"STR_SHOW_ALL_DEV":"Tampilkan semua perangkat",
|
||||
"STR_PART_ALIGN_4KB":"Meluruskan dengan partisi 4KB",
|
||||
"STR_PART_ALIGN_4KB":"Mensejajarkan dengan partisi 4KB",
|
||||
"STR_WEB_COMMUNICATION_ERR":"Kesalahan komunikasi:",
|
||||
"STR_WEB_REMOTE_ABNORMAL":"Kesalahan komunikasi: pengendali bermasalah",
|
||||
"STR_WEB_REQUEST_TIMEOUT":"Kesalahan komunikasi: Waktu permintaan habis",
|
||||
@@ -2459,9 +2589,9 @@
|
||||
"STR_PART_RESIZE_UNSUPPORTED":"Pemasangan tanpa merusakkan Ventoy terhenti karena beberapa kondisi yang tidak mendukung. Periksa berkas log.txt untuk detil.",
|
||||
"STR_INSTALL_YES_TIP1":"Peringatan: Data akan hilang!",
|
||||
"STR_INSTALL_YES_TIP2":"Silakan ketik YES pada kotak tulis di bawah untuk mengonfirmasikan bahwa anda memang yakin melakukan pemasangan baru ketimbang memperbaruinya",
|
||||
"STR_PART_VENTOY_FS":"Berkas Sistem Untuk Partisi Ventoy",
|
||||
"STR_PART_FS":"Berkas Sistem",
|
||||
"STR_PART_CLUSTER":"Ukuran Kelompok",
|
||||
"STR_PART_VENTOY_FS":"Sistem Berkas Untuk Partisi Ventoy",
|
||||
"STR_PART_FS":"Sistem Berkas",
|
||||
"STR_PART_CLUSTER":"Ukuran Kluster",
|
||||
"STR_PART_CLUSTER_DEFAULT":"Nilai Standar Sistem",
|
||||
"STR_DONATE":"Donasi sukarela",
|
||||
"STR_4KN_UNSUPPORTED":"Saat ini Ventoy tidak mendukung perangkat 4K yang asli.",
|
||||
@@ -2729,71 +2859,6 @@
|
||||
|
||||
"STRXXX":""
|
||||
},
|
||||
{
|
||||
"name":"Slovenian (Slovenski)",
|
||||
"FontFamily":"Courier New",
|
||||
"FontSize":16,
|
||||
"Author":"Urajmal",
|
||||
|
||||
"STR_ERROR":"Napaka",
|
||||
"STR_WARNING":"Opozorilo",
|
||||
"STR_INFO":"Info",
|
||||
"STR_INCORRECT_DIR":"Prosim izberite pravilno pot!",
|
||||
"STR_INCORRECT_TREE_DIR":"Ne zaganjajte tukaj. Prosim prenesite posodobljeno verzijo in jo zaženite.",
|
||||
"STR_DEVICE":"Naprava",
|
||||
"STR_LOCAL_VER":"Ventoy verzija",
|
||||
"STR_DISK_VER":"Ventoy na napravi",
|
||||
"STR_STATUS":"Status - PRIPRAVLJEN",
|
||||
"STR_INSTALL":"Namesti",
|
||||
"STR_UPDATE":"Nadgradi",
|
||||
"STR_UPDATE_TIP":"Varna nadgradnja. ISO datoteke ne bodo spremenjene.#@Nadaljujem?",
|
||||
"STR_INSTALL_TIP":"Ta disk bo formatiran in vsi podatki bodo izbrisani.#@Nadaljujem?",
|
||||
"STR_INSTALL_TIP2":"Ta disk bo formatiran in vsi podatki bodo izbrisani.#@Nadaljujem? (Druga potrditev)",
|
||||
"STR_INSTALL_SUCCESS":"Čestitamo!#@Ventoy je bil uspešno nameščen na napravo.",
|
||||
"STR_INSTALL_FAILED":"Med namestitvijo je prišlo do napake. Iztaknite in ponovno priklopite USB. Preverite log.txt za podrobnosti.",
|
||||
"STR_UPDATE_SUCCESS":"Čestitamo!#@Ventoy na napravi je bil uspešno posodobljen.",
|
||||
"STR_UPDATE_FAILED":"Prišlo je do napake med nadgradnjo. Iztaknite in ponovno priklopite USB. Preverite log.txt za podrobnosti.",
|
||||
"STR_WAIT_PROCESS":"Proces teče, prosimo počakajte, ...",
|
||||
"STR_MENU_OPTION":"Nastavitve",
|
||||
"STR_MENU_SECURE_BOOT":"Podpora Secure Boot",
|
||||
"STR_MENU_PART_CFG":"Konfiguracija particij",
|
||||
"STR_BTN_OK":"Vredu",
|
||||
"STR_BTN_CANCEL":"Prekliči",
|
||||
"STR_PRESERVE_SPACE":"Ohrani nekaj prostora na koncu particije",
|
||||
"STR_SPACE_VAL_INVALID":"Nepravilna vrednost za rezerviran prostor",
|
||||
"STR_MENU_CLEAR":"Odstrani Ventoy",
|
||||
"STR_CLEAR_SUCCESS":"Ventoy je bil uspešno odstranjen.",
|
||||
"STR_CLEAR_FAILED":"Prišlo je do napake pri odstranjevanju Ventoy-a iz diska. Iztaknite in ponovno priklopite USB. Preverite log.txt za podrobnosti.",
|
||||
"STR_MENU_PART_STYLE":"Vrsta particije",
|
||||
"STR_DISK_2TB_MBR_ERROR":"Prosim izberite GPT za particije nad 2TB",
|
||||
"STR_SHOW_ALL_DEV":"Pokaži vse naprave",
|
||||
"STR_PART_ALIGN_4KB":"Poravnaj particije na 4KB",
|
||||
"STR_WEB_COMMUNICATION_ERR":"Napaka v komunikaciji:",
|
||||
"STR_WEB_REMOTE_ABNORMAL":"Napaka v komunikaciji: oddaljena težava",
|
||||
"STR_WEB_REQUEST_TIMEOUT":"Napaka v komunikaciji: čas je potekel",
|
||||
"STR_WEB_SERVICE_UNAVAILABLE":"Napaka v komunikaciji: storitev ni na voljo",
|
||||
"STR_WEB_TOKEN_MISMATCH":"Zahteva storitve je potekla, prosim poskusite kasneje.",
|
||||
"STR_WEB_SERVICE_BUSY":"Storitev je zasedena, prosim poskusite kasneje.",
|
||||
"STR_MENU_VTSI_CREATE":"Ustvari VTSI datoteko",
|
||||
"STR_VTSI_CREATE_TIP":"Spremembe na napravi ne bo, generirala se bo samo VTSI datoteka#@Nadaljujem?",
|
||||
"STR_VTSI_CREATE_SUCCESS":"VTSI datoteka ustvarjena uspešno!#@Uporabi naj se Rufus(3.15+) za zapis na napravo in uspešno zaključeno inštalacijo Ventoy-a.",
|
||||
"STR_VTSI_CREATE_FAILED":"Ustvarjanje VTSI datoteke ni uspelo.",
|
||||
"STR_MENU_PART_RESIZE":"Inštalacija brez brisanja.",
|
||||
"STR_PART_RESIZE_TIP":"Ventoy bo poskusil inštalacijo brez brisanja podatkov. #@Nadaljujem?",
|
||||
"STR_PART_RESIZE_SUCCESS":"Čestitke!#@Ventoy je bil uspešno nameščen.",
|
||||
"STR_PART_RESIZE_FAILED":"Inštalacija ni uspela, preveri log.txt za podrobnosti.",
|
||||
"STR_PART_RESIZE_UNSUPPORTED":"Ventoy je ustavil inštalacijo ker nekateri pogoji niso zadostni. Preveri log.txt a podrobnosti.",
|
||||
"STR_INSTALL_YES_TIP1":"Pozor: Podatki bodo izbrisani!",
|
||||
"STR_INSTALL_YES_TIP2":"Prosim vtipkajte YES v spodnje okno da potrdite čisto inštalacijo in ne zgolj nadgradnje.",
|
||||
"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_DONATE":"Donirajte",
|
||||
"STR_4KN_UNSUPPORTED":"Currently Ventoy does not support 4K native devices.",
|
||||
|
||||
"STRXXX":""
|
||||
},
|
||||
{
|
||||
"name":"Bulgarian (Български)",
|
||||
"FontFamily":"Segoe",
|
||||
@@ -3313,6 +3378,71 @@
|
||||
"STR_DONATE":"Ахвяраваць",
|
||||
"STR_4KN_UNSUPPORTED":"Зараз Ventoy не падтрымлівае ўласныя прылады 4K.",
|
||||
|
||||
"STRXXX":""
|
||||
},
|
||||
{
|
||||
"name":"Malayalam (മലയാളം)",
|
||||
"FontFamily":"Courier New",
|
||||
"FontSize":16,
|
||||
"Author":"SIDDHARTH K P",
|
||||
|
||||
"STR_ERROR":"പിശക്",
|
||||
"STR_WARNING":"മുന്നറിയിപ്പ്",
|
||||
"STR_INFO":"വിവരം",
|
||||
"STR_INCORRECT_DIR":"ദയവായി ശരിയായ ഡയറക്ടറിയിൽ പ്രവർത്തിപ്പിക്കുക!",
|
||||
"STR_INCORRECT_TREE_DIR":"എന്നെ ഇവിടെ പ്രവർത്തിപ്പിക്കരുത്, ദയവായി ഇൻസ്റ്റാളേഷൻ പാക്കേജ് ഡൗൺലോഡ് ചെയ്ത് അവിടെ പ്രവർത്തിപ്പിക്കുക.",
|
||||
"STR_DEVICE":"ഉപകരണം",
|
||||
"STR_LOCAL_VER":"പാക്കേജിലെ വെൻ്റോയ്",
|
||||
"STR_DISK_VER":"ഉപകരണത്തിലെ വെൻ്റോയ്",
|
||||
"STR_STATUS":"നില - തയ്യാറാണ്",
|
||||
"STR_INSTALL":"ഇൻസ്റ്റാൾ ചെയ്യുക",
|
||||
"STR_UPDATE":"അപ്ഡേറ്റ് ചെയ്യുക",
|
||||
"STR_UPDATE_TIP":"അപ്ഡേറ്റ് പ്രവർത്തനം സുരക്ഷിതമാണ്, ISO ഫയലുകൾ മാറ്റമില്ലാതെ തുടരും.#@തുടരട്ടേ?",
|
||||
"STR_INSTALL_TIP":"ഡിസ്ക് ഫോർമാറ്റ് ചെയ്യപ്പെടും, എല്ലാ ഡാറ്റയും നഷ്ടപ്പെടും.#@തുടരട്ടേ?",
|
||||
"STR_INSTALL_TIP2":"ഡിസ്ക് ഫോർമാറ്റ് ചെയ്യപ്പെടും, എല്ലാ ഡാറ്റയും നഷ്ടപ്പെടും.#@തുടരട്ടേ? (ഒന്നുകൂടി ഉറപ്പിക്കുക)",
|
||||
"STR_INSTALL_SUCCESS":"അഭിനന്ദനങ്ങൾ!#@വെൻ്റോയ് ഉപകരണത്തിൽ വിജയകരമായി ഇൻസ്റ്റാൾ ചെയ്തു.",
|
||||
"STR_INSTALL_FAILED":"ഇൻസ്റ്റാളേഷൻ സമയത്ത് ഒരു പിശക് സംഭവിച്ചു. നിങ്ങൾക്ക് യുഎസ്ബി ഉപകരണം വീണ്ടും ഘടിപ്പിച്ച് വീണ്ടും ശ്രമിക്കാവുന്നതാണ്. വിവരങ്ങൾക്കായി log.txt പരിശോധിക്കുക.",
|
||||
"STR_UPDATE_SUCCESS":"അഭിനന്ദനങ്ങൾ!#@വെൻ്റോയ് ഉപകരണത്തിൽ വിജയകരമായി അപ്ഡേറ്റ് ചെയ്തു.",
|
||||
"STR_UPDATE_FAILED":"അപ്ഡേറ്റ് ചെയ്യുമ്പോൾ ഒരു പിശക് സംഭവിച്ചു. നിങ്ങൾക്ക് യുഎസ്ബി ഉപകരണം വീണ്ടും ഘടിപ്പിച്ച് വീണ്ടും ശ്രമിക്കാവുന്നതാണ്. വിവരങ്ങൾക്കായി log.txt പരിശോധിക്കുക.",
|
||||
"STR_WAIT_PROCESS":"ഒരു പ്രവർത്തനം പുരോഗമിക്കുന്നു, ദയവായി കാത്തിരിക്കുക...",
|
||||
"STR_MENU_OPTION":"ഓപ്ഷനുകൾ",
|
||||
"STR_MENU_SECURE_BOOT":"സുരക്ഷിത ബൂട്ട് പിന്തുണ",
|
||||
"STR_MENU_PART_CFG":"പാർട്ടീഷൻ കോൺഫിഗറേഷൻ",
|
||||
"STR_BTN_OK":"ശരി",
|
||||
"STR_BTN_CANCEL":"റദ്ദാക്കുക",
|
||||
"STR_PRESERVE_SPACE":"ഡിസ്കിൻ്റെ അവസാനം കുറച്ച് സ്ഥലം ഒഴിച്ചിടുക",
|
||||
"STR_SPACE_VAL_INVALID":"സംവരണം ചെയ്ത സ്ഥലത്തിന് അസാധുവായ മൂല്യം",
|
||||
"STR_MENU_CLEAR":"വെൻ്റോയ് നീക്കംചെയ്യുക",
|
||||
"STR_CLEAR_SUCCESS":"ഉപകരണത്തിൽ നിന്ന് വെൻ്റോയ് വിജയകരമായി നീക്കംചെയ്തു.",
|
||||
"STR_CLEAR_FAILED":"ഡിസ്കിൽ നിന്ന് വെൻ്റോയ് നീക്കം ചെയ്യുമ്പോൾ ഒരു പിശക് സംഭവിച്ചു. നിങ്ങൾക്ക് യുഎസ്ബി ഉപകരണം വീണ്ടും ഘടിപ്പിച്ച് വീണ്ടും ശ്രമിക്കാവുന്നതാണ്. വിവരങ്ങൾക്കായി log.txt പരിശോധിക്കുക.",
|
||||
"STR_MENU_PART_STYLE":"പാർട്ടീഷൻ രീതി",
|
||||
"STR_DISK_2TB_MBR_ERROR":"2TB-യിൽ കൂടുതൽ വലുപ്പമുള്ള ഡിസ്കിനായി ദയവായി GPT തിരഞ്ഞെടുക്കുക",
|
||||
"STR_SHOW_ALL_DEV":"എല്ലാ ഉപകരണങ്ങളും കാണിക്കുക",
|
||||
"STR_PART_ALIGN_4KB":"പാർട്ടീഷനുകൾ 4KB ഉപയോഗിച്ച് വിന്യസിക്കുക",
|
||||
"STR_WEB_COMMUNICATION_ERR":"ആശയവിനിമയ പിശക്:",
|
||||
"STR_WEB_REMOTE_ABNORMAL":"ആശയവിനിമയ പിശക്: റിമോട്ട് തകരാറ്",
|
||||
"STR_WEB_REQUEST_TIMEOUT":"ആശയവിനിമയ പിശക്: അഭ്യർത്ഥനയുടെ സമയം കഴിഞ്ഞു",
|
||||
"STR_WEB_SERVICE_UNAVAILABLE":"ആശയവിനിമയ പിശക്: സേവനം ലഭ്യമല്ല",
|
||||
"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+) ഉപയോഗിച്ച് ഇത് ഉപകരണത്തിലേക്ക് എഴുതാം.",
|
||||
"STR_VTSI_CREATE_FAILED":"VTSI ഫയൽ നിർമ്മാണം പരാജയപ്പെട്ടു.",
|
||||
"STR_MENU_PART_RESIZE":"ഡാറ്റാ നഷ്ടപ്പെടാതെയുള്ള ഇൻസ്റ്റാളേഷൻ",
|
||||
"STR_PART_RESIZE_TIP":"സാധ്യമെങ്കിൽ, ഡാറ്റാ നഷ്ടപ്പെടാതെയുള്ള ഇൻസ്റ്റാളേഷൻ വെൻ്റോയ് ശ്രമിക്കും. #@തുടരട്ടേ?",
|
||||
"STR_PART_RESIZE_SUCCESS":"അഭിനന്ദനങ്ങൾ!#@വെൻ്റോയ് ഡാറ്റാ നഷ്ടപ്പെടാതെയുള്ള ഇൻസ്റ്റാളേഷൻ വിജയകരമായി പൂർത്തിയാക്കി.",
|
||||
"STR_PART_RESIZE_FAILED":"ഡാറ്റാ നഷ്ടപ്പെടാതെയുള്ള ഇൻസ്റ്റാളേഷൻ പരാജയപ്പെട്ടു, വിശദാംശങ്ങൾക്കായി log.txt പരിശോധിക്കുക.",
|
||||
"STR_PART_RESIZE_UNSUPPORTED":"ചില വ്യവസ്ഥകൾ പാലിക്കാൻ കഴിയാത്തതിനാൽ വെൻ്റോയ് ഡാറ്റാ നഷ്ടപ്പെടാതെയുള്ള ഇൻസ്റ്റാളേഷൻ നിർത്തി. വിശദാംശങ്ങൾക്കായി log.txt പരിശോധിക്കുക.",
|
||||
"STR_INSTALL_YES_TIP1":"മുന്നറിയിപ്പ്: ഡാറ്റ നഷ്ടപ്പെടും!",
|
||||
"STR_INSTALL_YES_TIP2":"അപ്ഗ്രേഡിന് പകരം ഒരു പുതിയ ഇൻസ്റ്റാളേഷൻ നടത്താൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെന്ന് സ്ഥിരീകരിക്കുന്നതിന് ദയവായി താഴെയുള്ള ടെക്സ്റ്റ് ബോക്സിൽ YES എന്ന് നൽകുക.",
|
||||
"STR_PART_VENTOY_FS":"വെൻ്റോയ് പാർട്ടീഷനായുള്ള ഫയൽ സിസ്റ്റം",
|
||||
"STR_PART_FS":"ഫയൽ സിസ്റ്റം",
|
||||
"STR_PART_CLUSTER":"ക്ലസ്റ്റർ വലുപ്പം",
|
||||
"STR_PART_CLUSTER_DEFAULT":"സിസ്റ്റം ഡിഫോൾട്ട് മൂല്യം",
|
||||
"STR_DONATE":"സംഭാവന ചെയ്യുക",
|
||||
"STR_4KN_UNSUPPORTED":"നിലവിൽ വെൻ്റോയ് 4K നേറ്റീവ് ഉപകരണങ്ങളെ പിന്തുണയ്ക്കുന്നില്ല.",
|
||||
|
||||
"STRXXX":""
|
||||
}
|
||||
]
|
||||
|
||||
@@ -1221,6 +1221,7 @@ int real_main(int argc, char **argv)
|
||||
int ret;
|
||||
int euid;
|
||||
char *exe = NULL;
|
||||
const char *env = NULL;
|
||||
char path[PATH_MAX];
|
||||
char curpath[PATH_MAX];
|
||||
|
||||
@@ -1270,6 +1271,18 @@ int real_main(int argc, char **argv)
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (strstr(path, "gtk"))
|
||||
{
|
||||
env = getenv("XDG_SESSION_TYPE");
|
||||
vlog("=== XDG_SESSION_TYPE is <%s> ===\n", env ? env : "NULL");
|
||||
|
||||
if (env && strncasecmp(env, "wayland", 7) == 0)
|
||||
{
|
||||
vlog("Force GDK_BACKEND from %s to x11 for better compatibility\n", env);
|
||||
setenv("GDK_BACKEND", "x11", 1);
|
||||
}
|
||||
}
|
||||
|
||||
if (euid == 0)
|
||||
{
|
||||
vlog("We have root privileges, just exec %s\n", path);
|
||||
|
||||
@@ -12,8 +12,8 @@
|
||||
|
||||
<h4 align="left">
|
||||
Ventoy is an open source tool to create bootable USB drive for ISO/WIM/IMG/VHD(x)/EFI files. <br/>
|
||||
With ventoy, you don't need to format the disk over and over, just copy the image files to the USB drive and boot them.
|
||||
You can copy many image files at a time and ventoy will give you a boot menu to select them. <br/>
|
||||
With Ventoy, you don't need to format the disk over and over, just copy the image files to the USB drive and boot them.
|
||||
You can copy many image files at a time and Ventoy will give you a boot menu to select them. <br/>
|
||||
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/>
|
||||
@@ -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, Windows Server 2025, WinPE
|
||||
|
||||
**Linux**
|
||||
Debian, Ubuntu, CentOS(6/7/8/9/10), RHEL(6/7/8/9/10), 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, Tiny 11, chimera linux, CuteFish, DragonOs, Rhino Linux, vanilladpup, crystal, IGELOS, MiniOS, gnoppix, PikaOS, UwUntu, Noble, PocketHandyBox, DiskGenius, Commodore, Talos, Shebang Linux, hrmpf, Bazzite, ManualLinux, nyarchlinux, ultramarine, TempleOS, bluefin, Damn Small Linux, Kicksecure, SerentiyOS, ......
|
||||
Debian, Ubuntu, CentOS(6/7/8/9/10), RHEL(6/7/8/9/10), 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, Tiny 11, chimera linux, CuteFish, DragonOs, Rhino Linux, vanilladpup, crystal, IGELOS, MiniOS, gnoppix, PikaOS, UwUntu, Noble, PocketHandyBox, DiskGenius, Commodore, Talos, Shebang Linux, hrmpf, Bazzite, ManualLinux, nyarchlinux, ultramarine, TempleOS, bluefin, Damn Small Linux, Kicksecure, SerentiyOS, AerynOS, ......
|
||||
|
||||
**Unix**
|
||||
DragonFly, FreeBSD, pfSense, OPNsense, GhostBSD, FreeNAS, TrueNAS, XigmaNAS, FuryBSD, HardenedBSD, MidnightBSD, ClonOS, EmergencyBootKit, helloSystem
|
||||
|
||||
@@ -2785,6 +2785,40 @@ static BOOL WriteBackupDataToDisk(HANDLE hDrive, UINT64 Offset, BYTE *Data, DWOR
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int DeleteVtoyEFIMountPoint(int PhyDrive)
|
||||
{
|
||||
int i = 0;
|
||||
BOOL bRet;
|
||||
CHAR DriveLetters[MAX_PATH] = { 0 };
|
||||
CHAR DriveName[] = "?:\\";
|
||||
|
||||
Log("Try to delete VtoyEFI mount point for PhyDrive %d\n", PhyDrive);
|
||||
|
||||
GetLettersBelongPhyDrive(PhyDrive, DriveLetters, sizeof(DriveLetters));
|
||||
|
||||
if (DriveLetters[0] == 0)
|
||||
{
|
||||
Log("No drive letter was assigned...");
|
||||
}
|
||||
else
|
||||
{
|
||||
// Unmount all mounted volumes that belong to this drive
|
||||
// Do it in reverse so that we always end on the first volume letter
|
||||
for (i = (int)strlen(DriveLetters); i > 0; i--)
|
||||
{
|
||||
DriveName[0] = DriveLetters[i - 1];
|
||||
if (IsVentoyLogicalDrive(DriveName[0]))
|
||||
{
|
||||
Log("%s is ventoy logical drive", DriveName);
|
||||
bRet = DeleteVolumeMountPointA(DriveName);
|
||||
Log("Delete mountpoint %s ret:%u code:%u", DriveName, bRet, LASTERR);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int UpdateVentoy2PhyDrive(PHY_DRIVE_INFO *pPhyDrive, int TryId)
|
||||
{
|
||||
@@ -2874,28 +2908,7 @@ int UpdateVentoy2PhyDrive(PHY_DRIVE_INFO *pPhyDrive, int TryId)
|
||||
SetFilePointer(hDrive, 512 * 2040, NULL, FILE_BEGIN);
|
||||
ReadFile(hDrive, ReservedData, sizeof(ReservedData), &dwSize, NULL);
|
||||
|
||||
GetLettersBelongPhyDrive(pPhyDrive->PhyDrive, DriveLetters, sizeof(DriveLetters));
|
||||
|
||||
if (DriveLetters[0] == 0)
|
||||
{
|
||||
Log("No drive letter was assigned...");
|
||||
}
|
||||
else
|
||||
{
|
||||
// Unmount all mounted volumes that belong to this drive
|
||||
// Do it in reverse so that we always end on the first volume letter
|
||||
for (i = (int)strlen(DriveLetters); i > 0; i--)
|
||||
{
|
||||
DriveName[0] = DriveLetters[i - 1];
|
||||
if (IsVentoyLogicalDrive(DriveName[0]))
|
||||
{
|
||||
Log("%s is ventoy logical drive", DriveName);
|
||||
bRet = DeleteVolumeMountPointA(DriveName);
|
||||
Log("Delete mountpoint %s ret:%u code:%u", DriveName, bRet, LASTERR);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
DeleteVtoyEFIMountPoint(pPhyDrive->PhyDrive);
|
||||
|
||||
// It kind of blows, but we have to relinquish access to the physical drive
|
||||
// for VDS to be able to delete the partitions that reside on it...
|
||||
@@ -3270,6 +3283,9 @@ End:
|
||||
{
|
||||
Log("Change EFI partition attr success");
|
||||
pPhyDrive->Part2GPTAttr = VENTOY_EFI_PART_ATTR;
|
||||
|
||||
Sleep(1000);
|
||||
DeleteVtoyEFIMountPoint(pPhyDrive->PhyDrive);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -2214,6 +2214,10 @@ static int Windows11Bypass(const char *isofile, const char MntLetter, UINT8 Chec
|
||||
goto End;
|
||||
}
|
||||
|
||||
//bugfix: change VTOYEFI partition attribute
|
||||
|
||||
|
||||
|
||||
//Now we really need to bypass windows 11 check. create registry
|
||||
|
||||
if (Check)
|
||||
@@ -2390,6 +2394,45 @@ static int MountVTLRI(CHAR *ImgPath, DWORD PhyDrive)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static BOOL FindVentoyDiskBySig(UINT32 VtoySig, DWORD* pDiskNum)
|
||||
{
|
||||
HANDLE Handle;
|
||||
DWORD dwSize = 0;
|
||||
CHAR PhyPath[128];
|
||||
UINT8 SectorBuf[512];
|
||||
|
||||
Log("Find Ventoy Disk by Sig %08x ...", VtoySig);
|
||||
|
||||
for (int DiskNum = 0; DiskNum < 32; DiskNum++)
|
||||
{
|
||||
sprintf_s(PhyPath, sizeof(PhyPath), "\\\\.\\PhysicalDrive%d", DiskNum);
|
||||
Handle = CreateFileA(PhyPath, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, 0, OPEN_EXISTING, 0, 0);
|
||||
if (Handle == INVALID_HANDLE_VALUE)
|
||||
{
|
||||
Log("Could not open the disk<%s>, error:%u", PhyPath, GetLastError());
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!ReadFile(Handle, SectorBuf, sizeof(SectorBuf), &dwSize, NULL))
|
||||
{
|
||||
Log("ReadFile failed, dwSize:%u error:%u", dwSize, GetLastError());
|
||||
CloseHandle(Handle);
|
||||
continue;
|
||||
}
|
||||
|
||||
CloseHandle(Handle);
|
||||
|
||||
if (*(UINT32*)(SectorBuf + 0x1B8) == VtoySig)
|
||||
{
|
||||
Log("%s sig match ...", PhyPath);
|
||||
*pDiskNum = DiskNum;
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static int VentoyHook(ventoy_os_param *param)
|
||||
{
|
||||
int i;
|
||||
@@ -2476,11 +2519,11 @@ static int VentoyHook(ventoy_os_param *param)
|
||||
if (g_os_param_reserved[6] == 1)
|
||||
{
|
||||
memcpy(&VtoySig, g_os_param_reserved + 7, 4);
|
||||
for (i = 0; i < 5; i++)
|
||||
for (i = 0; i < 3; i++)
|
||||
{
|
||||
VtoyLetter = 'A';
|
||||
Drives = GetLogicalDrives();
|
||||
Log("Logic Drives: 0x%x VentoySig:%08X", Drives, VtoySig);
|
||||
Log("[%d] Logic Drives: 0x%x VentoySig:%08X", i, Drives, VtoySig);
|
||||
|
||||
while (Drives)
|
||||
{
|
||||
@@ -2489,12 +2532,13 @@ static int VentoyHook(ventoy_os_param *param)
|
||||
memset(UUID, 0, sizeof(UUID));
|
||||
memset(&VtoyDiskExtent, 0, sizeof(VtoyDiskExtent));
|
||||
DiskSig = 0;
|
||||
|
||||
if (GetPhyDiskUUID(VtoyLetter, UUID, &DiskSig, &VtoyDiskExtent) == 0)
|
||||
{
|
||||
Log("DiskSig=%08X PartStart=%lld", DiskSig, VtoyDiskExtent.StartingOffset.QuadPart);
|
||||
Log("[%d] DiskSig=%08X PartStart=%lld", i, DiskSig, VtoyDiskExtent.StartingOffset.QuadPart);
|
||||
if (DiskSig == VtoySig && VtoyDiskExtent.StartingOffset.QuadPart == SIZE_1MB)
|
||||
{
|
||||
Log("Ventoy Disk Sig match");
|
||||
Log("Ventoy Disk Sig and offset match");
|
||||
vtoyfind = TRUE;
|
||||
break;
|
||||
}
|
||||
@@ -2517,6 +2561,13 @@ static int VentoyHook(ventoy_os_param *param)
|
||||
}
|
||||
}
|
||||
|
||||
if (vtoyfind == FALSE) // vlnk mode Ventoy partition has no letter
|
||||
{
|
||||
Log("Warning: Ventoy partition has no drive letter, assume C: and find by sig");
|
||||
VtoyLetter = 'C';
|
||||
vtoyfind = FindVentoyDiskBySig(VtoySig, &VtoyDiskExtent.DiskNumber);
|
||||
}
|
||||
|
||||
if (vtoyfind == FALSE)
|
||||
{
|
||||
Log("Failed to find ventoy disk");
|
||||
|
||||
Reference in New Issue
Block a user