]> glassweightruler.freedombox.rocks Git - Ventoy.git/commitdiff
1. Add VTOY_WIN11_BYPASS_NRO option in Global Control Plugin.
authorlongpanda <admin@ventoy.net>
Fri, 23 Dec 2022 15:17:39 +0000 (23:17 +0800)
committerlongpanda <admin@ventoy.net>
Fri, 23 Dec 2022 15:17:39 +0000 (23:17 +0800)
2. Change the default value of VTOY_WIN11_BYPASS_CHECK and VTOY_WIN11_BYPASS_NRO options to 1.

34 files changed:
GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy.c
GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_windows.c
GRUB2/MOD_SRC/grub-2.04/include/grub/ventoy.h
INSTALL/grub/debug.cfg
INSTALL/grub/menu/ar_AR.json
INSTALL/grub/menu/bn_BN.json
INSTALL/grub/menu/de_DE.json
INSTALL/grub/menu/en_US.json
INSTALL/grub/menu/fr_FR.json
INSTALL/grub/menu/hi_HI.json
INSTALL/grub/menu/hr_HR.json
INSTALL/grub/menu/hu_HU.json
INSTALL/grub/menu/id_ID.json
INSTALL/grub/menu/ja_JP.json
INSTALL/grub/menu/ka_GE.json
INSTALL/grub/menu/ko_KR.json
INSTALL/grub/menu/pl_PL.json
INSTALL/grub/menu/pt_PT.json
INSTALL/grub/menu/ru_RU.json
INSTALL/grub/menu/sr_RS.json
INSTALL/grub/menu/ta_IN.json
INSTALL/grub/menu/tr_TR.json
INSTALL/grub/menu/zh_CN.json
INSTALL/grub/menu/zh_TW.json
INSTALL/ventoy/vtoyjump32.exe
INSTALL/ventoy/vtoyjump64.exe
Plugson/src/Web/ventoy_http.c
Plugson/src/Web/ventoy_http.h
Plugson/vs/VentoyPlugson/Release/VentoyPlugson.exe
Plugson/vs/VentoyPlugson/x64/Release/VentoyPlugson_X64.exe
Plugson/www/index.html
Plugson/www/plugson_control.html
vtoyjump/vtoyjump/vtoyjump.c
vtoyjump/vtoyjump/vtoyjump.h

