From 81728a817c7703f158aa0cf862f82bd30e84b21b Mon Sep 17 00:00:00 2001 From: longpanda Date: Sun, 21 Dec 2025 20:56:53 +0800 Subject: [PATCH] 1.1.10 release --- IMG/cpio/ventoy/ventoy_chain.sh | 2 +- INSTALL/grub/grub.cfg | 2 +- INSTALL/grub/menu/lg_UG.json | 93 ++++++++++++++++++++++++++++++ LANGUAGES/languages.json | 2 +- Ventoy2Disk/Ventoy2Disk/PhyDrive.c | 60 ++++++++++++------- 5 files changed, 134 insertions(+), 25 deletions(-) create mode 100644 INSTALL/grub/menu/lg_UG.json diff --git a/IMG/cpio/ventoy/ventoy_chain.sh b/IMG/cpio/ventoy/ventoy_chain.sh index 35f670e3..a0c7a32f 100644 --- a/IMG/cpio/ventoy/ventoy_chain.sh +++ b/IMG/cpio/ventoy/ventoy_chain.sh @@ -376,7 +376,7 @@ ventoy_get_os_type() { fi fi if [ -f /etc/kylin-release ]; then - if $GREP -i -q -m1 'Kylin.*Server.* V11 ' /etc/kylin-release; then + if $GREP -i -q -m1 'Kylin.*Server.* V1[1-9] ' /etc/kylin-release; then echo 'openEuler'; return fi fi diff --git a/INSTALL/grub/grub.cfg b/INSTALL/grub/grub.cfg index 9534333e..4cf3d1e5 100644 --- a/INSTALL/grub/grub.cfg +++ b/INSTALL/grub/grub.cfg @@ -2449,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 diff --git a/INSTALL/grub/menu/lg_UG.json b/INSTALL/grub/menu/lg_UG.json new file mode 100644 index 00000000..6c4c5332 --- /dev/null +++ b/INSTALL/grub/menu/lg_UG.json @@ -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": "" +} diff --git a/LANGUAGES/languages.json b/LANGUAGES/languages.json index 5362de55..b97bcb74 100644 --- a/LANGUAGES/languages.json +++ b/LANGUAGES/languages.json @@ -65,7 +65,7 @@ "STRXXX":"" }, { - "name": "اردو (Urdu)", + "name": "Urdu (اردو)", "FontFamily": "Noto Nastaliq Urdu", "FontSize": 16, "Author": "Muhammad Ramzan", diff --git a/Ventoy2Disk/Ventoy2Disk/PhyDrive.c b/Ventoy2Disk/Ventoy2Disk/PhyDrive.c index c9ac5b14..b86a6d63 100644 --- a/Ventoy2Disk/Ventoy2Disk/PhyDrive.c +++ b/Ventoy2Disk/Ventoy2Disk/PhyDrive.c @@ -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 {