From 734c7b8ac45bf5a0d4abbd879903753c8ddc913c Mon Sep 17 00:00:00 2001 From: longpanda Date: Sun, 17 Oct 2021 21:56:30 +0800 Subject: [PATCH] 1.0.55 release --- .github/ISSUE_TEMPLATE/issue_template.yml | 2 +- .../grub-core/ventoy/ventoy_windows.c | 9 +- GRUB2/MOD_SRC/grub-2.04/include/grub/ventoy.h | 3 +- INSTALL/Ventoy2Disk.exe | Bin 329216 -> 329216 bytes INSTALL/grub/grub.cfg | 2 +- INSTALL/ventoy/vtoyjump32.exe | Bin 114688 -> 116736 bytes INSTALL/ventoy/vtoyjump64.exe | Bin 135680 -> 139264 bytes README.md | 4 +- vtoyjump/vtoyjump/vtoyjump.c | 130 +++++++++++++++++- vtoyjump/vtoyjump/vtoyjump.h | 3 +- vtoyjump/vtoyjump/vtoyjump.vcxproj | 5 +- 11 files changed, 147 insertions(+), 11 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/issue_template.yml b/.github/ISSUE_TEMPLATE/issue_template.yml index 3d635eee..48c12ae0 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.54 + placeholder: 1.0.55 validations: required: true - type: dropdown diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_windows.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_windows.c index e4c9aa6a..b2e986bc 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_windows.c +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_windows.c @@ -1049,6 +1049,7 @@ int ventoy_fill_windows_rtdata(void *buf, char *isopath) { char *pos = NULL; char *script = NULL; + const char *env = NULL; ventoy_windows_data *data = (ventoy_windows_data *)buf; grub_memset(data, 0, sizeof(ventoy_windows_data)); @@ -1087,7 +1088,13 @@ int ventoy_fill_windows_rtdata(void *buf, char *isopath) { debug("injection archive not configed %s\n", pos); } - + + env = grub_env_get("VTOY_WIN11_BYPASS_CHECK"); + if (env && env[0] == '1' && env[1] == 0) + { + data->windows11_bypass_check = 1; + } + return 0; } diff --git a/GRUB2/MOD_SRC/grub-2.04/include/grub/ventoy.h b/GRUB2/MOD_SRC/grub-2.04/include/grub/ventoy.h index 11384b25..ee76b5bd 100644 --- a/GRUB2/MOD_SRC/grub-2.04/include/grub/ventoy.h +++ b/GRUB2/MOD_SRC/grub-2.04/include/grub/ventoy.h @@ -135,7 +135,8 @@ typedef struct ventoy_windows_data { char auto_install_script[384]; char injection_archive[384]; - grub_uint8_t reserved[256]; + grub_uint8_t windows11_bypass_check; + grub_uint8_t reserved[255]; }ventoy_windows_data; diff --git a/INSTALL/Ventoy2Disk.exe b/INSTALL/Ventoy2Disk.exe index 90b024faac71d0ca024deece66e130127409a3f6..6a7051329f219758120f639a450b8c289c7f49c7 100644 GIT binary patch delta 95 zcmZqZ5ozcV*}%cboGP8u%+1)&&B(Z&n~`aysXS01kpT#pfY=R)IgT+gaO?u{7#M(Z p+b^3jSvCul{H~n)@5*z}B{4tJ#RD{w+GTbz0WtG-nO!VTya8qP8^-_u delta 95 zcmZqZ5ozcV*}%cbyxBghnVYeln~`xlHzU(ZQ+c33A_EXG0kInpa~xx0;MfJ?F)#q- qwqG`5vTPQRdSz6*plqqnmb_b{eh*Z!_` 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 delta 28455 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 diff --git a/INSTALL/ventoy/vtoyjump64.exe b/INSTALL/ventoy/vtoyjump64.exe index 9e52ce4c319b6a01c46e957ad52e0f8aadc3b7e1..6d49fa960a5a93398f355caadfcff1a7c64552b8 100644 GIT binary patch delta 40058 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 delta 36715 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 diff --git a/README.md b/README.md index 7994a426..fcdea684 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ You can copy many image files at a time and ventoy will give you a boot menu to x86 Legacy BIOS, IA32 UEFI, x86_64 UEFI, ARM64 UEFI and MIPS64EL UEFI are supported in the same way.
Both MBR and GPT partition style are supported in the same way.
Most type of OS supported(Windows/WinPE/Linux/Unix/ChromeOS/Vmware/Xen...)
- 740+ ISO files are tested (List). 90%+ distros in distrowatch.com supported (Details).
+ 750+ ISO files are tested (List). 90%+ distros in distrowatch.com supported (Details).

Official Website: https://www.ventoy.net @@ -52,7 +52,7 @@ VMware ESXi, Citrix XenServer, Xen XCP-ng * FAT32/exFAT/NTFS/UDF/XFS/Ext2(3)(4) supported for main partition * ISO files larger than 4GB supported * Native boot menu style for Legacy & UEFI -* Most type of OS supported, 740+ iso files tested +* Most type of OS supported, 750+ iso files tested * Linux vDisk boot supported * Not only boot but also complete installation process * Menu dynamically switchable between List/TreeView mode diff --git a/vtoyjump/vtoyjump/vtoyjump.c b/vtoyjump/vtoyjump/vtoyjump.c index aea27118..8421403d 100644 --- a/vtoyjump/vtoyjump/vtoyjump.c +++ b/vtoyjump/vtoyjump/vtoyjump.c @@ -1248,6 +1248,117 @@ static int ProcessUnattendedInstallation(const char *script) return 0; } +static int Windows11BypassCheck(const char *isofile, const char MntLetter) +{ + int Ret = 1; + DWORD dwHandle; + DWORD dwSize; + DWORD dwValue = 1; + UINT VerLen = 0; + CHAR *Buffer = NULL; + VS_FIXEDFILEINFO* VerInfo = NULL; + CHAR CheckFile[MAX_PATH]; + UINT16 Major, Minor, Build, Revision; + + Log("Windows11BypassCheck for <%s> %C:", isofile, MntLetter); + + if (FALSE == IsFileExist("%C:\\sources\\boot.wim", MntLetter) || + FALSE == IsFileExist("%C:\\sources\\compatresources.dll", MntLetter)) + { + Log("boot.wim/compatresources.dll not exist, this is not a windows install media."); + goto End; + } + + if (FALSE == IsFileExist("%C:\\sources\\install.wim", MntLetter) && + FALSE == IsFileExist("%C:\\sources\\install.esd", MntLetter)) + { + Log("install.wim/install.esd not exist, this is not a windows install media."); + goto End; + } + + sprintf_s(CheckFile, sizeof(CheckFile), "%C:\\sources\\compatresources.dll", MntLetter); + dwSize = GetFileVersionInfoSizeA(CheckFile, &dwHandle); + if (0 == dwSize) + { + Log("Failed to get file version info size: %u", LASTERR); + goto End; + } + + Buffer = malloc(dwSize); + if (!Buffer) + { + goto End; + } + + if (FALSE == GetFileVersionInfoA(CheckFile, dwHandle, dwSize, Buffer)) + { + Log("Failed to get file version info : %u", LASTERR); + goto End; + } + + if (VerQueryValueA(Buffer, "\\", (LPVOID)&VerInfo, &VerLen) && VerLen != 0) + { + if (VerInfo->dwSignature == VS_FFI_SIGNATURE) + { + Major = HIWORD(VerInfo->dwFileVersionMS); + Minor = LOWORD(VerInfo->dwFileVersionMS); + Build = HIWORD(VerInfo->dwFileVersionLS); + Revision = LOWORD(VerInfo->dwFileVersionLS); + + Log("FileVersionze: <%u %u %u %u>", Major, Minor, Build, Revision); + + if (Major == 10 && Build > 20000) + { + Major = 11; + } + + if (Major != 11) + { + Log("This is not Windows 11, not need to bypass.", Major); + goto End; + } + } + } + + //Now we really need to bypass windows 11 check. create registry + HKEY hKey = NULL; + HKEY hSubKey = NULL; + LSTATUS Status; + + Status = RegCreateKeyExA(HKEY_LOCAL_MACHINE, "System\\Setup", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hKey, &dwSize); + if (ERROR_SUCCESS != Status) + { + Log("Failed to create reg key System\\Setup %u %u", LASTERR, Status); + goto End; + } + + Status = RegCreateKeyExA(hKey, "LabConfig", 0, NULL, 0, KEY_SET_VALUE | KEY_QUERY_VALUE | KEY_CREATE_SUB_KEY, NULL, &hSubKey, &dwSize); + if (ERROR_SUCCESS != Status) + { + Log("Failed to create LabConfig reg %u %u", LASTERR, Status); + goto End; + } + + //set reg value + Status += RegSetValueExA(hSubKey, "BypassRAMCheck", 0, REG_DWORD, (LPBYTE)&dwValue, sizeof(DWORD)); + Status += RegSetValueExA(hSubKey, "BypassTPMCheck", 0, REG_DWORD, (LPBYTE)&dwValue, sizeof(DWORD)); + Status += RegSetValueExA(hSubKey, "BypassSecureBootCheck", 0, REG_DWORD, (LPBYTE)&dwValue, sizeof(DWORD)); + Status += RegSetValueExA(hSubKey, "BypassStorageCheck", 0, REG_DWORD, (LPBYTE)&dwValue, sizeof(DWORD)); + Status += RegSetValueExA(hSubKey, "BypassCPUCheck", 0, REG_DWORD, (LPBYTE)&dwValue, sizeof(DWORD)); + + Log("Create bypass registry %s %u", (Status == ERROR_SUCCESS) ? "SUCCESS" : "FAILED", Status); + + Ret = 0; + +End: + if (Buffer) + { + free(Buffer); + } + + return Ret; +} + static int VentoyHook(ventoy_os_param *param) { int i; @@ -1327,7 +1438,7 @@ static int VentoyHook(ventoy_os_param *param) rc = MountIsoFile(IsoPath, DiskExtent.DiskNumber); NewDrives = GetLogicalDrives(); - Log("Drives after mount: 0x%x", NewDrives); + Log("Drives after mount: 0x%x (0x%x)", NewDrives, (NewDrives ^ Drives)); MntLetter = 'A'; NewDrives = (NewDrives ^ Drives); @@ -1335,7 +1446,14 @@ static int VentoyHook(ventoy_os_param *param) { if (NewDrives & 0x01) { - Log("Maybe the ISO file is mounted at %C:", MntLetter); + if ((NewDrives >> 1) == 0) + { + Log("The ISO file is mounted at %C:", MntLetter); + } + else + { + Log("Maybe the ISO file is mounted at %C:", MntLetter); + } break; } @@ -1345,6 +1463,12 @@ static int VentoyHook(ventoy_os_param *param) Log("Mount ISO FILE: %s", rc == 0 ? "SUCCESS" : "FAILED"); + //Windows 11 bypass check + if (g_windows_data.windows11_bypass_check == 1) + { + Windows11BypassCheck(IsoPath, MntLetter); + } + // for protect rc = DeleteVentoyPart2MountPoint(DiskExtent.DiskNumber); Log("Delete ventoy mountpoint: %s", rc == 0 ? "SUCCESS" : "NO NEED"); @@ -1407,6 +1531,8 @@ static int VentoyHook(ventoy_os_param *param) sprintf_s(StrBuf, sizeof(StrBuf), "cmd.exe /c %s \"%s\" %C", AUTO_RUN_BAT, IsoPath, MntLetter); CreateProcessA(NULL, StrBuf, NULL, NULL, TRUE, flags, NULL, NULL, &Si, &Pi); WaitForSingleObject(Pi.hProcess, INFINITE); + + SAFE_CLOSE_HANDLE(hOut); } else { diff --git a/vtoyjump/vtoyjump/vtoyjump.h b/vtoyjump/vtoyjump/vtoyjump.h index 01b96eed..3af9f855 100644 --- a/vtoyjump/vtoyjump/vtoyjump.h +++ b/vtoyjump/vtoyjump/vtoyjump.h @@ -69,7 +69,8 @@ typedef struct ventoy_windows_data { char auto_install_script[384]; char injection_archive[384]; - UINT8 reserved[256]; + UINT8 windows11_bypass_check; + UINT8 reserved[255]; }ventoy_windows_data; diff --git a/vtoyjump/vtoyjump/vtoyjump.vcxproj b/vtoyjump/vtoyjump/vtoyjump.vcxproj index 9659c449..49edb89c 100644 --- a/vtoyjump/vtoyjump/vtoyjump.vcxproj +++ b/vtoyjump/vtoyjump/vtoyjump.vcxproj @@ -135,7 +135,7 @@ true true true - VirtDisk.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + Version.lib;VirtDisk.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) @@ -155,7 +155,8 @@ true true true - VirtDisk.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + Version.lib;VirtDisk.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + Version.dll;VirtDisk.dll