From e47e4484ceda974e3fb7d3ee16b6aa1863d84d65 Mon Sep 17 00:00:00 2001 From: longpanda Date: Mon, 25 Oct 2021 20:38:04 +0800 Subject: [PATCH 01/16] Optimization for Ventoy2Disk.exe --- INSTALL/Ventoy2Disk.exe | Bin 347648 -> 332800 bytes Ventoy2Disk/Ventoy2Disk/PhyDrive.c | 60 +++++++++++++++++++++++++++-- 2 files changed, 57 insertions(+), 3 deletions(-) diff --git a/INSTALL/Ventoy2Disk.exe b/INSTALL/Ventoy2Disk.exe index 4f66a011d1287637ad03f18a3519321820d7f55a..6c068b82b4b4bea5967252a06b1141e69090521a 100644 GIT binary patch delta 66879 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 diff --git a/Ventoy2Disk/Ventoy2Disk/PhyDrive.c b/Ventoy2Disk/Ventoy2Disk/PhyDrive.c index 343866d..02c9c93 100644 --- a/Ventoy2Disk/Ventoy2Disk/PhyDrive.c +++ b/Ventoy2Disk/Ventoy2Disk/PhyDrive.c @@ -1660,9 +1660,7 @@ int InstallVentoy2PhyDrive(PHY_DRIVE_INFO *pPhyDrive, int PartStyle, int TryId) if (!VDS_DeleteAllPartitions(pPhyDrive->PhyDrive)) { - Log("Notice: Could not delete partitions: 0x%x", GetLastError()); - rc = 1; - goto End; + Log("Notice: Could not delete partitions: 0x%x, but we continue.", GetLastError()); } Log("Deleting all partitions ......................... OK"); @@ -1838,6 +1836,7 @@ static BOOL BackupDataBeforeCleanDisk(int PhyDrive, UINT64 DiskSize, BYTE **pBac BOOL ret = FALSE; BYTE *backup = NULL; UINT64 offset; + BYTE Buffer[512]; HANDLE hDrive = INVALID_HANDLE_VALUE; LARGE_INTEGER liCurPosition; LARGE_INTEGER liNewPosition; @@ -1845,6 +1844,54 @@ static BOOL BackupDataBeforeCleanDisk(int PhyDrive, UINT64 DiskSize, BYTE **pBac Log("BackupDataBeforeCleanDisk %d", PhyDrive); + // step1: check write access + hDrive = GetPhysicalHandle(PhyDrive, TRUE, TRUE, FALSE); + if (hDrive == INVALID_HANDLE_VALUE) + { + Log("Failed to GetPhysicalHandle for write."); + goto out; + } + + liCurPosition.QuadPart = 2039 * 512; + liNewPosition.QuadPart = 0; + if (0 == SetFilePointerEx(hDrive, liCurPosition, &liNewPosition, FILE_BEGIN) || + liNewPosition.QuadPart != liCurPosition.QuadPart) + { + Log("SetFilePointer1 Failed %u", LASTERR); + goto out; + } + + + dwSize = 0; + ret = ReadFile(hDrive, Buffer, 512, &dwSize, NULL); + if ((!ret) || (dwSize != 512)) + { + Log("Failed to read %d %u 0x%x", ret, dwSize, LASTERR); + goto out; + } + + + liCurPosition.QuadPart = 2039 * 512; + liNewPosition.QuadPart = 0; + if (0 == SetFilePointerEx(hDrive, liCurPosition, &liNewPosition, FILE_BEGIN) || + liNewPosition.QuadPart != liCurPosition.QuadPart) + { + Log("SetFilePointer2 Failed %u", LASTERR); + goto out; + } + + ret = WriteFile(hDrive, Buffer, 512, &dwSize, NULL); + if ((!ret) || dwSize != 512) + { + Log("Failed to write %d %u %u", ret, dwSize, LASTERR); + goto out; + } + + CHECK_CLOSE_HANDLE(hDrive); + Log("Write access check success"); + + + //step2 backup 4MB data backup = malloc(SIZE_1MB * 4); if (!backup) { @@ -2334,6 +2381,13 @@ int UpdateVentoy2PhyDrive(PHY_DRIVE_INFO *pPhyDrive, int TryId) End: + if (hVolume != INVALID_HANDLE_VALUE) + { + bRet = DeviceIoControl(hVolume, FSCTL_UNLOCK_VOLUME, NULL, 0, NULL, 0, &dwSize, NULL); + Log("FSCTL_UNLOCK_VOLUME bRet:%u code:%u", bRet, LASTERR); + CHECK_CLOSE_HANDLE(hVolume); + } + if (rc == 0) { Log("OK"); -- 2.47.3 From 5fcb3971bc5e9fe67114273815fe2d9e69e54fcf Mon Sep 17 00:00:00 2001 From: longpanda Date: Tue, 26 Oct 2021 09:18:41 +0800 Subject: [PATCH 02/16] Optimization for Ventoy2Disk.exe --- INSTALL/Ventoy2Disk.exe | Bin 332800 -> 349696 bytes Ventoy2Disk/Ventoy2Disk/PhyDrive.c | 96 +++++++++++++++++++--------- Ventoy2Disk/Ventoy2Disk/WinDialog.c | Bin 76666 -> 77072 bytes 3 files changed, 66 insertions(+), 30 deletions(-) diff --git a/INSTALL/Ventoy2Disk.exe b/INSTALL/Ventoy2Disk.exe index 6c068b82b4b4bea5967252a06b1141e69090521a..895af0342d36ae6f222b7b41cf5de12c60dcb5c7 100644 GIT binary patch delta 83475 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", TryId, PartStyle ? "GPT" : "MBR", pPhyDrive->PhyDrive, pPhyDrive->VendorId, pPhyDrive->ProductId, GetHumanReadableGBSize(pPhyDrive->SizeInBytes)); + Log("#####################################################"); if (PartStyle) { @@ -1828,29 +1830,14 @@ End: return rc; } -static BOOL BackupDataBeforeCleanDisk(int PhyDrive, UINT64 DiskSize, BYTE **pBackup) +static BOOL DiskCheckWriteAccess(HANDLE hDrive) { DWORD dwSize; - DWORD dwStatus; - BOOL Return = FALSE; BOOL ret = FALSE; - BYTE *backup = NULL; - UINT64 offset; + BOOL bRet = FALSE; BYTE Buffer[512]; - HANDLE hDrive = INVALID_HANDLE_VALUE; LARGE_INTEGER liCurPosition; LARGE_INTEGER liNewPosition; - VTOY_GPT_INFO *pGPT = NULL; - - Log("BackupDataBeforeCleanDisk %d", PhyDrive); - - // step1: check write access - hDrive = GetPhysicalHandle(PhyDrive, TRUE, TRUE, FALSE); - if (hDrive == INVALID_HANDLE_VALUE) - { - Log("Failed to GetPhysicalHandle for write."); - goto out; - } liCurPosition.QuadPart = 2039 * 512; liNewPosition.QuadPart = 0; @@ -1860,7 +1847,7 @@ static BOOL BackupDataBeforeCleanDisk(int PhyDrive, UINT64 DiskSize, BYTE **pBac Log("SetFilePointer1 Failed %u", LASTERR); goto out; } - + dwSize = 0; ret = ReadFile(hDrive, Buffer, 512, &dwSize, NULL); @@ -1880,6 +1867,7 @@ static BOOL BackupDataBeforeCleanDisk(int PhyDrive, UINT64 DiskSize, BYTE **pBac goto out; } + dwSize = 0; ret = WriteFile(hDrive, Buffer, 512, &dwSize, NULL); if ((!ret) || dwSize != 512) { @@ -1887,9 +1875,46 @@ static BOOL BackupDataBeforeCleanDisk(int PhyDrive, UINT64 DiskSize, BYTE **pBac goto out; } - CHECK_CLOSE_HANDLE(hDrive); - Log("Write access check success"); + bRet = TRUE; + +out: + + return bRet; +} + +static BOOL BackupDataBeforeCleanDisk(int PhyDrive, UINT64 DiskSize, BYTE **pBackup) +{ + DWORD dwSize; + DWORD dwStatus; + BOOL Return = FALSE; + BOOL ret = FALSE; + BYTE *backup = NULL; + UINT64 offset; + HANDLE hDrive = INVALID_HANDLE_VALUE; + LARGE_INTEGER liCurPosition; + LARGE_INTEGER liNewPosition; + VTOY_GPT_INFO *pGPT = NULL; + + Log("BackupDataBeforeCleanDisk %d", PhyDrive); + + // step1: check write access + hDrive = GetPhysicalHandle(PhyDrive, TRUE, TRUE, FALSE); + if (hDrive == INVALID_HANDLE_VALUE) + { + Log("Failed to GetPhysicalHandle for write."); + goto out; + } + if (DiskCheckWriteAccess(hDrive)) + { + Log("DiskCheckWriteAccess success"); + CHECK_CLOSE_HANDLE(hDrive); + } + else + { + Log("DiskCheckWriteAccess failed"); + goto out; + } //step2 backup 4MB data backup = malloc(SIZE_1MB * 4); @@ -2016,9 +2041,11 @@ int UpdateVentoy2PhyDrive(PHY_DRIVE_INFO *pPhyDrive, int TryId) VTOY_GPT_INFO *pGptInfo = NULL; UINT8 ReservedData[4096]; + Log("#####################################################"); Log("UpdateVentoy2PhyDrive try%d %s PhyDrive%d <<%s %s %dGB>>", TryId, pPhyDrive->PartStyle ? "GPT" : "MBR", pPhyDrive->PhyDrive, pPhyDrive->VendorId, pPhyDrive->ProductId, GetHumanReadableGBSize(pPhyDrive->SizeInBytes)); + Log("#####################################################"); PROGRESS_BAR_SET_POS(PT_LOCK_FOR_CLEAN); @@ -2262,20 +2289,29 @@ int UpdateVentoy2PhyDrive(PHY_DRIVE_INFO *pPhyDrive, int TryId) { if (pPhyDrive->PartStyle == 0) { - ForceMBR = TRUE; + if (DiskCheckWriteAccess(hDrive)) + { + Log("MBR DiskCheckWriteAccess success"); - Log("Try write failed, now delete partition 2 for MBR..."); - CHECK_CLOSE_HANDLE(hDrive); + ForceMBR = TRUE; - Log("Now delete partition 2..."); - VDS_DeleteVtoyEFIPartition(pPhyDrive->PhyDrive); + Log("Try write failed, now delete partition 2 for MBR..."); + CHECK_CLOSE_HANDLE(hDrive); - hDrive = GetPhysicalHandle(pPhyDrive->PhyDrive, TRUE, TRUE, FALSE); - if (hDrive == INVALID_HANDLE_VALUE) + Log("Now delete partition 2..."); + VDS_DeleteVtoyEFIPartition(pPhyDrive->PhyDrive); + + hDrive = GetPhysicalHandle(pPhyDrive->PhyDrive, TRUE, TRUE, FALSE); + if (hDrive == INVALID_HANDLE_VALUE) + { + Log("Failed to GetPhysicalHandle for write."); + rc = 1; + goto End; + } + } + else { - Log("Failed to GetPhysicalHandle for write."); - rc = 1; - goto End; + Log("MBR DiskCheckWriteAccess failed"); } } else diff --git a/Ventoy2Disk/Ventoy2Disk/WinDialog.c b/Ventoy2Disk/Ventoy2Disk/WinDialog.c index 564978d1ee510d1544140f3a8b755d8853977beb..37850f4bd7611b622318b64c9fae43354b9180ba 100644 GIT binary patch delta 145 zcmex$jb*|umWC~ieHx6M)2C`M`cFTg!KeZ!WQ1cF@)(pDIDwFtfeTD4P2Z@&7|gE0 zpvq9ppgEmUlhKkNq6$TYG29S@acta53_37_CP&K1PF}aqYh}m?4uPpCNDhM=i$c>1(tZdA8SSGfrXz03&r5(EtDd -- 2.47.3 From eb8fcc8f3005c0616b31d26c769f7c862b984dfe Mon Sep 17 00:00:00 2001 From: longpanda Date: Tue, 26 Oct 2021 10:37:41 +0800 Subject: [PATCH 03/16] Add hr_HR/sr_CY/sr_SR languages for help information. --- INSTALL/grub/help/hr_HR.txt | 16 ++++++++++++++++ INSTALL/grub/help/sr_CY.txt | 16 ++++++++++++++++ INSTALL/grub/help/sr_SR.txt | 16 ++++++++++++++++ 3 files changed, 48 insertions(+) create mode 100644 INSTALL/grub/help/hr_HR.txt create mode 100644 INSTALL/grub/help/sr_CY.txt create mode 100644 INSTALL/grub/help/sr_SR.txt diff --git a/INSTALL/grub/help/hr_HR.txt b/INSTALL/grub/help/hr_HR.txt new file mode 100644 index 0000000..08f887a --- /dev/null +++ b/INSTALL/grub/help/hr_HR.txt @@ -0,0 +1,16 @@ + h - Prikazuje ove informacije +F1 - Memdisk način rada (samo za male WinPE/LiveCD imidž fajlove) +F2 - Ponovno pokretanje/isključivanje +F3 - Mijenja meni između TreeView <-> ListView +F4 - Pokreće Windows/Linux na lokalnom disku +F5 - Postavke +F6 - Učitava prilagođen GRUB2 meni +F7 - Mijenja između GUI načina rada <-> TEXT načina rada + +m - Generira kontrolnu sumu odabranog imidž fajla (md5/sha1/sha256/sha512) +Ctrl + w - WIMBOOT način rada (samo za standardne Windows imidž fajlove) +Ctrl + r - GRUB2 način rada (samo za neke Linux distribucije) +Ctrl + i - Kompatibilni način rada (samo za testiranje) + + +Pritisnite ESC za povratak... diff --git a/INSTALL/grub/help/sr_CY.txt b/INSTALL/grub/help/sr_CY.txt new file mode 100644 index 0000000..47b1078 --- /dev/null +++ b/INSTALL/grub/help/sr_CY.txt @@ -0,0 +1,16 @@ + h - Приказује ове информације +F1 - Memdisk начин рада (само за мале WinPE/LiveCD имиџ фајлове) +F2 - Поновно покретање/искључивање +F3 - Мијења мени између TreeView <-> ListView +F4 - Покреће Windows/Linux на локалном диску +F5 - Поставке +F6 - Учитава прилагођен GRUB2 мени +F7 - Мијења између GUI начина рада <-> TEXT начина рада + +m - Генерира контролну суму одабраног имиџ фајла (md5/sha1/sha256/sha512) +Ctrl + w - WIMBOOT начин рада (само за стандардне Windows имиџ фајлове) +Ctrl + r - GRUB2 начин рада (само за неке Linux дистрибуције) +Ctrl + i - Компатибилни начин рада (само за тестиранје) + + +Притисните ESC за повратак... diff --git a/INSTALL/grub/help/sr_SR.txt b/INSTALL/grub/help/sr_SR.txt new file mode 100644 index 0000000..08f887a --- /dev/null +++ b/INSTALL/grub/help/sr_SR.txt @@ -0,0 +1,16 @@ + h - Prikazuje ove informacije +F1 - Memdisk način rada (samo za male WinPE/LiveCD imidž fajlove) +F2 - Ponovno pokretanje/isključivanje +F3 - Mijenja meni između TreeView <-> ListView +F4 - Pokreće Windows/Linux na lokalnom disku +F5 - Postavke +F6 - Učitava prilagođen GRUB2 meni +F7 - Mijenja između GUI načina rada <-> TEXT načina rada + +m - Generira kontrolnu sumu odabranog imidž fajla (md5/sha1/sha256/sha512) +Ctrl + w - WIMBOOT način rada (samo za standardne Windows imidž fajlove) +Ctrl + r - GRUB2 način rada (samo za neke Linux distribucije) +Ctrl + i - Kompatibilni način rada (samo za testiranje) + + +Pritisnite ESC za povratak... -- 2.47.3 From 09162e8d9704d82034cfa991dad37e2e0310d015 Mon Sep 17 00:00:00 2001 From: longpanda Date: Wed, 27 Oct 2021 20:08:47 +0800 Subject: [PATCH 04/16] Improvement for multi-mode option. Now you can use for example theme_uefi and theme at the same time. --- .../grub-2.04/grub-core/ventoy/ventoy_def.h | 1 + .../grub-core/ventoy/ventoy_plugin.c | 50 +++++++++++-------- 2 files changed, 31 insertions(+), 20 deletions(-) diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_def.h b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_def.h index 82a5754..9c41c88 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_def.h +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_def.h @@ -550,6 +550,7 @@ typedef struct plugin_entry const char *key; ventoy_plugin_entry_pf entryfunc; ventoy_plugin_check_pf checkfunc; + int flag; }plugin_entry; typedef struct replace_fs_dir diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_plugin.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_plugin.c index e260440..3a47de6 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_plugin.c +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_plugin.c @@ -2338,45 +2338,55 @@ static int ventoy_plugin_image_list_check(VTOY_JSON *json, const char *isodisk) static plugin_entry g_plugin_entries[] = { - { "control", ventoy_plugin_control_entry, ventoy_plugin_control_check }, - { "theme", ventoy_plugin_theme_entry, ventoy_plugin_theme_check }, - { "auto_install", ventoy_plugin_auto_install_entry, ventoy_plugin_auto_install_check }, - { "persistence", ventoy_plugin_persistence_entry, ventoy_plugin_persistence_check }, - { "menu_alias", ventoy_plugin_menualias_entry, ventoy_plugin_menualias_check }, - { "menu_tip", ventoy_plugin_menutip_entry, ventoy_plugin_menutip_check }, - { "menu_class", ventoy_plugin_menuclass_entry, ventoy_plugin_menuclass_check }, - { "injection", ventoy_plugin_injection_entry, ventoy_plugin_injection_check }, - { "auto_memdisk", ventoy_plugin_auto_memdisk_entry, ventoy_plugin_auto_memdisk_check }, - { "image_list", ventoy_plugin_image_list_entry, ventoy_plugin_image_list_check }, - { "image_blacklist", ventoy_plugin_image_list_entry, ventoy_plugin_image_list_check }, - { "conf_replace", ventoy_plugin_conf_replace_entry, ventoy_plugin_conf_replace_check }, - { "dud", ventoy_plugin_dud_entry, ventoy_plugin_dud_check }, - { "password", ventoy_plugin_pwd_entry, ventoy_plugin_pwd_check }, - { "custom_boot", ventoy_plugin_custom_boot_entry, ventoy_plugin_custom_boot_check }, + { "control", ventoy_plugin_control_entry, ventoy_plugin_control_check, 0 }, + { "theme", ventoy_plugin_theme_entry, ventoy_plugin_theme_check, 0 }, + { "auto_install", ventoy_plugin_auto_install_entry, ventoy_plugin_auto_install_check, 0 }, + { "persistence", ventoy_plugin_persistence_entry, ventoy_plugin_persistence_check, 0 }, + { "menu_alias", ventoy_plugin_menualias_entry, ventoy_plugin_menualias_check, 0 }, + { "menu_tip", ventoy_plugin_menutip_entry, ventoy_plugin_menutip_check, 0 }, + { "menu_class", ventoy_plugin_menuclass_entry, ventoy_plugin_menuclass_check, 0 }, + { "injection", ventoy_plugin_injection_entry, ventoy_plugin_injection_check, 0 }, + { "auto_memdisk", ventoy_plugin_auto_memdisk_entry, ventoy_plugin_auto_memdisk_check, 0 }, + { "image_list", ventoy_plugin_image_list_entry, ventoy_plugin_image_list_check, 0 }, + { "image_blacklist", ventoy_plugin_image_list_entry, ventoy_plugin_image_list_check, 0 }, + { "conf_replace", ventoy_plugin_conf_replace_entry, ventoy_plugin_conf_replace_check, 0 }, + { "dud", ventoy_plugin_dud_entry, ventoy_plugin_dud_check, 0 }, + { "password", ventoy_plugin_pwd_entry, ventoy_plugin_pwd_check, 0 }, + { "custom_boot", ventoy_plugin_custom_boot_entry, ventoy_plugin_custom_boot_check, 0 }, }; static int ventoy_parse_plugin_config(VTOY_JSON *json, const char *isodisk) { int i; char key[128]; - VTOY_JSON *cur = json; + VTOY_JSON *cur = NULL; grub_snprintf(g_iso_disk_name, sizeof(g_iso_disk_name), "%s", isodisk); - while (cur) + for (cur = json; cur; cur = cur->pstNext) { for (i = 0; i < (int)ARRAY_SIZE(g_plugin_entries); i++) { grub_snprintf(key, sizeof(key), "%s_%s", g_plugin_entries[i].key, g_arch_mode_suffix); - if (grub_strcmp(g_plugin_entries[i].key, cur->pcName) == 0 || grub_strcmp(key, cur->pcName) == 0) + if (g_plugin_entries[i].flag == 0 && grub_strcmp(key, cur->pcName) == 0) { debug("Plugin entry for %s\n", g_plugin_entries[i].key); g_plugin_entries[i].entryfunc(cur, isodisk); + g_plugin_entries[i].flag = 1; + break; + } + } + + for (i = 0; i < (int)ARRAY_SIZE(g_plugin_entries); i++) + { + if (g_plugin_entries[i].flag == 0 && grub_strcmp(g_plugin_entries[i].key, cur->pcName) == 0) + { + debug("Plugin entry for %s\n", g_plugin_entries[i].key); + g_plugin_entries[i].entryfunc(cur, isodisk); + g_plugin_entries[i].flag = 1; break; } } - - cur = cur->pstNext; } return 0; -- 2.47.3 From f15dfd7409c30808b4e45f5494cf6e099fe7ef9d Mon Sep 17 00:00:00 2001 From: Ida Bagus Date: Thu, 28 Oct 2021 18:00:23 +0800 Subject: [PATCH 05/16] Update languages.json (#1174) --- LANGUAGES/languages.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LANGUAGES/languages.json b/LANGUAGES/languages.json index 538f62d..5b0feb3 100644 --- a/LANGUAGES/languages.json +++ b/LANGUAGES/languages.json @@ -1668,7 +1668,7 @@ "STR_CLEAR_FAILED":"Terjadi kesalahan ketika penghapusan berlangsung. Anda perlu mencabut-pasang ulang USB dan coba lagi. Cek log.txt untuk detil.", "STR_MENU_PART_STYLE":"Gaya Partisi", "STR_DISK_2TB_MBR_ERROR":"Silakan pilih GPT untuk disk yang lebih dari 2TB", - "STR_SHOW_ALL_DEV":"Show All Devices", + "STR_SHOW_ALL_DEV":"Tampilkan semua perangkat", "STR_PART_ALIGN_4KB":"Meluruskan dengan partisi 4KB", "STR_WEB_COMMUNICATION_ERR":"Kesalahan komunikasi:", "STR_WEB_REMOTE_ABNORMAL":"Kesalahan komunikasi: tidak normalnya kendali", -- 2.47.3 From d7faff4438410af27831485e7d12a38300ee678e Mon Sep 17 00:00:00 2001 From: vboucard <39457530+vboucard@users.noreply.github.com> Date: Thu, 28 Oct 2021 12:00:38 +0200 Subject: [PATCH 06/16] French translation of help messages (#1176) --- INSTALL/grub/help/fr_FR.txt | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 INSTALL/grub/help/fr_FR.txt diff --git a/INSTALL/grub/help/fr_FR.txt b/INSTALL/grub/help/fr_FR.txt new file mode 100644 index 0000000..f47969c --- /dev/null +++ b/INSTALL/grub/help/fr_FR.txt @@ -0,0 +1,16 @@ + h - Afficher cette aide +F1 - Mode Memdisk (Seulement pour WinPE/LiveCD ISO/IMG) +F2 - Redémarrer/arrêter +F3 - Basculer l'affichage 'Vue en arbre' <-> 'Vue en liste' +F4 - Démarrer le système Windows/Linux local +F5 - Utilitaires +F6 - Charger le menu Grub2 personnalisé +F7 - Basculer entre le mode graphique <-> mode texte + +m - Somme de contrôle des images (md5/sha1/sha256/sha512) +Ctrl+w - Mode WIMBOOT (seulement pour les images standards Windows) +Ctrl+r - Mode Grub2 (seulement pour quelques Linux) +Ctrl+i - Mode Compatible (seulement à fins de tests) + + +Appuyer sur Echap pour sortir ...... -- 2.47.3 From 7b2615744cea146b18970a4224ef7f1497e97dde Mon Sep 17 00:00:00 2001 From: longpanda Date: Thu, 28 Oct 2021 18:16:50 +0800 Subject: [PATCH 07/16] Update help information --- INSTALL/grub/help/en_US.txt | 4 +++- INSTALL/grub/help/fr_FR.txt | 2 +- INSTALL/grub/help/hr_HR.txt | 1 + INSTALL/grub/help/sr_CY.txt | 1 + INSTALL/grub/help/sr_SR.txt | 1 + INSTALL/grub/help/tr_TR.txt | 1 + INSTALL/grub/help/zh_CN.txt | 1 + 7 files changed, 9 insertions(+), 2 deletions(-) diff --git a/INSTALL/grub/help/en_US.txt b/INSTALL/grub/help/en_US.txt index 03a2217..f75c810 100644 --- a/INSTALL/grub/help/en_US.txt +++ b/INSTALL/grub/help/en_US.txt @@ -10,7 +10,9 @@ F7 - Switch between GUI Mode <-> TEXT Mode m - Checksum image files (md5/sha1/sha256/sha512) Ctrl+w - WIMBOOT Mode (Only for standard Windows ISO) Ctrl+r - Grub2 Mode (Only for some Linux distros) -Ctrl+i - Compatible Mode (Just only for test) +Ctrl+i - Compatible Mode (Just only for debug) +Ctrl+u - Load ISO efi driver (Just only for debug, can not be used officially) + Press ESC to return ...... diff --git a/INSTALL/grub/help/fr_FR.txt b/INSTALL/grub/help/fr_FR.txt index f47969c..ece0d28 100644 --- a/INSTALL/grub/help/fr_FR.txt +++ b/INSTALL/grub/help/fr_FR.txt @@ -11,6 +11,6 @@ m - Somme de contrôle des images (md5/sha1/sha256/sha512) Ctrl+w - Mode WIMBOOT (seulement pour les images standards Windows) Ctrl+r - Mode Grub2 (seulement pour quelques Linux) Ctrl+i - Mode Compatible (seulement à fins de tests) - +Ctrl+u - Load ISO efi driver (Just only for debug, can not be used officially) Appuyer sur Echap pour sortir ...... diff --git a/INSTALL/grub/help/hr_HR.txt b/INSTALL/grub/help/hr_HR.txt index 08f887a..04bd1ad 100644 --- a/INSTALL/grub/help/hr_HR.txt +++ b/INSTALL/grub/help/hr_HR.txt @@ -11,6 +11,7 @@ m - Generira kontrolnu sumu odabranog imidž fajla (md5/sha1/sha256/sha512) Ctrl + w - WIMBOOT način rada (samo za standardne Windows imidž fajlove) Ctrl + r - GRUB2 način rada (samo za neke Linux distribucije) Ctrl + i - Kompatibilni način rada (samo za testiranje) +Ctrl + u - Load ISO efi driver (Just only for debug, can not be used officially) Pritisnite ESC za povratak... diff --git a/INSTALL/grub/help/sr_CY.txt b/INSTALL/grub/help/sr_CY.txt index 47b1078..b9fde24 100644 --- a/INSTALL/grub/help/sr_CY.txt +++ b/INSTALL/grub/help/sr_CY.txt @@ -11,6 +11,7 @@ m - Генерира контролну суму одабраног имиџ ф Ctrl + w - WIMBOOT начин рада (само за стандардне Windows имиџ фајлове) Ctrl + r - GRUB2 начин рада (само за неке Linux дистрибуције) Ctrl + i - Компатибилни начин рада (само за тестиранје) +Ctrl + u - Load ISO efi driver (Just only for debug, can not be used officially) Притисните ESC за повратак... diff --git a/INSTALL/grub/help/sr_SR.txt b/INSTALL/grub/help/sr_SR.txt index 08f887a..faf445e 100644 --- a/INSTALL/grub/help/sr_SR.txt +++ b/INSTALL/grub/help/sr_SR.txt @@ -11,6 +11,7 @@ m - Generira kontrolnu sumu odabranog imidž fajla (md5/sha1/sha256/sha512) Ctrl + w - WIMBOOT način rada (samo za standardne Windows imidž fajlove) Ctrl + r - GRUB2 način rada (samo za neke Linux distribucije) Ctrl + i - Kompatibilni način rada (samo za testiranje) +Ctrl+u - Load ISO efi driver (Just only for debug, can not be used officially) Pritisnite ESC za povratak... diff --git a/INSTALL/grub/help/tr_TR.txt b/INSTALL/grub/help/tr_TR.txt index 5c82a7d..0f71a7f 100644 --- a/INSTALL/grub/help/tr_TR.txt +++ b/INSTALL/grub/help/tr_TR.txt @@ -11,6 +11,7 @@ m - İndirilen imaj dosyalarının hatasız indirildiğini teyit etmek için "md Ctrl+w - WIMBOOT Modu çalıştırmayı sağlar(Sadece normal Windows ISO ları için) Ctrl+r - Grub2 Modu çalıştırmayı sağlar (Sadece bazı Linux dağıtımları için) Ctrl+i - Uyumluluk Modu'nu (Compatible Mode) çalıştırmayı sağlar (Sadece bazı çalışmayan ISO ları test etmek için bu modu kullanabilirsiniz) +Ctrl+u - Load ISO efi driver (Just only for debug, can not be used officially) Geriye dönmek için ESC tuşuna basınız...... diff --git a/INSTALL/grub/help/zh_CN.txt b/INSTALL/grub/help/zh_CN.txt index 4bea21c..49a2ec1 100644 --- a/INSTALL/grub/help/zh_CN.txt +++ b/INSTALL/grub/help/zh_CN.txt @@ -11,6 +11,7 @@ m - 计算文件校验值(md5/sha1/sha256/sha512) Ctrl+w - WIMBOOT 模式 (只适用于标准的 Windows ISO文件) Ctrl+r - Grub2 模式 (只适用于常见的一些 Linux 系统ISO文件) Ctrl+i - 兼容模式 (只用作调试目的,不能正式使用) +Ctrl+u - 加载 ISO efi 驱动(只用作调试目的,不能正式使用) 按 ESC 键返回 ...... -- 2.47.3 From 87f88eeb2bbc40d23b60673f3029cfa9d15f6bff Mon Sep 17 00:00:00 2001 From: longpanda Date: Fri, 29 Oct 2021 09:28:20 +0800 Subject: [PATCH 08/16] [Ventoy2Disk.exe] improve Windows edition reporting --- INSTALL/Ventoy2Disk.exe | Bin 349696 -> 350208 bytes Ventoy2Disk/Ventoy2Disk/DiskService_vds.c | 6 +- Ventoy2Disk/Ventoy2Disk/Utility.c | 150 +++++++++++++--------- 3 files changed, 90 insertions(+), 66 deletions(-) diff --git a/INSTALL/Ventoy2Disk.exe b/INSTALL/Ventoy2Disk.exe index 895af0342d36ae6f222b7b41cf5de12c60dcb5c7..e8bd61c7034d59a5be462b92583ea69937ca93c2 100644 GIT binary patch delta 26152 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 NjJ@pCVDAh3{{e)5R|)_C delta 25133 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 UV8`u6zQNgTsMlql-Fl7rKO))`82|tP diff --git a/Ventoy2Disk/Ventoy2Disk/DiskService_vds.c b/Ventoy2Disk/Ventoy2Disk/DiskService_vds.c index 49479b6..763ab03 100644 --- a/Ventoy2Disk/Ventoy2Disk/DiskService_vds.c +++ b/Ventoy2Disk/Ventoy2Disk/DiskService_vds.c @@ -608,7 +608,7 @@ STATIC IVdsService * VDS_InitService(void) if (hr != S_OK) { VDS_SET_ERROR(hr); - Log("Could not create VDS Loader Instance: %u", LASTERR); + Log("Could not create VDS Loader Instance: 0x%x", LASTERR); return NULL; } @@ -618,7 +618,7 @@ STATIC IVdsService * VDS_InitService(void) if (hr != S_OK) { VDS_SET_ERROR(hr); - Log("Could not load VDS Service: %u", LASTERR); + Log("Could not load VDS Service: 0x%x", LASTERR); return NULL; } @@ -627,7 +627,7 @@ STATIC IVdsService * VDS_InitService(void) if (hr != S_OK) { VDS_SET_ERROR(hr); - Log("VDS Service is not ready: %u", LASTERR); + Log("VDS Service is not ready: 0x%x", LASTERR); return NULL; } diff --git a/Ventoy2Disk/Ventoy2Disk/Utility.c b/Ventoy2Disk/Ventoy2Disk/Utility.c index c9c32bd..1fbe9f4 100644 --- a/Ventoy2Disk/Ventoy2Disk/Utility.c +++ b/Ventoy2Disk/Ventoy2Disk/Utility.c @@ -267,69 +267,93 @@ static const char* GetEdition(DWORD ProductType) // From: https://docs.microsoft.com/en-us/windows/win32/api/sysinfoapi/nf-sysinfoapi-getproductinfo // These values can be found in the winnt.h header. switch (ProductType) { - case 0x00000000: return ""; // Undefined - case 0x00000001: return "Ultimate"; - case 0x00000002: return "Home Basic"; - case 0x00000003: return "Home Premium"; - case 0x00000004: return "Enterprise"; - case 0x00000005: return "Home Basic N"; - case 0x00000006: return "Business"; - case 0x00000007: return "Standard Server"; - case 0x00000008: return "Datacenter Server"; - case 0x00000009: return "Smallbusiness Server"; - case 0x0000000A: return "Enterprise Server"; - case 0x0000000B: return "Starter"; - case 0x00000010: return "Business N"; - case 0x00000011: return "Web Server"; - case 0x00000012: return "Cluster Server"; - case 0x00000013: return "Home Server"; - case 0x0000001A: return "Home Premium N"; - case 0x0000001B: return "Enterprise N"; - case 0x0000001C: return "Ultimate N"; - case 0x00000022: return "Home Premium Server"; - case 0x0000002F: return "Starter N"; - case 0x00000030: return "Pro"; - case 0x00000031: return "Pro N"; - case 0x00000042: return "Starter E"; - case 0x00000043: return "Home Basic E"; - case 0x00000044: return "Premium E"; - case 0x00000045: return "Pro E"; - case 0x00000046: return "Enterprise E"; - case 0x00000047: return "Ultimate E"; - case 0x00000048: return "Enterprise Eval"; - case 0x00000054: return "Enterprise N Eval"; - case 0x00000057: return "Thin PC"; - case 0x0000006F: return "Core Connected"; - case 0x00000070: return "Pro Student"; - case 0x00000071: return "Core Connected N"; - case 0x00000072: return "Pro Student N"; - case 0x00000073: return "Core Connected Single Language"; - case 0x00000074: return "Core Connected China"; - case 0x00000079: return "Edu"; - case 0x0000007A: return "Edu N"; - case 0x0000007D: return "Enterprise S"; - case 0x0000007E: return "Enterprise S N"; - case 0x0000007F: return "Pro S"; - case 0x00000080: return "Pro S N"; - case 0x00000081: return "Enterprise S Eval"; - case 0x00000082: return "Enterprise S N Eval"; - case 0x0000008A: return "Pro Single Language"; - case 0x0000008B: return "Pro China"; - case 0x0000008C: return "Enterprise Subscription"; - case 0x0000008D: return "Enterprise Subscription N"; - case 0x00000095: return "Utility VM"; - case 0x000000A1: return "Pro Workstation"; - case 0x000000A2: return "Pro Workstation N"; - case 0x000000A4: return "Pro for Education"; - case 0x000000A5: return "Pro for Education N"; - case 0x000000AB: return "Enterprise G"; // I swear Microsoft are just making up editions... - case 0x000000AC: return "Enterprise G N"; - case 0x000000B6: return "Core OS"; - case 0x000000B7: return "Cloud E"; - case 0x000000B8: return "Cloud E N"; - case 0x000000BD: return "Lite"; - case 0xABCDABCD: return "(Unlicensed)"; - default: return "(Unknown Edition)"; + case 0x00000000: return ""; // Undefined + case 0x00000001: return "Ultimate"; + case 0x00000002: return "Home Basic"; + case 0x00000003: return "Home Premium"; + case 0x00000004: return "Enterprise"; + case 0x00000005: return "Home Basic N"; + case 0x00000006: return "Business"; + case 0x00000007: return "Server Standard"; + case 0x00000008: return "Server Datacenter"; + case 0x00000009: return "Smallbusiness Server"; + case 0x0000000A: return "Server Enterprise"; + case 0x0000000B: return "Starter"; + case 0x0000000C: return "Server Datacenter (Core)"; + case 0x0000000D: return "Server Standard (Core)"; + case 0x0000000E: return "Server Enterprise (Core)"; + case 0x00000010: return "Business N"; + case 0x00000011: return "Web Server"; + case 0x00000012: return "HPC Edition"; + case 0x00000013: return "Storage Server (Essentials)"; + case 0x0000001A: return "Home Premium N"; + case 0x0000001B: return "Enterprise N"; + case 0x0000001C: return "Ultimate N"; + case 0x00000022: return "Home Server"; + case 0x00000024: return "Server Standard without Hyper-V"; + case 0x00000025: return "Server Datacenter without Hyper-V"; + case 0x00000026: return "Server Enterprise without Hyper-V"; + case 0x00000027: return "Server Datacenter without Hyper-V (Core)"; + case 0x00000028: return "Server Standard without Hyper-V (Core)"; + case 0x00000029: return "Server Enterprise without Hyper-V (Core)"; + case 0x0000002A: return "Hyper-V Server"; + case 0x0000002F: return "Starter N"; + case 0x00000030: return "Pro"; + case 0x00000031: return "Pro N"; + case 0x00000034: return "Server Solutions Premium"; + case 0x00000035: return "Server Solutions Premium (Core)"; + case 0x00000040: return "Server Hyper Core V"; + case 0x00000042: return "Starter E"; + case 0x00000043: return "Home Basic E"; + case 0x00000044: return "Premium E"; + case 0x00000045: return "Pro E"; + case 0x00000046: return "Enterprise E"; + case 0x00000047: return "Ultimate E"; + case 0x00000048: return "Enterprise (Eval)"; + case 0x0000004F: return "Server Standard (Eval)"; + case 0x00000050: return "Server Datacenter (Eval)"; + case 0x00000054: return "Enterprise N (Eval)"; + case 0x00000057: return "Thin PC"; + case 0x00000058: case 0x00000059: case 0x0000005A: case 0x0000005B: case 0x0000005C: return "Embedded"; + case 0x00000062: return "Home N"; + case 0x00000063: return "Home China"; + case 0x00000064: return "Home Single Language"; + case 0x00000065: return "Home"; + case 0x00000067: return "Pro with Media Center"; + case 0x00000069: case 0x0000006A: case 0x0000006B: case 0x0000006C: return "Embedded"; + case 0x0000006F: return "Home Connected"; + case 0x00000070: return "Pro Student"; + case 0x00000071: return "Home Connected N"; + case 0x00000072: return "Pro Student N"; + case 0x00000073: return "Home Connected Single Language"; + case 0x00000074: return "Home Connected China"; + case 0x00000079: return "Education"; + case 0x0000007A: return "Education N"; + case 0x0000007D: return "Enterprise LTSB"; + case 0x0000007E: return "Enterprise LTSB N"; + case 0x0000007F: return "Pro S"; + case 0x00000080: return "Pro S N"; + case 0x00000081: return "Enterprise LTSB (Eval)"; + case 0x00000082: return "Enterprise LTSB N (Eval)"; + case 0x0000008A: return "Pro Single Language"; + case 0x0000008B: return "Pro China"; + case 0x0000008C: return "Enterprise Subscription"; + case 0x0000008D: return "Enterprise Subscription N"; + case 0x00000091: return "Server Datacenter SA (Core)"; + case 0x00000092: return "Server Standard SA (Core)"; + case 0x00000095: return "Utility VM"; + case 0x000000A1: return "Pro for Workstations"; + case 0x000000A2: return "Pro for Workstations N"; + case 0x000000A4: return "Pro for Education"; + case 0x000000A5: return "Pro for Education N"; + case 0x000000AB: return "Enterprise G"; // I swear Microsoft are just making up editions... + case 0x000000AC: return "Enterprise G N"; + case 0x000000B6: return "Home OS"; + case 0x000000B7: return "Cloud E"; + case 0x000000B8: return "Cloud E N"; + case 0x000000BD: return "Lite"; + case 0xABCDABCD: return "(Unlicensed)"; + default: return "(Unknown Edition)"; } } -- 2.47.3 From 84798a4f7a35fc1d58019a36cb1ad1400cd8242d Mon Sep 17 00:00:00 2001 From: Tayfun Akkoyun <54566818+crasadure@users.noreply.github.com> Date: Fri, 29 Oct 2021 12:42:33 +0300 Subject: [PATCH 09/16] Update tr_Tr.txt (#1178) new lines was translated --- INSTALL/grub/help/tr_TR.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/INSTALL/grub/help/tr_TR.txt b/INSTALL/grub/help/tr_TR.txt index 0f71a7f..d57d709 100644 --- a/INSTALL/grub/help/tr_TR.txt +++ b/INSTALL/grub/help/tr_TR.txt @@ -10,8 +10,8 @@ F7 - Grafik Modu(GUI Mode) ile Metin Modu(Text Mode) arasında geçiş yapmayı m - İndirilen imaj dosyalarının hatasız indirildiğini teyit etmek için "md5/sha1/sha256/sha512" değerlerini kontrol etmeyi sağlar Ctrl+w - WIMBOOT Modu çalıştırmayı sağlar(Sadece normal Windows ISO ları için) Ctrl+r - Grub2 Modu çalıştırmayı sağlar (Sadece bazı Linux dağıtımları için) -Ctrl+i - Uyumluluk Modu'nu (Compatible Mode) çalıştırmayı sağlar (Sadece bazı çalışmayan ISO ları test etmek için bu modu kullanabilirsiniz) -Ctrl+u - Load ISO efi driver (Just only for debug, can not be used officially) +Ctrl+i - Uyumluluk Modu'nu (Compatible Mode) çalıştırmayı sağlar (Sadece hata ayıklama için bu modu kullanabilirsiniz) +Ctrl+u - ISO efi sürücüsünü yükler(Sadece hata ayıklama için bu mod kullanılabilir, resmi olarak kullanılamaz) Geriye dönmek için ESC tuşuna basınız...... -- 2.47.3 From 8d893d4c94770892caef43422f1ec2d1b4e7c010 Mon Sep 17 00:00:00 2001 From: Hugo Carvalho Date: Fri, 29 Oct 2021 10:42:49 +0100 Subject: [PATCH 10/16] Update Portuguese(Portugal) language (#1179) --- LANGUAGES/languages.json | 52 ++++++++++++++++++++-------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/LANGUAGES/languages.json b/LANGUAGES/languages.json index 5b0feb3..3898ee3 100644 --- a/LANGUAGES/languages.json +++ b/LANGUAGES/languages.json @@ -1584,13 +1584,13 @@ "name":"Portuguese (Português de Portugal)", "FontFamily":"Courier New", "FontSize":16, - "Author":"Eskiso", + "Author":"Eskiso, Hugo Carvalho", "STR_ERROR":"Erro", "STR_WARNING":"Aviso", "STR_INFO":"Info", - "STR_INCORRECT_DIR":"Por favor, execute na pasta correta!", - "STR_INCORRECT_TREE_DIR":"Não me execute aqui, por favor transfira o pacote de instalação, e execute lá.", + "STR_INCORRECT_DIR":"Execute na pasta correta!", + "STR_INCORRECT_TREE_DIR":"Não me execute aqui, transfira o pacote de instalação e execute lá.", "STR_DEVICE":"Dispositivo", "STR_LOCAL_VER":"Ventoy em pacote", "STR_DISK_VER":"Ventoy no dispositivo", @@ -1601,34 +1601,34 @@ "STR_INSTALL_TIP":"O disco será formatado e todos os dados serão perdidos.#@Continuar?", "STR_INSTALL_TIP2":"O disco será formatado e todos os dados serão perdidos.#@Continuar? (Confirmação)", "STR_INSTALL_SUCCESS":"Parabéns!#@Ventoy foi instalado com sucesso no dispositivo.", - "STR_INSTALL_FAILED":"Um erro ocorreu durante a instalação. Pode reconectar o dispositivo USB e tentar novamente. Verifique o ficheiro log.txt para mais detalhes.", + "STR_INSTALL_FAILED":"Ocorreu um erro durante a instalação. Pode voltar a ligar o dispositivo USB e tentar novamente. Verifique o ficheiro log.txt para mais detalhes.", "STR_UPDATE_SUCCESS":"Parabéns!#@Ventoy foi atualizado com sucesso no dispositivo.", - "STR_UPDATE_FAILED":"Um erro ocorreu durante a atualização. Pode reconectar o dispositivo USB e tentar novamente. Verifique o ficheiro log.txt para mais detalhes.", - "STR_WAIT_PROCESS":"Uma thread está em execução, por favor espere...", + "STR_UPDATE_FAILED":"Ocorreu um erro durante a atualização. Pode voltar a ligar o dispositivo USB e tentar novamente. Verifique o ficheiro log.txt para mais detalhes.", + "STR_WAIT_PROCESS":"Uma thread está em execução, aguarde...", "STR_MENU_OPTION":"Opção", - "STR_MENU_SECURE_BOOT":"Boot seguro", - "STR_MENU_PART_CFG":"Configuração da Partição", - "STR_BTN_OK":"OK", + "STR_MENU_SECURE_BOOT":"Arranque seguro", + "STR_MENU_PART_CFG":"Configuração da partição", + "STR_BTN_OK":"Aceitar", "STR_BTN_CANCEL":"Cancelar", - "STR_PRESERVE_SPACE":"Preservar algum espaço no final do disco", - "STR_SPACE_VAL_INVALID":"Valor invalido para o espaço reservado", + "STR_PRESERVE_SPACE":"Reservar algum espaço no final do disco", + "STR_SPACE_VAL_INVALID":"Valor inválido para o espaço reservado", "STR_MENU_CLEAR":"Remover o Ventoy", "STR_CLEAR_SUCCESS":"O Ventoy foi removido deste dispositivo com sucesso.", - "STR_CLEAR_FAILED":"Um erro ocorreu ao remover o Ventoy do disco. Pode reconectar o dispositivo USB e tentar novamente. Verifique o ficheiro log.txt para mais detalhes.", - "STR_MENU_PART_STYLE":"Estilo de Partição", - "STR_DISK_2TB_MBR_ERROR":"Por favor selecione GPT para discos maiores que 2TB", - "STR_SHOW_ALL_DEV":"Show All Devices", - "STR_PART_ALIGN_4KB":"Align partitions with 4KB", - "STR_WEB_COMMUNICATION_ERR":"Communication error:", - "STR_WEB_REMOTE_ABNORMAL":"Communication error: remote abnormal", - "STR_WEB_REQUEST_TIMEOUT":"Communication error: Request timed out", - "STR_WEB_SERVICE_UNAVAILABLE":"Communication error: Service Unavailable", - "STR_WEB_TOKEN_MISMATCH":"Daemon status updated, please retry later.", - "STR_WEB_SERVICE_BUSY":"Service is busy, please retry later.", - "STR_MENU_VTSI_CREATE":"Generate VTSI File", - "STR_VTSI_CREATE_TIP":"This time will not write to the device, but only generate a VTSI file#@Continue?", - "STR_VTSI_CREATE_SUCCESS":"VTSI file created successfully!#@You can use Rufus(3.15+) to write it to the device so as to complete the installation of Ventoy.", - "STR_VTSI_CREATE_FAILED":"VTSI file created failed.", + "STR_CLEAR_FAILED":"Um erro ocorreu ao remover o Ventoy do disco. Pode voltar a ligar o dispositivo USB e tentar novamente. Verifique o ficheiro log.txt para mais detalhes.", + "STR_MENU_PART_STYLE":"Estilo de partição", + "STR_DISK_2TB_MBR_ERROR":"Selecione GPT para discos maiores que 2TB", + "STR_SHOW_ALL_DEV":"Mostrar todos os dispositivos", + "STR_PART_ALIGN_4KB":"Alinhar as partições com 4KB", + "STR_WEB_COMMUNICATION_ERR":"Erro de comunicação:", + "STR_WEB_REMOTE_ABNORMAL":"Erro de comunicação: Anomalia remota", + "STR_WEB_REQUEST_TIMEOUT":"Erro de comunicação: Pedido de tempo limite", + "STR_WEB_SERVICE_UNAVAILABLE":"Erro de comunicação: Serviço indisponível", + "STR_WEB_TOKEN_MISMATCH":"Estado do daemon atualizado, tente novamente mais tarde.", + "STR_WEB_SERVICE_BUSY":"Serviço está ocupado, tente novamente mais tarde.", + "STR_MENU_VTSI_CREATE":"Gerar ficheiro VTSI", + "STR_VTSI_CREATE_TIP":"Desta vez não irá gravar no dispositivo, mas apenas gerar um ficheiro VTSI#@Continuar?", + "STR_VTSI_CREATE_SUCCESS":"Ficheiro VTSI criado com sucesso!#@Pode utilizar o Rufus(3.15+) para o gravar no dispositivo de modo a completar a instalação do Ventoy.", + "STR_VTSI_CREATE_FAILED":"Falha no ficheiro VTSI criado.", "STRXXX":"" }, { -- 2.47.3 From 68fefbc1fc300652c1ff5bf19cd2ccc14f839ded Mon Sep 17 00:00:00 2001 From: Hugo Carvalho Date: Fri, 29 Oct 2021 10:43:00 +0100 Subject: [PATCH 11/16] Add pt_PT.txt (#1180) Add pt_PT.text to INSTALL/grub/help/ --- INSTALL/grub/help/pt_PT.txt | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 INSTALL/grub/help/pt_PT.txt diff --git a/INSTALL/grub/help/pt_PT.txt b/INSTALL/grub/help/pt_PT.txt new file mode 100644 index 0000000..ee8f8f9 --- /dev/null +++ b/INSTALL/grub/help/pt_PT.txt @@ -0,0 +1,17 @@ + h - Mostra esta informação de ajuda +F1 - Modo Memdisk (Apenas para pequenos WinPE/LiveCD ISO/IMG) +F2 - Reiniciar/Desligar +F3 - Alternar o modo menu entre Vista de árvore <-> Vista de lista +F4 - Arrancar o Windows/Linux em disco local +F5 - Utilitários +F6 - Carregar menu Grub2 personalizado +F7 - Alternar entre Modo GUI <-> Modo TEXTO + +m - Checksum ficheiros de imagem (md5/sha1/sha256/sha512) +Ctrl+w - Modo WIMBOOT (Apenas para Windows ISO padrão) +Ctrl+r - Modo Grub2 (Apenas para algumas distros Linux) +Ctrl+i - Modo Compatível (Apenas para depuração) +Ctrl+u - Carregar o controlador ISO efi (Apenas para depuração, não pode ser utilizado oficialmente) + + +Prima ESC para voltar ...... -- 2.47.3 From 09d7ae68e7e95171f35ec395a2e22c51d5700ba9 Mon Sep 17 00:00:00 2001 From: Ida Bagus Date: Fri, 29 Oct 2021 17:43:11 +0800 Subject: [PATCH 12/16] Create id_ID.txt (#1181) --- INSTALL/grub/help/id_ID.txt | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 INSTALL/grub/help/id_ID.txt diff --git a/INSTALL/grub/help/id_ID.txt b/INSTALL/grub/help/id_ID.txt new file mode 100644 index 0000000..879e0e9 --- /dev/null +++ b/INSTALL/grub/help/id_ID.txt @@ -0,0 +1,18 @@ + h - Tampilkan bantuan informasi ini +F1 - Mode Memdisk (Hanya untuk ukuran WinPE/LiveCD ISO/IMG yang kecil) +F2 - Mulai ulang/Matikan +F3 - Beralih mode menu antara Treeview <-> ListView +F4 - Jalankan (boot) Windows/Linux pada disk lokal +F5 - Alat Utilitas +F6 - Memuat ubah suai Grub2 Menu +F7 - Beralih antara mode GUI <-> Mode TEXT + +m - Periksa berkas files (md5/sha1/sha256/sha512) +Ctrl+w - Mode WIMBOOT (Hanya untuk berkas ISO Windows standar) +Ctrl+r - Mode Grub2 (Hanya untuk distro Linux tertentu) +Ctrl+i - Mode Kompatibel/Compatible (Hanya untuk debug saja) +Ctrl+u - Memuat ISO efi driver (Hanya untuk debug saja, tidak dapat dipakai secara umum) + + + +Tekan ESC untuk kembali ...... -- 2.47.3 From f32d342f662292d86d941883dc201fa32e37ab26 Mon Sep 17 00:00:00 2001 From: longpanda Date: Fri, 29 Oct 2021 22:58:15 +0800 Subject: [PATCH 13/16] 1.0.57 release --- .github/ISSUE_TEMPLATE/issue_template.yml | 2 +- .../grub-core/ventoy/ventoy_plugin.c | 23 +++++++++++++++---- INSTALL/grub/grub.cfg | 4 +++- 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/issue_template.yml b/.github/ISSUE_TEMPLATE/issue_template.yml index 7d4510d..8099da8 100644 --- a/.github/ISSUE_TEMPLATE/issue_template.yml +++ b/.github/ISSUE_TEMPLATE/issue_template.yml @@ -21,7 +21,7 @@ body: attributes: label: Ventoy Version description: What version of ventoy are you running? - placeholder: 1.0.56 + placeholder: 1.0.57 validations: required: true - type: dropdown diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_plugin.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_plugin.c index 3a47de6..77c833c 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_plugin.c +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_plugin.c @@ -2376,7 +2376,11 @@ static int ventoy_parse_plugin_config(VTOY_JSON *json, const char *isodisk) break; } } - + } + + + for (cur = json; cur; cur = cur->pstNext) + { for (i = 0; i < (int)ARRAY_SIZE(g_plugin_entries); i++) { if (g_plugin_entries[i].flag == 0 && grub_strcmp(g_plugin_entries[i].key, cur->pcName) == 0) @@ -3180,7 +3184,7 @@ grub_err_t ventoy_cmd_plugin_check_json(grub_extcmd_context_t ctxt, int argc, ch grub_snprintf(key, sizeof(key), "%s_%s", args[1], g_arch_mode_suffix); for (node = json->pstChild; node; node = node->pstNext) { - if (grub_strcmp(node->pcName, args[1]) == 0 || grub_strcmp(node->pcName, key) == 0) + if (grub_strcmp(node->pcName, key) == 0) { break; } @@ -3188,8 +3192,19 @@ grub_err_t ventoy_cmd_plugin_check_json(grub_extcmd_context_t ctxt, int argc, ch if (!node) { - grub_printf("%s is NOT found in ventoy.json\n", args[1]); - goto end; + for (node = json->pstChild; node; node = node->pstNext) + { + if (grub_strcmp(node->pcName, args[1]) == 0) + { + break; + } + } + + if (!node) + { + grub_printf("%s is NOT found in ventoy.json\n", args[1]); + goto end; + } } for (i = 0; i < (int)ARRAY_SIZE(g_plugin_entries); i++) diff --git a/INSTALL/grub/grub.cfg b/INSTALL/grub/grub.cfg index 188fdef..c108d60 100644 --- a/INSTALL/grub/grub.cfg +++ b/INSTALL/grub/grub.cfg @@ -355,6 +355,8 @@ function distro_specify_initrd_file_phase2 { vt_linux_specify_initrd_file /porteus/initrd.xz elif [ -f (loop)/pyabr/boot/initrfs.img ]; then vt_linux_specify_initrd_file /pyabr/boot/initrfs.img + elif [ -f (loop)/initrd0.img ]; then + vt_linux_specify_initrd_file /initrd0.img fi } @@ -2009,7 +2011,7 @@ function img_unsupport_menuentry { ############################################################# ############################################################# -set VENTOY_VERSION="1.0.56" +set VENTOY_VERSION="1.0.57" #ACPI not compatible with Window7/8, so disable by default set VTOY_PARAM_NO_ACPI=1 -- 2.47.3 From 3e66227dae4d58f0c2f3b6126e966f9e3d77ae5f Mon Sep 17 00:00:00 2001 From: longpanda <59477474+ventoy@users.noreply.github.com> Date: Sat, 30 Oct 2021 11:55:27 +0800 Subject: [PATCH 14/16] Update FUNDING.yml --- .github/FUNDING.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index c24c5dd..4bc7c88 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -9,4 +9,4 @@ community_bridge: # Replace with a single Community Bridge project-name e.g., cl liberapay: # Replace with a single Liberapay username issuehunt: # Replace with a single IssueHunt username otechie: # Replace with a single Otechie username -custom: ['https://www.ventoy.net/en/donation.html'] # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] +custom: ['https://www.paypal.me/ventoy', 'https://www.ventoy.net/en/donation.html'] # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] -- 2.47.3 From fc742244ab3d734fda9edfcea90e2b214f1166c3 Mon Sep 17 00:00:00 2001 From: longpanda <59477474+ventoy@users.noreply.github.com> Date: Sat, 30 Oct 2021 12:04:43 +0800 Subject: [PATCH 15/16] Update README.md --- README.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/README.md b/README.md index 92fdffa..72ad9a8 100644 --- a/README.md +++ b/README.md @@ -109,4 +109,26 @@ See [https://www.ventoy.net/en/faq.html](https://www.ventoy.net/en/faq.html) for # Forum [https://forums.ventoy.net](https://forums.ventoy.net) +# Donation +It would be much appreciated if you want to make a small donation to support my work! +Alipay, WeChat Pay, PayPal and Bitcoin are avaliable for donation. You can chose any of them. + +**Alipay** +[https://www.ventoy.net/static/img/AliPay.png](https://www.ventoy.net/static/img/AliPay.png) + +**WeChat Pay** +[https://www.ventoy.net/static/img/WeChatPay.png](https://www.ventoy.net/static/img/WeChatPay.png) + +**PayPal** +You can transfer to my paypal account `admin@ventoy.net` or just click [https://www.paypal.me/ventoy](https://www.paypal.me/ventoy) + +**Bitcoin** +Bitcoin Address `19mZDWzZgzkHCi9YX9H3fYCUuCHq3W6wfT` + + + + + + + -- 2.47.3 From 9f3d2097989932f72381d055f24cbb0250fa20cd Mon Sep 17 00:00:00 2001 From: =?utf8?q?Allan=20Nordh=C3=B8y?= Date: Mon, 1 Nov 2021 02:37:59 +0100 Subject: [PATCH 16/16] =?utf8?q?Norwegian=20Bokm=C3=A5l=20language=20added?= =?utf8?q?=20(#1189)?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- LANGUAGES/languages.json | 51 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/LANGUAGES/languages.json b/LANGUAGES/languages.json index 3898ee3..45414bb 100644 --- a/LANGUAGES/languages.json +++ b/LANGUAGES/languages.json @@ -1681,6 +1681,57 @@ "STR_VTSI_CREATE_SUCCESS":"Berkas VTSI berhasil dibuat#@Anda bisa menggunakan Rufus(3.15+) untuk menulisnya ke perangkat untuk menyelesaikan instalasi Ventoy.", "STR_VTSI_CREATE_FAILED":"Berkas VTSI gagal dibuat.", "STRXXX":"" + }, + { + "name":"Norwegian Bokmål (Norsk Bokmål)", + "FontFamily":"Courier New", + "FontSize":16, + "Author":"Allan Nordhøy", + + "STR_ERROR":"Feil", + "STR_WARNING":"Advarsel", + "STR_INFO":"Info", + "STR_INCORRECT_DIR":"Start programmet i rett mappe først.", + "STR_INCORRECT_TREE_DIR":"Ikke kjør meg her. Last ned utgitt installasjonspakke og kjør det der.", + "STR_DEVICE":"Enhet", + "STR_LOCAL_VER":"Ventoy i pakke", + "STR_DISK_VER":"Ventoy i enhet", + "STR_STATUS":"Status — Klar", + "STR_INSTALL":"Installer", + "STR_UPDATE":"Updater", + "STR_UPDATE_TIP":"Oppgradering er trygt. ISO-filer vil forbli uendret.#@Fortsett?", + "STR_INSTALL_TIP":"Enheten vil bli formatert og all data på den vil gå tapt.#@Fortsett?", + "STR_INSTALL_TIP2":"Enheten vil bli formatert og all data på den vil gå tapt.#@Fortsett? (Dobbeltsjekk)", + "STR_INSTALL_SUCCESS":"Gratulerer!#@Ventoy har blitt installert på enheten.", + "STR_INSTALL_FAILED":"Noe gikk galt under installasjonen. Du kan plugge ut og inn USB-enheten og prøve igjen. Sjekk log.txt for detaljer. Hvis feilen vedvarer kan du sjekke O-S-S på nettsiden.", + "STR_UPDATE_SUCCESS":"Gratulerer!#@Ventoy har blitt installert på enheten.", + "STR_UPDATE_FAILED":"Noe gikk galt under oppdateringen. Du kan plugge ut og inn USB-enheten og prøve igjen. Sjekk log.txt for detaljer. Hvis feilen vedvarer kan du sjekke O-S-S på nettsiden.", + "STR_WAIT_PROCESS":"Vent mens en tråd kjører …", + "STR_MENU_OPTION":"Alternativ", + "STR_MENU_SECURE_BOOT":"Secure Boot-støtte", + "STR_MENU_PART_CFG":"Partisjonsoppsett", + "STR_BTN_OK":"OK", + "STR_BTN_CANCEL":"Avbryt", + "STR_PRESERVE_SPACE":"Hold av litt plass på slutten av disken", + "STR_SPACE_VAL_INVALID":"Ugyldig verdi for avholdt plass", + "STR_MENU_CLEAR":"Tøm Ventoy", + "STR_CLEAR_SUCCESS":"Ventoy har blitt fjernet fra enheten.", + "STR_CLEAR_FAILED":"Noe gikk galt ved fjerning av Ventoy fra disken. Du kan plugge ut og inn USB-enheten og prøve igjen. Sjekk log.txt for detaljer.", + "STR_MENU_PART_STYLE":"Partisjonsstil", + "STR_DISK_2TB_MBR_ERROR":"Velg «GPT» for enheter over 2 TB", + "STR_SHOW_ALL_DEV":"Vis alle enheter", + "STR_PART_ALIGN_4KB":"Juster partisjoner til 4 KB", + "STR_WEB_COMMUNICATION_ERR":"Kommunikasjonsfeil:", + "STR_WEB_REMOTE_ABNORMAL":"Kommunikasjonsfeil: Noe er galt annensteds hen", + "STR_WEB_REQUEST_TIMEOUT":"Kommunikasjonsfeil: Tidsavbrudd for forespørsel", + "STR_WEB_SERVICE_UNAVAILABLE":"Kommunikasjonsfeil: Utilgjengelig tjeneste", + "STR_WEB_TOKEN_MISMATCH":"Nisse-status oppdatert. Prøv igjen senere.", + "STR_WEB_SERVICE_BUSY":"Tjensten er opptatt. Prøv igjen senere.", + "STR_MENU_VTSI_CREATE":"Generer VTSI-fil", + "STR_VTSI_CREATE_TIP":"Dette vil ikke skrive til enheten, men kun generere en VTSIfil#@Fortsett?", + "STR_VTSI_CREATE_SUCCESS":"VTSI-fil opprettet.#@Du kan bruke Rufus(3.15+) til å skrive den til enheten for å fullføre installasjonen av Ventoy.", + "STR_VTSI_CREATE_FAILED":"Noe gikk galt under opprettelse av VTSI-fil.", + "STRXXX":"" }, { "name":"Ukrainian (Українська)", -- 2.47.3