index 84a9fd04f8ae9f4387f3357f7322e75bdcbb08b9..5242cb0332d0c7834fdcf475b62df8a9aac06a4e 100644 (file)
@@ -337,7 +337,8 @@ int ventoy_global_var_init(void)
 
 static ctrl_var_cfg g_ctrl_vars[] = 
 {
 
 static ctrl_var_cfg g_ctrl_vars[] = 
 {
-    { "VTOY_WIN11_BYPASS_CHECK",  0 },
+    { "VTOY_WIN11_BYPASS_CHECK",  1 },
+    { "VTOY_WIN11_BYPASS_NRO",    1 },
     { "VTOY_LINUX_REMOUNT",       0 },
     { "VTOY_SECONDARY_BOOT_MENU", 1 },
     { NULL, 0 }
     { "VTOY_LINUX_REMOUNT",       0 },
     { "VTOY_SECONDARY_BOOT_MENU", 1 },
     { NULL, 0 }
index 9bddab14e3bfd60308c053e6ec58832dd4014265..11d411c87b4a4b09d6dc49fe6cae666284ac30fc 100644 (file)
@@ -1090,6 +1090,12 @@ static int ventoy_fill_windows_rtdata(void *buf, char *isopath, int dataflag)
     {
         data->windows11_bypass_check = 1;
     }
     {
         data->windows11_bypass_check = 1;
     }
+    
+    env = grub_env_get("VTOY_WIN11_BYPASS_NRO");
+    if (env && env[0] == '1' && env[1] == 0)
+    {
+        data->windows11_bypass_nro = 1;
+    }
 
     pos = grub_strstr(isopath, "/");
     if (!pos)
 
     pos = grub_strstr(isopath, "/");
     if (!pos)
index be992ce79b4fab433ea455dd047564a76f447702..129a28906cdc55a92171b498a4f0185f391c249d 100644 (file)
@@ -142,7 +142,9 @@ typedef struct ventoy_windows_data
 
     grub_uint32_t auto_install_len;
 
 
     grub_uint32_t auto_install_len;
 
-    grub_uint8_t reserved[255 - 4];
+    grub_uint8_t windows11_bypass_nro;
+
+    grub_uint8_t reserved[255 - 5];
 
     /* auto_intall file buf */
     /* ...... + auto_install_len */
 
     /* auto_intall file buf */
     /* ...... + auto_install_len */
index 1bf076d703733da08a301e05bb7a127af204b6d8..94394968a39e10a9fd8f6b3b7550760e9fbaf297 100644 (file)
@@ -1,5 +1,5 @@
 #
 #
-# VTLANG_TEMP_SETTING must be the first
+# VTLANG_CTRL_TEMP_SET must be the first
 # And the inside item order can not be changed
 #
 submenu "$VTLANG_CTRL_TEMP_SET" --class=debug_temp_set --class=F5tool {
 # And the inside item order can not be changed
 #
 submenu "$VTLANG_CTRL_TEMP_SET" --class=debug_temp_set --class=F5tool {
@@ -12,8 +12,17 @@ submenu "$VTLANG_CTRL_TEMP_SET" --class=debug_temp_set --class=F5tool {
         fi
     }
     
         fi
     }
     
-    menuentry "[ $VTOY_LINUX_REMOUNT ]  $VTLANG_LINUX_REMOUNT" --class=debug_temp_linux_remount --class=debug_temp_set --class=F5tool \
+    menuentry "[ $VTOY_WIN11_BYPASS_NRO ]  $VTLANG_WIN11_BYPASS_NRO" --class=debug_temp_win11_nro --class=debug_temp_set --class=F5tool \
         VTOY_RUN_SET1 {
         VTOY_RUN_SET1 {
+        if [ "$VTOY_WIN11_BYPASS_NRO" = "0" ]; then
+            set VTOY_WIN11_BYPASS_NRO=1
+        else
+            set VTOY_WIN11_BYPASS_NRO=0
+        fi
+    }
+    
+    menuentry "[ $VTOY_LINUX_REMOUNT ]  $VTLANG_LINUX_REMOUNT" --class=debug_temp_linux_remount --class=debug_temp_set --class=F5tool \
+        VTOY_RUN_SET2 {
         if [ "$VTOY_LINUX_REMOUNT" = "0" ]; then
             set VTOY_LINUX_REMOUNT=1
         else
         if [ "$VTOY_LINUX_REMOUNT" = "0" ]; then
             set VTOY_LINUX_REMOUNT=1
         else
@@ -22,7 +31,7 @@ submenu "$VTLANG_CTRL_TEMP_SET" --class=debug_temp_set --class=F5tool {
     }
     
     menuentry "[ $VTOY_SECONDARY_BOOT_MENU ]  $VTLANG_SECONDARY_BOOT_MENU" --class=debug_temp_second_menu --class=debug_temp_set --class=F5tool \
     }
     
     menuentry "[ $VTOY_SECONDARY_BOOT_MENU ]  $VTLANG_SECONDARY_BOOT_MENU" --class=debug_temp_second_menu --class=debug_temp_set --class=F5tool \
-        VTOY_RUN_SET2 {
+        VTOY_RUN_SET3 {
         if [ "$VTOY_SECONDARY_BOOT_MENU" = "0" ]; then
             set VTOY_SECONDARY_BOOT_MENU=1
         else
         if [ "$VTOY_SECONDARY_BOOT_MENU" = "0" ]; then
             set VTOY_SECONDARY_BOOT_MENU=1
         else
index d2ef6447bab2bbc64bb0ea2ba93c8c32daa1ed77..151a705b6840e71d19f6f9fc45c7d43e417ec459 100644 (file)
@@ -69,7 +69,8 @@
     "VTLANG_ENTER_CONTINUE": "اضغط على مفتاح Enter للمتابعة",
     
     "VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
     "VTLANG_ENTER_CONTINUE": "اضغط على مفتاح Enter للمتابعة",
     
     "VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
-    "VTLANG_WIN11_BYPASS_CHECK": "Bypass check when install Windows 11",
+    "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_LINUX_REMOUNT": "Mount Ventoy partition after boot Linux",
     "VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
     
index 29e368cb2ca737aa847b5ec1c6840e6b2112fce6..516438b0ccb69d3e6605957dda3767b540c733b6 100644 (file)
@@ -83,7 +83,8 @@
     "VTLANG_ENTER_CONTINUE": "চালিয়ে যেতে এন্টার কী টিপুন",
     
     "VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
     "VTLANG_ENTER_CONTINUE": "চালিয়ে যেতে এন্টার কী টিপুন",
     
     "VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
-    "VTLANG_WIN11_BYPASS_CHECK": "Bypass check when install Windows 11",
+    "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_LINUX_REMOUNT": "Mount Ventoy partition after boot Linux",
     "VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
     
index 6b246f2106d6174f2f3449a6519099cc06897bfe..18288f8b046499fae1bb32d38d3616e44047b297 100644 (file)
@@ -83,7 +83,8 @@
     "VTLANG_ENTER_CONTINUE": "Drücken Sie die Eingabetaste, um fortzufahren",
     
     "VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
     "VTLANG_ENTER_CONTINUE": "Drücken Sie die Eingabetaste, um fortzufahren",
     
     "VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
-    "VTLANG_WIN11_BYPASS_CHECK": "Bypass check when install Windows 11",
+    "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_LINUX_REMOUNT": "Mount Ventoy partition after boot Linux",
     "VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
     
index 5fd6ce815ac5896cebd84538aa54320ab20d08ce..31d5cffce5788d43fdd6f066e014f3aa72c42417 100644 (file)
@@ -83,7 +83,8 @@
     "VTLANG_ENTER_CONTINUE": "press Enter key to continue",
     
     "VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
     "VTLANG_ENTER_CONTINUE": "press Enter key to continue",
     
     "VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
-    "VTLANG_WIN11_BYPASS_CHECK": "Bypass check when install Windows 11",
+    "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_LINUX_REMOUNT": "Mount Ventoy partition after boot Linux",
     "VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
     
index 2bcfbb698761aea56cda1e88c5490e32050df3e9..65ee3e81bdfaa8f6fb1b8470a8754503cbb9c48b 100644 (file)
@@ -83,7 +83,8 @@
     "VTLANG_ENTER_CONTINUE": "appuyez sur la touche Entrée pour continuer",
     
     "VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
     "VTLANG_ENTER_CONTINUE": "appuyez sur la touche Entrée pour continuer",
     
     "VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
-    "VTLANG_WIN11_BYPASS_CHECK": "Bypass check when install Windows 11",
+    "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_LINUX_REMOUNT": "Mount Ventoy partition after boot Linux",
     "VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
     
index 2b36dd3dd237a4fa0f3fe19ea1046628ed2a999a..cf2d6f5381615ca5926ebd49dba4df52a140aa7d 100644 (file)
@@ -83,7 +83,8 @@
     "VTLANG_ENTER_CONTINUE": "जारी रखने के लिए एंटर कुंजी दबाएं",
     
     "VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
     "VTLANG_ENTER_CONTINUE": "जारी रखने के लिए एंटर कुंजी दबाएं",
     
     "VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
-    "VTLANG_WIN11_BYPASS_CHECK": "Bypass check when install Windows 11",
+    "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_LINUX_REMOUNT": "Mount Ventoy partition after boot Linux",
     "VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
     
index a494cfe48bb6156b92bb3883896a889e1b3623ee..0dd0ee1fe42c30569942fcd1e594e643bd4c84fe 100644 (file)
@@ -83,7 +83,8 @@
     "VTLANG_ENTER_CONTINUE": "pritisnite tipku Enter za nastavak",
     
     "VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
     "VTLANG_ENTER_CONTINUE": "pritisnite tipku Enter za nastavak",
     
     "VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
-    "VTLANG_WIN11_BYPASS_CHECK": "Bypass check when install Windows 11",
+    "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_LINUX_REMOUNT": "Mount Ventoy partition after boot Linux",
     "VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
     
index 542d111d3d33e6ca80158a82806fdc86a552f34e..f35a9eb85831b664190314d883798de1a32b6bbd 100644 (file)
@@ -1,4 +1,4 @@
-{\r
+\r
     "VTLANG_LANGUAGE_NAME": "Hungarian (Magyar)",\r
     \r
     "VTLANG_STR_HOTKEY_LIST": "L:Nyelv  F1:Súgó  F2:Tallóz  F3:Listanézet  F4:Helyi indítás  F5:Eszközök  F6:Bővített menü",\r
     "VTLANG_LANGUAGE_NAME": "Hungarian (Magyar)",\r
     \r
     "VTLANG_STR_HOTKEY_LIST": "L:Nyelv  F1:Súgó  F2:Tallóz  F3:Listanézet  F4:Helyi indítás  F5:Eszközök  F6:Bővített menü",\r
@@ -83,7 +83,8 @@
     "VTLANG_ENTER_CONTINUE": "a folytatáshoz nyomja meg az Enter billentyűt",\r
     \r
     "VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",\r
     "VTLANG_ENTER_CONTINUE": "a folytatáshoz nyomja meg az Enter billentyűt",\r
     \r
     "VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",\r
-    "VTLANG_WIN11_BYPASS_CHECK": "Bypass check when install Windows 11",\r
+    "VTLANG_WIN11_BYPASS_CHECK": "Bypass CPU/TPM/SecureBoot check when install Windows 11",\r
+    "VTLANG_WIN11_BYPASS_NRO": "Bypass online account requirement when install Windows 11",\r
     "VTLANG_LINUX_REMOUNT": "Mount Ventoy partition after boot Linux",\r
     "VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",\r
     \r
     "VTLANG_LINUX_REMOUNT": "Mount Ventoy partition after boot Linux",\r
     "VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",\r
     \r
index cf487c292b5566ad062ef4b4baa22f62faf7c406..834eb3c30e858339494e33d53d037a1758fd3fbe 100644 (file)
@@ -83,7 +83,8 @@
     "VTLANG_ENTER_CONTINUE": "tekan tombol Enter untuk melanjutkan",
     
     "VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
     "VTLANG_ENTER_CONTINUE": "tekan tombol Enter untuk melanjutkan",
     
     "VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
-    "VTLANG_WIN11_BYPASS_CHECK": "Bypass check when install Windows 11",
+    "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_LINUX_REMOUNT": "Mount Ventoy partition after boot Linux",
     "VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
     
index e64df43035497a3af21adf2aceb5c9f6e39f7c2d..aadca8587e3bfa1d038a13df864f083c1b1ae2c2 100644 (file)
@@ -83,7 +83,8 @@
     "VTLANG_ENTER_CONTINUE": "[Enter]を押して続行します",
     
     "VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
     "VTLANG_ENTER_CONTINUE": "[Enter]を押して続行します",
     
     "VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
-    "VTLANG_WIN11_BYPASS_CHECK": "Bypass check when install Windows 11",
+    "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_LINUX_REMOUNT": "Mount Ventoy partition after boot Linux",
     "VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
     
index 98b5c4e949c82ab90b2b9ad38ba588b76c11d253..670f39b35db9151214f5f77cfcd5a835353ddb58 100644 (file)
@@ -83,7 +83,8 @@
     "VTLANG_ENTER_CONTINUE": "გასაგრძელებლად დააჭირეთ Enter ღილაკს",
 
     "VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
     "VTLANG_ENTER_CONTINUE": "გასაგრძელებლად დააჭირეთ Enter ღილაკს",
 
     "VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
-    "VTLANG_WIN11_BYPASS_CHECK": "Bypass check when install Windows 11",
+    "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_LINUX_REMOUNT": "Mount Ventoy partition after boot Linux",
     "VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
 
index 253b37bf2a152ca71afa2f283d081eb97a7f9f18..aa959d543d60dcd97c71d800f997f294d3c12211 100644 (file)
@@ -84,6 +84,7 @@
     
     "VTLANG_CTRL_TEMP_SET": "임시 제어 설정",
     "VTLANG_WIN11_BYPASS_CHECK": "Windows 11을 설치할 때 우회 점검",
     
     "VTLANG_CTRL_TEMP_SET": "임시 제어 설정",
     "VTLANG_WIN11_BYPASS_CHECK": "Windows 11을 설치할 때 우회 점검",
+    "VTLANG_WIN11_BYPASS_NRO": "Bypass online account requirement when install Windows 11",
     "VTLANG_LINUX_REMOUNT": "Linux 부트 후 Ventoy 파티션 마운트",
     "VTLANG_SECONDARY_BOOT_MENU": "보조 부트 메뉴 표시",
     
     "VTLANG_LINUX_REMOUNT": "Linux 부트 후 Ventoy 파티션 마운트",
     "VTLANG_SECONDARY_BOOT_MENU": "보조 부트 메뉴 표시",
     
index 49c95b121478a9ebb6231c10a1f49a7e3dc1bee6..7d44fda97d19203425ba3bd10ee2b7150e33d7db 100644 (file)
@@ -83,7 +83,8 @@
     "VTLANG_ENTER_CONTINUE": "naciśnij klawisz Enter, aby kontynuować",\r
     \r
     "VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",\r
     "VTLANG_ENTER_CONTINUE": "naciśnij klawisz Enter, aby kontynuować",\r
     \r
     "VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",\r
-    "VTLANG_WIN11_BYPASS_CHECK": "Bypass check when install Windows 11",\r
+    "VTLANG_WIN11_BYPASS_CHECK": "Bypass CPU/TPM/SecureBoot check when install Windows 11",\r
+    "VTLANG_WIN11_BYPASS_NRO": "Bypass online account requirement when install Windows 11",\r
     "VTLANG_LINUX_REMOUNT": "Mount Ventoy partition after boot Linux",\r
     "VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",\r
     \r
     "VTLANG_LINUX_REMOUNT": "Mount Ventoy partition after boot Linux",\r
     "VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",\r
     \r
index 36cc355883fb701831ffb8b454f4c93cc3bb543a..c6f597cbf50908000245a896f69b3cdb0f5e5eee 100644 (file)
@@ -83,7 +83,8 @@
     "VTLANG_ENTER_CONTINUE": "pressione a tecla Enter para continuar",
     
     "VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
     "VTLANG_ENTER_CONTINUE": "pressione a tecla Enter para continuar",
     
     "VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
-    "VTLANG_WIN11_BYPASS_CHECK": "Bypass check when install Windows 11",
+    "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_LINUX_REMOUNT": "Mount Ventoy partition after boot Linux",
     "VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
     
index a2333b16f3e7e7ae676f622bfa3623b70d35edec..b4bdfec8a19bf036239c92c7c819b7e355f1a4f0 100644 (file)
@@ -84,6 +84,7 @@
     
     "VTLANG_CTRL_TEMP_SET": "Настройки временного управления",
     "VTLANG_WIN11_BYPASS_CHECK": "Обойти проверку при установке Windows 11",
     
     "VTLANG_CTRL_TEMP_SET": "Настройки временного управления",
     "VTLANG_WIN11_BYPASS_CHECK": "Обойти проверку при установке Windows 11",
+    "VTLANG_WIN11_BYPASS_NRO": "Bypass online account requirement when install Windows 11",
     "VTLANG_LINUX_REMOUNT": "Смонтировать раздел Ventoy после загрузки Linux",
     "VTLANG_SECONDARY_BOOT_MENU": "Показать вторичное загрузочное меню",
     
     "VTLANG_LINUX_REMOUNT": "Смонтировать раздел Ventoy после загрузки Linux",
     "VTLANG_SECONDARY_BOOT_MENU": "Показать вторичное загрузочное меню",
     
index 868362ae7ed9465b50dea0dab9f387197e89a30a..81b353eba9ae8c5273dc8dbc51779d6b9146d9c8 100644 (file)
@@ -83,7 +83,8 @@
     "VTLANG_ENTER_CONTINUE": "press Enter key to continue",
     
     "VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
     "VTLANG_ENTER_CONTINUE": "press Enter key to continue",
     
     "VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
-    "VTLANG_WIN11_BYPASS_CHECK": "Bypass check when install Windows 11",
+    "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_LINUX_REMOUNT": "Mount Ventoy partition after boot Linux",
     "VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
     
index b70e86c743e7ae0d79c16c20fb888b7860284b6b..a3cc93155258d012547cb99c8306bdf6d8b154fb 100644 (file)
@@ -83,7 +83,8 @@
     "VTLANG_ENTER_CONTINUE": "தொடர Enter விசையை அழுத்தவும்",
     
     "VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
     "VTLANG_ENTER_CONTINUE": "தொடர Enter விசையை அழுத்தவும்",
     
     "VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
-    "VTLANG_WIN11_BYPASS_CHECK": "Bypass check when install Windows 11",
+    "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_LINUX_REMOUNT": "Mount Ventoy partition after boot Linux",
     "VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
     
index 2cf80c5527c453e3cf0a748b23f8fe40e1303d2a..07d0f23b53deb87c719fb2263009d112b982aaeb 100644 (file)
@@ -84,6 +84,7 @@
 
     "VTLANG_CTRL_TEMP_SET": "Geçici Kontrol Ayarları",
     "VTLANG_WIN11_BYPASS_CHECK": "Windows11'i yükler iken TPM,CPU,RAM kontrollerini atla",
 
     "VTLANG_CTRL_TEMP_SET": "Geçici Kontrol Ayarları",
     "VTLANG_WIN11_BYPASS_CHECK": "Windows11'i yükler iken TPM,CPU,RAM kontrollerini atla",
+    "VTLANG_WIN11_BYPASS_NRO": "Bypass online account requirement when install Windows 11",
     "VTLANG_LINUX_REMOUNT": "Linux sistemi önyükledikten sonra, Ventoy bölümünü bağla",
     "VTLANG_SECONDARY_BOOT_MENU": "İkincil önyükleme menüsünü göster",
 
     "VTLANG_LINUX_REMOUNT": "Linux sistemi önyükledikten sonra, Ventoy bölümünü bağla",
     "VTLANG_SECONDARY_BOOT_MENU": "İkincil önyükleme menüsünü göster",
 
index 3bc13113348934ba1fd266652818c6cdf220b60e..e1d4fff79c3f9fcbd46e2405480e6e499d70e3c6 100644 (file)
@@ -83,7 +83,8 @@
     "VTLANG_ENTER_CONTINUE": "按回车键继续",
     
     "VTLANG_CTRL_TEMP_SET": "控制变量设置",
     "VTLANG_ENTER_CONTINUE": "按回车键继续",
     
     "VTLANG_CTRL_TEMP_SET": "控制变量设置",
-    "VTLANG_WIN11_BYPASS_CHECK": "安装 Windows 11 时绕过硬件检查",
+    "VTLANG_WIN11_BYPASS_CHECK": "安装 Windows 11 时绕过 TPM/安全启动 等硬件检查",
+    "VTLANG_WIN11_BYPASS_NRO": "安装 Windows 11 时绕过在线账户的要求",
     "VTLANG_LINUX_REMOUNT": "启动 Linux 系统后挂载 Ventoy 分区",
     "VTLANG_SECONDARY_BOOT_MENU": "显示二级启动菜单",
     
     "VTLANG_LINUX_REMOUNT": "启动 Linux 系统后挂载 Ventoy 分区",
     "VTLANG_SECONDARY_BOOT_MENU": "显示二级启动菜单",
     
index c161c9bf007fca64b24cfe51803927a62257a776..b1d05c5d9b38a78f4858b4123eb91d77d38a9222 100644 (file)
@@ -83,7 +83,8 @@
     "VTLANG_ENTER_CONTINUE": "按回車鍵繼續",
 
     "VTLANG_CTRL_TEMP_SET": "控制變量設置",
     "VTLANG_ENTER_CONTINUE": "按回車鍵繼續",
 
     "VTLANG_CTRL_TEMP_SET": "控制變量設置",
-    "VTLANG_WIN11_BYPASS_CHECK": "安裝 Windows 11 時繞過硬件檢查",
+    "VTLANG_WIN11_BYPASS_CHECK": "安裝 Windows 11 時繞過TPM/安全啟動等硬件檢查",
+    "VTLANG_WIN11_BYPASS_NRO": "安裝 Windows 11 時繞過在線賬戶的要求",
     "VTLANG_LINUX_REMOUNT": "啟動 Linux 系統後掛載 Ventoy 分區",
     "VTLANG_SECONDARY_BOOT_MENU": "顯示二級啟動菜單",
     
     "VTLANG_LINUX_REMOUNT": "啟動 Linux 系統後掛載 Ventoy 分區",
     "VTLANG_SECONDARY_BOOT_MENU": "顯示二級啟動菜單",
     
index 5ef9ccd067c79bb029051e25334c6d4f0f74ff1b..1be091b492748120b340088298d5c21246fe6980 100644 (file)
Binary files a/INSTALL/ventoy/vtoyjump32.exe and b/INSTALL/ventoy/vtoyjump32.exe differ
index f3b3da73a0a8816343515987c56dd9edd5d8a9db..acdcc0e22d741d008fa7ad74ddc83da1602fe543 100644 (file)
Binary files a/INSTALL/ventoy/vtoyjump64.exe and b/INSTALL/ventoy/vtoyjump64.exe differ
index cbe45357a1a2b8bf18e6d9e4d6e9069dce64f23c..2fdc3e75e3649a61b27dd2ad5fc83ac8eacf5ef6 100644 (file)
@@ -557,6 +557,8 @@ void ventoy_data_default_control(data_control *data)
     data->max_search_level = -1;
     data->menu_timeout = 0;
     data->secondary_menu_timeout = 0;
     data->max_search_level = -1;
     data->menu_timeout = 0;
     data->secondary_menu_timeout = 0;
+    data->win11_bypass_check = 1;
+    data->win11_bypass_nro = 1;
     
     strlcpy(data->default_kbd_layout, "QWERTY_USA");
     strlcpy(data->menu_language, "en_US");
     
     strlcpy(data->default_kbd_layout, "QWERTY_USA");
     strlcpy(data->menu_language, "en_US");
@@ -577,6 +579,7 @@ int ventoy_data_cmp_control(data_control *data1, data_control *data2)
         data1->filter_vhd != data2->filter_vhd ||
         data1->filter_vtoy != data2->filter_vtoy ||
         data1->win11_bypass_check != data2->win11_bypass_check ||
         data1->filter_vhd != data2->filter_vhd ||
         data1->filter_vtoy != data2->filter_vtoy ||
         data1->win11_bypass_check != data2->win11_bypass_check ||
+        data1->win11_bypass_nro != data2->win11_bypass_nro ||
         data1->linux_remount != data2->linux_remount ||
         data1->password_asterisk != data2->password_asterisk ||
         data1->secondary_menu != data2->secondary_menu ||
         data1->linux_remount != data2->linux_remount ||
         data1->password_asterisk != data2->password_asterisk ||
         data1->secondary_menu != data2->secondary_menu ||
@@ -625,6 +628,7 @@ int ventoy_data_save_control(data_control *data, const char *title, char *buf, i
     VTOY_JSON_FMT_CTRL_INT(L2, "VTOY_FILE_FLT_VHD", filter_vhd);
     VTOY_JSON_FMT_CTRL_INT(L2, "VTOY_FILE_FLT_VTOY", filter_vtoy);
     VTOY_JSON_FMT_CTRL_INT(L2, "VTOY_WIN11_BYPASS_CHECK",  win11_bypass_check);
     VTOY_JSON_FMT_CTRL_INT(L2, "VTOY_FILE_FLT_VHD", filter_vhd);
     VTOY_JSON_FMT_CTRL_INT(L2, "VTOY_FILE_FLT_VTOY", filter_vtoy);
     VTOY_JSON_FMT_CTRL_INT(L2, "VTOY_WIN11_BYPASS_CHECK",  win11_bypass_check);
+    VTOY_JSON_FMT_CTRL_INT(L2, "VTOY_WIN11_BYPASS_NRO",  win11_bypass_nro);
     VTOY_JSON_FMT_CTRL_INT(L2, "VTOY_LINUX_REMOUNT",  linux_remount);
     VTOY_JSON_FMT_CTRL_INT(L2, "VTOY_SECONDARY_BOOT_MENU",  secondary_menu);
     VTOY_JSON_FMT_CTRL_INT(L2, "VTOY_SHOW_PASSWORD_ASTERISK",  password_asterisk);
     VTOY_JSON_FMT_CTRL_INT(L2, "VTOY_LINUX_REMOUNT",  linux_remount);
     VTOY_JSON_FMT_CTRL_INT(L2, "VTOY_SECONDARY_BOOT_MENU",  secondary_menu);
     VTOY_JSON_FMT_CTRL_INT(L2, "VTOY_SHOW_PASSWORD_ASTERISK",  password_asterisk);
@@ -673,6 +677,7 @@ int ventoy_data_json_control(data_control *ctrl, char *buf, int buflen)
     VTOY_JSON_FMT_SINT("filter_vhd", ctrl->filter_vhd);
     VTOY_JSON_FMT_SINT("filter_vtoy", ctrl->filter_vtoy);
     VTOY_JSON_FMT_SINT("win11_bypass_check",  ctrl->win11_bypass_check);
     VTOY_JSON_FMT_SINT("filter_vhd", ctrl->filter_vhd);
     VTOY_JSON_FMT_SINT("filter_vtoy", ctrl->filter_vtoy);
     VTOY_JSON_FMT_SINT("win11_bypass_check",  ctrl->win11_bypass_check);
+    VTOY_JSON_FMT_SINT("win11_bypass_nro",  ctrl->win11_bypass_nro);
     VTOY_JSON_FMT_SINT("linux_remount",  ctrl->linux_remount);
     VTOY_JSON_FMT_SINT("secondary_menu",  ctrl->secondary_menu);
     VTOY_JSON_FMT_SINT("password_asterisk",  ctrl->password_asterisk);
     VTOY_JSON_FMT_SINT("linux_remount",  ctrl->linux_remount);
     VTOY_JSON_FMT_SINT("secondary_menu",  ctrl->secondary_menu);
     VTOY_JSON_FMT_SINT("password_asterisk",  ctrl->password_asterisk);
@@ -741,6 +746,7 @@ static int ventoy_api_save_control(struct mg_connection *conn, VTOY_JSON *json)
     VTOY_JSON_INT("filter_vhd", ctrl->filter_vhd);
     VTOY_JSON_INT("filter_vtoy", ctrl->filter_vtoy);
     VTOY_JSON_INT("win11_bypass_check", ctrl->win11_bypass_check);
     VTOY_JSON_INT("filter_vhd", ctrl->filter_vhd);
     VTOY_JSON_INT("filter_vtoy", ctrl->filter_vtoy);
     VTOY_JSON_INT("win11_bypass_check", ctrl->win11_bypass_check);
+    VTOY_JSON_INT("win11_bypass_nro", ctrl->win11_bypass_nro);
     VTOY_JSON_INT("linux_remount", ctrl->linux_remount);
     VTOY_JSON_INT("secondary_menu", ctrl->secondary_menu);
     VTOY_JSON_INT("password_asterisk", ctrl->password_asterisk);
     VTOY_JSON_INT("linux_remount", ctrl->linux_remount);
     VTOY_JSON_INT("secondary_menu", ctrl->secondary_menu);
     VTOY_JSON_INT("password_asterisk", ctrl->password_asterisk);
@@ -4130,6 +4136,10 @@ static int ventoy_parse_control(VTOY_JSON *json, void *p)
             {
                 CONTROL_PARSE_INT_DEF_0(child, data->win11_bypass_check);
             }
             {
                 CONTROL_PARSE_INT_DEF_0(child, data->win11_bypass_check);
             }
+            else if (strcmp(child->pcName, "VTOY_WIN11_BYPASS_NRO") == 0)
+            {
+                CONTROL_PARSE_INT_DEF_0(child, data->win11_bypass_nro);
+            }
             else if (strcmp(child->pcName, "VTOY_LINUX_REMOUNT") == 0)
             {
                 CONTROL_PARSE_INT_DEF_0(child, data->linux_remount);
             else if (strcmp(child->pcName, "VTOY_LINUX_REMOUNT") == 0)
             {
                 CONTROL_PARSE_INT_DEF_0(child, data->linux_remount);
index b47edea4d9d48307509d620072ff7188d1c544f6..f1c1737d3ddac8e3b0e1e90b29d2dc0c7fd81316 100644 (file)
@@ -75,6 +75,7 @@ typedef struct data_control
     int filter_vhd;
     int filter_vtoy;
     int win11_bypass_check;
     int filter_vhd;
     int filter_vtoy;
     int win11_bypass_check;
+    int win11_bypass_nro;
     int menu_timeout;
     int secondary_menu_timeout;
     int linux_remount;
     int menu_timeout;
     int secondary_menu_timeout;
     int linux_remount;
index 84f2b697568ecb07cf0a2ea3938c956eea77c831..da86c027b28b252129b6f3ab047610dbf149035d 100644 (file)
Binary files a/Plugson/vs/VentoyPlugson/Release/VentoyPlugson.exe and b/Plugson/vs/VentoyPlugson/Release/VentoyPlugson.exe differ
index ef6e231e7c89debb0570c99997744db1466af878..567658348aa28ce9884efbe43697c648f71bcdc2 100644 (file)
Binary files a/Plugson/vs/VentoyPlugson/x64/Release/VentoyPlugson_X64.exe and b/Plugson/vs/VentoyPlugson/x64/Release/VentoyPlugson_X64.exe differ
index 523b29fa60154bfc55933761dd796032e6d085dd..1ff421852d36e88ac166c62cf4df13f5ec6b9678 100644 (file)
     <script src="/static/js/jQuery-2.1.4.min.js"></script>\r
     <!-- jquery validate -->\r
     <script src="/static/js/jquery.validate.min.js"></script>    \r
     <script src="/static/js/jQuery-2.1.4.min.js"></script>\r
     <!-- jquery validate -->\r
     <script src="/static/js/jquery.validate.min.js"></script>    \r
-    <script src="/static/js/jquery.validate.vtoymethods.js?v=106"></script>\r
+    <script src="/static/js/jquery.validate.vtoymethods.js?v=108"></script>\r
 \r
 \r
-    <script src="/static/js/jquery.vtoy.alert.js?v=106"></script>\r
-    <script src="/static/js/vtoy.js?v=106"></script>\r
+    <script src="/static/js/jquery.vtoy.alert.js?v=108"></script>\r
+    <script src="/static/js/vtoy.js?v=108"></script>\r
     <script src="/static/js/md5.min.js"></script>\r
 \r
     <!-- Bootstrap 3.3.5 -->\r
     <script src="/static/js/md5.min.js"></script>\r
 \r
     <!-- Bootstrap 3.3.5 -->\r
index 1e9a258ca0f6e07df8f5d13a48f1b10909f16113..7928fa81a615623510807ed2ecf201d17b542186 100644 (file)
           </div><!-- /.box-body -->\r
         </div><!-- /.box -->\r
         \r
           </div><!-- /.box-body -->\r
         </div><!-- /.box -->\r
         \r
+        \r
+        \r
+        <div class="box box-primary box-solid">\r
+          <div class="box-header with-border">\r
+            <h3 class="box-title" style="font-size: 14px;font-weight: bold;">VTOY_WIN11_BYPASS_NRO\r
+              <span id="id_span_desc_cn"> —— 绕过Windows 11 在线账户需求</span></h3>\r
+            <div class="box-tools pull-right">\r
+              <button class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i></button>\r
+            </div><!-- /.box-tools -->\r
+          </div><!-- /.box-header -->\r
+          <div class="box-body no-padding">\r
+              <table class="table table-bordered  no-padding">\r
+                  <tr style="font-weight:bold;">\r
+                    <td class="td_ctrl_col" id="td_title_setting">选项设置</td>\r
+                    <td>\r
+                      <label class="radio-inline">\r
+                          <input type="radio" id="id_ctrl_bypass_nro_radio0" name="id_ctrl_bypass_nro_radio" data-type="0" value="0"/> <span style="font-weight:bold;">0</span>\r
+                      </label>&nbsp;&nbsp;&nbsp;&nbsp;\r
+                      <label class="radio-inline">\r
+                          <input type="radio" id="id_ctrl_bypass_nro_radio1" name="id_ctrl_bypass_nro_radio" data-type="1" value="1"/> <span style="font-weight:bold;">1</span>\r
+                      </label>\r
+                    </td>\r
+                  </tr>\r
+                  <tr id="tr_title_desc_cn">\r
+                    <td class="td_ctrl_col" id="td_title_desc">选项说明</td>\r
+                    <td>\r
+                      <code style="font-weight: bold;">0</code> 不绕过Windows 11安装时的在线账户需求。<br/>\r
+                      <code style="font-weight: bold;">1</code> 绕过Windows 11安装时的在线账户需求。<br/><br/>\r
+                      该选项只对标准Windows 11 ISO文件有效,对于其他镜像文件无效。\r
+                      当设置为1时,Ventoy 会在安装时创建以下注册表项用来绕过 Windows 11 安装时对在线账户的需求。<br/>\r
+                      <code>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE\BypassNRO</code><br/>                      \r
+                    </td>\r
+                  </tr>\r
+                  <tr id="tr_title_desc_en">\r
+                    <td class="td_ctrl_col" id="td_title_desc">Option Description</td>\r
+                    <td>\r
+                      <code style="font-weight: bold;">0</code> Do not bypass Windows 11 online account requirement.<br/>\r
+                      <code style="font-weight: bold;">1</code> Bypass Windows 11 online account requirement. <br/><br/>\r
+                      This option only avaliable for standard Windows 11 ISO files.\r
+                      When set to 1, Ventoy will create the following registry to bypass Windows 11 online account requirement when install. <br/>\r
+                      <code>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE\BypassNRO</code>\r
+                    </td>\r
+                  </tr>\r
+              </table>\r
+          </div><!-- /.box-body -->\r
+        </div><!-- /.box -->\r
+        \r
       \r
       \r
 \r
       \r
       \r
 \r
     var level;\r
 \r
     data.win11_bypass_check = parseInt($('input:radio[name=id_ctrl_bypass_win11_radio]:checked').val());\r
     var level;\r
 \r
     data.win11_bypass_check = parseInt($('input:radio[name=id_ctrl_bypass_win11_radio]:checked').val());\r
+    data.win11_bypass_nro = parseInt($('input:radio[name=id_ctrl_bypass_nro_radio]:checked').val());\r
     data.linux_remount = parseInt($('input:radio[name=id_ctrl_linux_remount_radio]:checked').val());\r
     data.secondary_menu = parseInt($('input:radio[name=id_ctrl_secondary_radio]:checked').val());\r
     data.password_asterisk = parseInt($('input:radio[name=id_ctrl_asterisk_radio]:checked').val());\r
     data.linux_remount = parseInt($('input:radio[name=id_ctrl_linux_remount_radio]:checked').val());\r
     data.secondary_menu = parseInt($('input:radio[name=id_ctrl_secondary_radio]:checked').val());\r
     data.password_asterisk = parseInt($('input:radio[name=id_ctrl_asterisk_radio]:checked').val());\r
   function VtoyFillCurrentPageItem(data) {\r
     //VTOY_WIN11_BYPASS_CHECK\r
     $('input:radio[name=id_ctrl_bypass_win11_radio]')[data.win11_bypass_check].checked = true;\r
   function VtoyFillCurrentPageItem(data) {\r
     //VTOY_WIN11_BYPASS_CHECK\r
     $('input:radio[name=id_ctrl_bypass_win11_radio]')[data.win11_bypass_check].checked = true;\r
+    //VTOY_WIN11_BYPASS_NRO\r
+    $('input:radio[name=id_ctrl_bypass_nro_radio]')[data.win11_bypass_nro].checked = true;\r
     $('input:radio[name=id_ctrl_linux_remount_radio]')[data.linux_remount].checked = true;\r
     $('input:radio[name=id_ctrl_secondary_radio]')[data.secondary_menu].checked = true;\r
     $('input:radio[name=id_ctrl_asterisk_radio]')[data.password_asterisk].checked = true;\r
     $('input:radio[name=id_ctrl_linux_remount_radio]')[data.linux_remount].checked = true;\r
     $('input:radio[name=id_ctrl_secondary_radio]')[data.secondary_menu].checked = true;\r
     $('input:radio[name=id_ctrl_asterisk_radio]')[data.password_asterisk].checked = true;\r
       method : 'save_control',\r
       index: current_tab_index,\r
       win11_bypass_check: data.win11_bypass_check,\r
       method : 'save_control',\r
       index: current_tab_index,\r
       win11_bypass_check: data.win11_bypass_check,\r
+      win11_bypass_nro: data.win11_bypass_nro,\r
       linux_remount:data.linux_remount,\r
       secondary_menu:data.secondary_menu,\r
       password_asterisk:data.password_asterisk,\r
       linux_remount:data.linux_remount,\r
       secondary_menu:data.secondary_menu,\r
       password_asterisk:data.password_asterisk,\r
index bbf566e4cdd254d8d22e88caa3347a0e319de4d0..c68e988022aed326b74d2159e52f247a6f60cba3 100644 (file)
@@ -2022,7 +2022,7 @@ static int ProcessUnattendedInstallation(const char *script, DWORD PhyDrive)
     return 0;\r
 }\r
 \r
     return 0;\r
 }\r
 \r
-static int Windows11BypassCheck(const char *isofile, const char MntLetter)\r
+static int Windows11Bypass(const char *isofile, const char MntLetter, UINT8 Check, UINT8 NRO)\r
 {\r
     int Ret = 1;\r
     DWORD dwHandle;\r
 {\r
     int Ret = 1;\r
     DWORD dwHandle;\r
@@ -2034,7 +2034,7 @@ static int Windows11BypassCheck(const char *isofile, const char MntLetter)
     CHAR CheckFile[MAX_PATH];\r
     UINT16 Major, Minor, Build, Revision;\r
 \r
     CHAR CheckFile[MAX_PATH];\r
     UINT16 Major, Minor, Build, Revision;\r
 \r
-    Log("Windows11BypassCheck for <%s> %C:", isofile, MntLetter);\r
+    Log("Windows11Bypass for <%s> %C: Check:%u NRO:%u", isofile, MntLetter, Check, NRO);\r
 \r
     if (FALSE == IsFileExist("%C:\\sources\\boot.wim", MntLetter) ||\r
         FALSE == IsFileExist("%C:\\sources\\compatresources.dll", MntLetter))\r
 \r
     if (FALSE == IsFileExist("%C:\\sources\\boot.wim", MntLetter) ||\r
         FALSE == IsFileExist("%C:\\sources\\compatresources.dll", MntLetter))\r
@@ -2099,28 +2099,53 @@ static int Windows11BypassCheck(const char *isofile, const char MntLetter)
     HKEY hSubKey = NULL;\r
     LSTATUS Status;\r
 \r
     HKEY hSubKey = NULL;\r
     LSTATUS Status;\r
 \r
-    Status = RegCreateKeyExA(HKEY_LOCAL_MACHINE, "System\\Setup", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hKey, &dwSize);\r
-    if (ERROR_SUCCESS != Status)\r
+    if (Check)\r
     {\r
     {\r
-        Log("Failed to create reg key System\\Setup %u %u", LASTERR, Status);\r
-        goto End;\r
+        Status = RegCreateKeyExA(HKEY_LOCAL_MACHINE, "System\\Setup", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hKey, &dwSize);\r
+        if (ERROR_SUCCESS != Status)\r
+        {\r
+            Log("Failed to create reg key System\\Setup %u %u", LASTERR, Status);\r
+            goto End;\r
+        }\r
+\r
+        Status = RegCreateKeyExA(hKey, "LabConfig", 0, NULL, 0, KEY_SET_VALUE | KEY_QUERY_VALUE | KEY_CREATE_SUB_KEY, NULL, &hSubKey, &dwSize);\r
+        if (ERROR_SUCCESS != Status)\r
+        {\r
+            Log("Failed to create LabConfig reg  %u %u", LASTERR, Status);\r
+            goto End;\r
+        }\r
+\r
+        //set reg value\r
+        Status += RegSetValueExA(hSubKey, "BypassRAMCheck", 0, REG_DWORD, (LPBYTE)&dwValue, sizeof(DWORD));\r
+        Status += RegSetValueExA(hSubKey, "BypassTPMCheck", 0, REG_DWORD, (LPBYTE)&dwValue, sizeof(DWORD));\r
+        Status += RegSetValueExA(hSubKey, "BypassSecureBootCheck", 0, REG_DWORD, (LPBYTE)&dwValue, sizeof(DWORD));\r
+        Status += RegSetValueExA(hSubKey, "BypassStorageCheck", 0, REG_DWORD, (LPBYTE)&dwValue, sizeof(DWORD));\r
+        Status += RegSetValueExA(hSubKey, "BypassCPUCheck", 0, REG_DWORD, (LPBYTE)&dwValue, sizeof(DWORD));\r
+\r
+        Log("Create bypass check registry %s %u", (Status == ERROR_SUCCESS) ? "SUCCESS" : "FAILED", Status);\r
     }\r
 \r
     }\r
 \r
-    Status = RegCreateKeyExA(hKey, "LabConfig", 0, NULL, 0, KEY_SET_VALUE | KEY_QUERY_VALUE | KEY_CREATE_SUB_KEY, NULL, &hSubKey, &dwSize);\r
-    if (ERROR_SUCCESS != Status)\r
+\r
+    if (NRO)\r
     {\r
     {\r
-        Log("Failed to create LabConfig reg  %u %u", LASTERR, Status);\r
-        goto End;\r
-    }\r
+        Status = RegCreateKeyExA(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hKey, &dwSize);\r
+        if (ERROR_SUCCESS != Status)\r
+        {\r
+            Log("Failed to create reg key SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\OOBE %u %u", LASTERR, Status);\r
+            goto End;\r
+        }\r
 \r
 \r
-    //set reg value\r
-    Status += RegSetValueExA(hSubKey, "BypassRAMCheck", 0, REG_DWORD, (LPBYTE)&dwValue, sizeof(DWORD));\r
-    Status += RegSetValueExA(hSubKey, "BypassTPMCheck", 0, REG_DWORD, (LPBYTE)&dwValue, sizeof(DWORD));\r
-    Status += RegSetValueExA(hSubKey, "BypassSecureBootCheck", 0, REG_DWORD, (LPBYTE)&dwValue, sizeof(DWORD));\r
-    Status += RegSetValueExA(hSubKey, "BypassStorageCheck", 0, REG_DWORD, (LPBYTE)&dwValue, sizeof(DWORD));\r
-    Status += RegSetValueExA(hSubKey, "BypassCPUCheck", 0, REG_DWORD, (LPBYTE)&dwValue, sizeof(DWORD));\r
+        Status = RegCreateKeyExA(hKey, "OOBE", 0, NULL, 0, KEY_SET_VALUE | KEY_QUERY_VALUE | KEY_CREATE_SUB_KEY, NULL, &hSubKey, &dwSize);\r
+        if (ERROR_SUCCESS != Status)\r
+        {\r
+            Log("Failed to create OOBE reg  %u %u", LASTERR, Status);\r
+            goto End;\r
+        }\r
 \r
 \r
-    Log("Create bypass registry %s %u", (Status == ERROR_SUCCESS) ? "SUCCESS" : "FAILED", Status);\r
+        Status += RegSetValueExA(hSubKey, "BypassNRO", 0, REG_DWORD, (LPBYTE)&dwValue, sizeof(DWORD));\r
+        Log("Create BypassNRO registry %s %u", (Status == ERROR_SUCCESS) ? "SUCCESS" : "FAILED", Status);\r
+    }\r
+    \r
 \r
     Ret = 0;\r
 \r
 \r
     Ret = 0;\r
 \r
@@ -2353,9 +2378,9 @@ static int VentoyHook(ventoy_os_param *param)
     Log("Mount ISO FILE: %s", rc == 0 ? "SUCCESS" : "FAILED");\r
 \r
     //Windows 11 bypass check\r
     Log("Mount ISO FILE: %s", rc == 0 ? "SUCCESS" : "FAILED");\r
 \r
     //Windows 11 bypass check\r
-    if (g_windows_data.windows11_bypass_check == 1)\r
+    if (g_windows_data.windows11_bypass_check == 1 || g_windows_data.windows11_bypass_nro == 1)\r
     {\r
     {\r
-        Windows11BypassCheck(IsoPath, MntLetter);\r
+        Windows11Bypass(IsoPath, MntLetter, g_windows_data.windows11_bypass_check, g_windows_data.windows11_bypass_nro);\r
     }\r
 \r
     // for protect\r
     }\r
 \r
     // for protect\r
index 768d7cc29f012e09c32e148e463868cff862cdbc..335a6f49b7d535212a38253af73e846f0a995107 100644 (file)
@@ -75,7 +75,9 @@ typedef struct ventoy_windows_data
 \r
     UINT32 auto_install_len;\r
     \r
 \r
     UINT32 auto_install_len;\r
     \r
-    UINT8 reserved[255 - 4];\r
+    UINT8 windows11_bypass_nro;\r
+\r
+    UINT8 reserved[255 - 5];\r
 \r
     /* auto install script file data ... + auto_install_len */\r
     /* ...... */\r
 \r
     /* auto install script file data ... + auto_install_len */\r
     /* ...... */\r