mirror of https://github.com/ventoy/Ventoy.git
1. Add VTOY_WIN11_BYPASS_NRO option in Global Control Plugin.
2. Change the default value of VTOY_WIN11_BYPASS_CHECK and VTOY_WIN11_BYPASS_NRO options to 1.
This commit is contained in:
parent
54bca8c942
commit
f597497da6
|
@ -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_LINUX_REMOUNT", 0 },
|
||||||
{ "VTOY_SECONDARY_BOOT_MENU", 1 },
|
{ "VTOY_SECONDARY_BOOT_MENU", 1 },
|
||||||
{ NULL, 0 }
|
{ NULL, 0 }
|
||||||
|
|
|
@ -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, "/");
|
pos = grub_strstr(isopath, "/");
|
||||||
if (!pos)
|
if (!pos)
|
||||||
|
|
|
@ -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_intall file buf */
|
||||||
/* ...... + auto_install_len */
|
/* ...... + auto_install_len */
|
||||||
|
|
|
@ -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
|
# And the inside item order can not be changed
|
||||||
#
|
#
|
||||||
submenu "$VTLANG_CTRL_TEMP_SET" --class=debug_temp_set --class=F5tool {
|
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
|
if [ "$VTOY_LINUX_REMOUNT" = "0" ]; then
|
||||||
set VTOY_LINUX_REMOUNT=1
|
set VTOY_LINUX_REMOUNT=1
|
||||||
else
|
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
|
if [ "$VTOY_SECONDARY_BOOT_MENU" = "0" ]; then
|
||||||
set VTOY_SECONDARY_BOOT_MENU=1
|
set VTOY_SECONDARY_BOOT_MENU=1
|
||||||
else
|
else
|
||||||
|
|
|
@ -69,7 +69,8 @@
|
||||||
"VTLANG_ENTER_CONTINUE": "اضغط على مفتاح Enter للمتابعة",
|
"VTLANG_ENTER_CONTINUE": "اضغط على مفتاح Enter للمتابعة",
|
||||||
|
|
||||||
"VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
|
"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_LINUX_REMOUNT": "Mount Ventoy partition after boot Linux",
|
||||||
"VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
|
"VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
|
||||||
|
|
||||||
|
|
|
@ -83,7 +83,8 @@
|
||||||
"VTLANG_ENTER_CONTINUE": "চালিয়ে যেতে এন্টার কী টিপুন",
|
"VTLANG_ENTER_CONTINUE": "চালিয়ে যেতে এন্টার কী টিপুন",
|
||||||
|
|
||||||
"VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
|
"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_LINUX_REMOUNT": "Mount Ventoy partition after boot Linux",
|
||||||
"VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
|
"VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
|
||||||
|
|
||||||
|
|
|
@ -83,7 +83,8 @@
|
||||||
"VTLANG_ENTER_CONTINUE": "Drücken Sie die Eingabetaste, um fortzufahren",
|
"VTLANG_ENTER_CONTINUE": "Drücken Sie die Eingabetaste, um fortzufahren",
|
||||||
|
|
||||||
"VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
|
"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_LINUX_REMOUNT": "Mount Ventoy partition after boot Linux",
|
||||||
"VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
|
"VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
|
||||||
|
|
||||||
|
|
|
@ -83,7 +83,8 @@
|
||||||
"VTLANG_ENTER_CONTINUE": "press Enter key to continue",
|
"VTLANG_ENTER_CONTINUE": "press Enter key to continue",
|
||||||
|
|
||||||
"VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
|
"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_LINUX_REMOUNT": "Mount Ventoy partition after boot Linux",
|
||||||
"VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
|
"VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
|
||||||
|
|
||||||
|
|
|
@ -83,7 +83,8 @@
|
||||||
"VTLANG_ENTER_CONTINUE": "appuyez sur la touche Entrée pour continuer",
|
"VTLANG_ENTER_CONTINUE": "appuyez sur la touche Entrée pour continuer",
|
||||||
|
|
||||||
"VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
|
"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_LINUX_REMOUNT": "Mount Ventoy partition after boot Linux",
|
||||||
"VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
|
"VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
|
||||||
|
|
||||||
|
|
|
@ -83,7 +83,8 @@
|
||||||
"VTLANG_ENTER_CONTINUE": "जारी रखने के लिए एंटर कुंजी दबाएं",
|
"VTLANG_ENTER_CONTINUE": "जारी रखने के लिए एंटर कुंजी दबाएं",
|
||||||
|
|
||||||
"VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
|
"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_LINUX_REMOUNT": "Mount Ventoy partition after boot Linux",
|
||||||
"VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
|
"VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
|
||||||
|
|
||||||
|
|
|
@ -83,7 +83,8 @@
|
||||||
"VTLANG_ENTER_CONTINUE": "pritisnite tipku Enter za nastavak",
|
"VTLANG_ENTER_CONTINUE": "pritisnite tipku Enter za nastavak",
|
||||||
|
|
||||||
"VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
|
"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_LINUX_REMOUNT": "Mount Ventoy partition after boot Linux",
|
||||||
"VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
|
"VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{
|
|
||||||
"VTLANG_LANGUAGE_NAME": "Hungarian (Magyar)",
|
"VTLANG_LANGUAGE_NAME": "Hungarian (Magyar)",
|
||||||
|
|
||||||
"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ü",
|
"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ü",
|
||||||
|
@ -83,7 +83,8 @@
|
||||||
"VTLANG_ENTER_CONTINUE": "a folytatáshoz nyomja meg az Enter billentyűt",
|
"VTLANG_ENTER_CONTINUE": "a folytatáshoz nyomja meg az Enter billentyűt",
|
||||||
|
|
||||||
"VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
|
"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_LINUX_REMOUNT": "Mount Ventoy partition after boot Linux",
|
||||||
"VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
|
"VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
|
||||||
|
|
||||||
|
|
|
@ -83,7 +83,8 @@
|
||||||
"VTLANG_ENTER_CONTINUE": "tekan tombol Enter untuk melanjutkan",
|
"VTLANG_ENTER_CONTINUE": "tekan tombol Enter untuk melanjutkan",
|
||||||
|
|
||||||
"VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
|
"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_LINUX_REMOUNT": "Mount Ventoy partition after boot Linux",
|
||||||
"VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
|
"VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
|
||||||
|
|
||||||
|
|
|
@ -83,7 +83,8 @@
|
||||||
"VTLANG_ENTER_CONTINUE": "[Enter]を押して続行します",
|
"VTLANG_ENTER_CONTINUE": "[Enter]を押して続行します",
|
||||||
|
|
||||||
"VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
|
"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_LINUX_REMOUNT": "Mount Ventoy partition after boot Linux",
|
||||||
"VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
|
"VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
|
||||||
|
|
||||||
|
|
|
@ -83,7 +83,8 @@
|
||||||
"VTLANG_ENTER_CONTINUE": "გასაგრძელებლად დააჭირეთ Enter ღილაკს",
|
"VTLANG_ENTER_CONTINUE": "გასაგრძელებლად დააჭირეთ Enter ღილაკს",
|
||||||
|
|
||||||
"VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
|
"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_LINUX_REMOUNT": "Mount Ventoy partition after boot Linux",
|
||||||
"VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
|
"VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
|
||||||
|
|
||||||
|
|
|
@ -84,6 +84,7 @@
|
||||||
|
|
||||||
"VTLANG_CTRL_TEMP_SET": "임시 제어 설정",
|
"VTLANG_CTRL_TEMP_SET": "임시 제어 설정",
|
||||||
"VTLANG_WIN11_BYPASS_CHECK": "Windows 11을 설치할 때 우회 점검",
|
"VTLANG_WIN11_BYPASS_CHECK": "Windows 11을 설치할 때 우회 점검",
|
||||||
|
"VTLANG_WIN11_BYPASS_NRO": "Bypass online account requirement when install Windows 11",
|
||||||
"VTLANG_LINUX_REMOUNT": "Linux 부트 후 Ventoy 파티션 마운트",
|
"VTLANG_LINUX_REMOUNT": "Linux 부트 후 Ventoy 파티션 마운트",
|
||||||
"VTLANG_SECONDARY_BOOT_MENU": "보조 부트 메뉴 표시",
|
"VTLANG_SECONDARY_BOOT_MENU": "보조 부트 메뉴 표시",
|
||||||
|
|
||||||
|
|
|
@ -83,7 +83,8 @@
|
||||||
"VTLANG_ENTER_CONTINUE": "naciśnij klawisz Enter, aby kontynuować",
|
"VTLANG_ENTER_CONTINUE": "naciśnij klawisz Enter, aby kontynuować",
|
||||||
|
|
||||||
"VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
|
"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_LINUX_REMOUNT": "Mount Ventoy partition after boot Linux",
|
||||||
"VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
|
"VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
|
||||||
|
|
||||||
|
|
|
@ -83,7 +83,8 @@
|
||||||
"VTLANG_ENTER_CONTINUE": "pressione a tecla Enter para continuar",
|
"VTLANG_ENTER_CONTINUE": "pressione a tecla Enter para continuar",
|
||||||
|
|
||||||
"VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
|
"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_LINUX_REMOUNT": "Mount Ventoy partition after boot Linux",
|
||||||
"VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
|
"VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
|
||||||
|
|
||||||
|
|
|
@ -84,6 +84,7 @@
|
||||||
|
|
||||||
"VTLANG_CTRL_TEMP_SET": "Настройки временного управления",
|
"VTLANG_CTRL_TEMP_SET": "Настройки временного управления",
|
||||||
"VTLANG_WIN11_BYPASS_CHECK": "Обойти проверку при установке Windows 11",
|
"VTLANG_WIN11_BYPASS_CHECK": "Обойти проверку при установке Windows 11",
|
||||||
|
"VTLANG_WIN11_BYPASS_NRO": "Bypass online account requirement when install Windows 11",
|
||||||
"VTLANG_LINUX_REMOUNT": "Смонтировать раздел Ventoy после загрузки Linux",
|
"VTLANG_LINUX_REMOUNT": "Смонтировать раздел Ventoy после загрузки Linux",
|
||||||
"VTLANG_SECONDARY_BOOT_MENU": "Показать вторичное загрузочное меню",
|
"VTLANG_SECONDARY_BOOT_MENU": "Показать вторичное загрузочное меню",
|
||||||
|
|
||||||
|
|
|
@ -83,7 +83,8 @@
|
||||||
"VTLANG_ENTER_CONTINUE": "press Enter key to continue",
|
"VTLANG_ENTER_CONTINUE": "press Enter key to continue",
|
||||||
|
|
||||||
"VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
|
"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_LINUX_REMOUNT": "Mount Ventoy partition after boot Linux",
|
||||||
"VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
|
"VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
|
||||||
|
|
||||||
|
|
|
@ -83,7 +83,8 @@
|
||||||
"VTLANG_ENTER_CONTINUE": "தொடர Enter விசையை அழுத்தவும்",
|
"VTLANG_ENTER_CONTINUE": "தொடர Enter விசையை அழுத்தவும்",
|
||||||
|
|
||||||
"VTLANG_CTRL_TEMP_SET": "Temporary Control Settings",
|
"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_LINUX_REMOUNT": "Mount Ventoy partition after boot Linux",
|
||||||
"VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
|
"VTLANG_SECONDARY_BOOT_MENU": "Show secondary boot menu",
|
||||||
|
|
||||||
|
|
|
@ -84,6 +84,7 @@
|
||||||
|
|
||||||
"VTLANG_CTRL_TEMP_SET": "Geçici Kontrol Ayarları",
|
"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_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_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_SECONDARY_BOOT_MENU": "İkincil önyükleme menüsünü göster",
|
||||||
|
|
||||||
|
|
|
@ -83,7 +83,8 @@
|
||||||
"VTLANG_ENTER_CONTINUE": "按回车键继续",
|
"VTLANG_ENTER_CONTINUE": "按回车键继续",
|
||||||
|
|
||||||
"VTLANG_CTRL_TEMP_SET": "控制变量设置",
|
"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_LINUX_REMOUNT": "启动 Linux 系统后挂载 Ventoy 分区",
|
||||||
"VTLANG_SECONDARY_BOOT_MENU": "显示二级启动菜单",
|
"VTLANG_SECONDARY_BOOT_MENU": "显示二级启动菜单",
|
||||||
|
|
||||||
|
|
|
@ -83,7 +83,8 @@
|
||||||
"VTLANG_ENTER_CONTINUE": "按回車鍵繼續",
|
"VTLANG_ENTER_CONTINUE": "按回車鍵繼續",
|
||||||
|
|
||||||
"VTLANG_CTRL_TEMP_SET": "控制變量設置",
|
"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_LINUX_REMOUNT": "啟動 Linux 系統後掛載 Ventoy 分區",
|
||||||
"VTLANG_SECONDARY_BOOT_MENU": "顯示二級啟動菜單",
|
"VTLANG_SECONDARY_BOOT_MENU": "顯示二級啟動菜單",
|
||||||
|
|
||||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -557,6 +557,8 @@ void ventoy_data_default_control(data_control *data)
|
||||||
data->max_search_level = -1;
|
data->max_search_level = -1;
|
||||||
data->menu_timeout = 0;
|
data->menu_timeout = 0;
|
||||||
data->secondary_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->default_kbd_layout, "QWERTY_USA");
|
||||||
strlcpy(data->menu_language, "en_US");
|
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_vhd != data2->filter_vhd ||
|
||||||
data1->filter_vtoy != data2->filter_vtoy ||
|
data1->filter_vtoy != data2->filter_vtoy ||
|
||||||
data1->win11_bypass_check != data2->win11_bypass_check ||
|
data1->win11_bypass_check != data2->win11_bypass_check ||
|
||||||
|
data1->win11_bypass_nro != data2->win11_bypass_nro ||
|
||||||
data1->linux_remount != data2->linux_remount ||
|
data1->linux_remount != data2->linux_remount ||
|
||||||
data1->password_asterisk != data2->password_asterisk ||
|
data1->password_asterisk != data2->password_asterisk ||
|
||||||
data1->secondary_menu != data2->secondary_menu ||
|
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_VHD", filter_vhd);
|
||||||
VTOY_JSON_FMT_CTRL_INT(L2, "VTOY_FILE_FLT_VTOY", filter_vtoy);
|
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_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_LINUX_REMOUNT", linux_remount);
|
||||||
VTOY_JSON_FMT_CTRL_INT(L2, "VTOY_SECONDARY_BOOT_MENU", secondary_menu);
|
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_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_vhd", ctrl->filter_vhd);
|
||||||
VTOY_JSON_FMT_SINT("filter_vtoy", ctrl->filter_vtoy);
|
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_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("linux_remount", ctrl->linux_remount);
|
||||||
VTOY_JSON_FMT_SINT("secondary_menu", ctrl->secondary_menu);
|
VTOY_JSON_FMT_SINT("secondary_menu", ctrl->secondary_menu);
|
||||||
VTOY_JSON_FMT_SINT("password_asterisk", ctrl->password_asterisk);
|
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_vhd", ctrl->filter_vhd);
|
||||||
VTOY_JSON_INT("filter_vtoy", ctrl->filter_vtoy);
|
VTOY_JSON_INT("filter_vtoy", ctrl->filter_vtoy);
|
||||||
VTOY_JSON_INT("win11_bypass_check", ctrl->win11_bypass_check);
|
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("linux_remount", ctrl->linux_remount);
|
||||||
VTOY_JSON_INT("secondary_menu", ctrl->secondary_menu);
|
VTOY_JSON_INT("secondary_menu", ctrl->secondary_menu);
|
||||||
VTOY_JSON_INT("password_asterisk", ctrl->password_asterisk);
|
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)
|
else if (strcmp(child->pcName, "VTOY_LINUX_REMOUNT") == 0)
|
||||||
{
|
{
|
||||||
CONTROL_PARSE_INT_DEF_0(child, data->linux_remount);
|
CONTROL_PARSE_INT_DEF_0(child, data->linux_remount);
|
||||||
|
|
|
@ -75,6 +75,7 @@ typedef struct data_control
|
||||||
int filter_vhd;
|
int filter_vhd;
|
||||||
int filter_vtoy;
|
int filter_vtoy;
|
||||||
int win11_bypass_check;
|
int win11_bypass_check;
|
||||||
|
int win11_bypass_nro;
|
||||||
int menu_timeout;
|
int menu_timeout;
|
||||||
int secondary_menu_timeout;
|
int secondary_menu_timeout;
|
||||||
int linux_remount;
|
int linux_remount;
|
||||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -777,10 +777,10 @@
|
||||||
<script src="/static/js/jQuery-2.1.4.min.js"></script>
|
<script src="/static/js/jQuery-2.1.4.min.js"></script>
|
||||||
<!-- jquery validate -->
|
<!-- jquery validate -->
|
||||||
<script src="/static/js/jquery.validate.min.js"></script>
|
<script src="/static/js/jquery.validate.min.js"></script>
|
||||||
<script src="/static/js/jquery.validate.vtoymethods.js?v=106"></script>
|
<script src="/static/js/jquery.validate.vtoymethods.js?v=108"></script>
|
||||||
|
|
||||||
<script src="/static/js/jquery.vtoy.alert.js?v=106"></script>
|
<script src="/static/js/jquery.vtoy.alert.js?v=108"></script>
|
||||||
<script src="/static/js/vtoy.js?v=106"></script>
|
<script src="/static/js/vtoy.js?v=108"></script>
|
||||||
<script src="/static/js/md5.min.js"></script>
|
<script src="/static/js/md5.min.js"></script>
|
||||||
|
|
||||||
<!-- Bootstrap 3.3.5 -->
|
<!-- Bootstrap 3.3.5 -->
|
||||||
|
|
|
@ -172,6 +172,53 @@
|
||||||
</div><!-- /.box-body -->
|
</div><!-- /.box-body -->
|
||||||
</div><!-- /.box -->
|
</div><!-- /.box -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="box box-primary box-solid">
|
||||||
|
<div class="box-header with-border">
|
||||||
|
<h3 class="box-title" style="font-size: 14px;font-weight: bold;">VTOY_WIN11_BYPASS_NRO
|
||||||
|
<span id="id_span_desc_cn"> —— 绕过Windows 11 在线账户需求</span></h3>
|
||||||
|
<div class="box-tools pull-right">
|
||||||
|
<button class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i></button>
|
||||||
|
</div><!-- /.box-tools -->
|
||||||
|
</div><!-- /.box-header -->
|
||||||
|
<div class="box-body no-padding">
|
||||||
|
<table class="table table-bordered no-padding">
|
||||||
|
<tr style="font-weight:bold;">
|
||||||
|
<td class="td_ctrl_col" id="td_title_setting">选项设置</td>
|
||||||
|
<td>
|
||||||
|
<label class="radio-inline">
|
||||||
|
<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>
|
||||||
|
</label>
|
||||||
|
<label class="radio-inline">
|
||||||
|
<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>
|
||||||
|
</label>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr id="tr_title_desc_cn">
|
||||||
|
<td class="td_ctrl_col" id="td_title_desc">选项说明</td>
|
||||||
|
<td>
|
||||||
|
<code style="font-weight: bold;">0</code> 不绕过Windows 11安装时的在线账户需求。<br/>
|
||||||
|
<code style="font-weight: bold;">1</code> 绕过Windows 11安装时的在线账户需求。<br/><br/>
|
||||||
|
该选项只对标准Windows 11 ISO文件有效,对于其他镜像文件无效。
|
||||||
|
当设置为1时,Ventoy 会在安装时创建以下注册表项用来绕过 Windows 11 安装时对在线账户的需求。<br/>
|
||||||
|
<code>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE\BypassNRO</code><br/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr id="tr_title_desc_en">
|
||||||
|
<td class="td_ctrl_col" id="td_title_desc">Option Description</td>
|
||||||
|
<td>
|
||||||
|
<code style="font-weight: bold;">0</code> Do not bypass Windows 11 online account requirement.<br/>
|
||||||
|
<code style="font-weight: bold;">1</code> Bypass Windows 11 online account requirement. <br/><br/>
|
||||||
|
This option only avaliable for standard Windows 11 ISO files.
|
||||||
|
When set to 1, Ventoy will create the following registry to bypass Windows 11 online account requirement when install. <br/>
|
||||||
|
<code>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE\BypassNRO</code>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><!-- /.box-body -->
|
||||||
|
</div><!-- /.box -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1060,6 +1107,7 @@
|
||||||
var level;
|
var level;
|
||||||
|
|
||||||
data.win11_bypass_check = parseInt($('input:radio[name=id_ctrl_bypass_win11_radio]:checked').val());
|
data.win11_bypass_check = parseInt($('input:radio[name=id_ctrl_bypass_win11_radio]:checked').val());
|
||||||
|
data.win11_bypass_nro = parseInt($('input:radio[name=id_ctrl_bypass_nro_radio]:checked').val());
|
||||||
data.linux_remount = parseInt($('input:radio[name=id_ctrl_linux_remount_radio]:checked').val());
|
data.linux_remount = parseInt($('input:radio[name=id_ctrl_linux_remount_radio]:checked').val());
|
||||||
data.secondary_menu = parseInt($('input:radio[name=id_ctrl_secondary_radio]:checked').val());
|
data.secondary_menu = parseInt($('input:radio[name=id_ctrl_secondary_radio]:checked').val());
|
||||||
data.password_asterisk = parseInt($('input:radio[name=id_ctrl_asterisk_radio]:checked').val());
|
data.password_asterisk = parseInt($('input:radio[name=id_ctrl_asterisk_radio]:checked').val());
|
||||||
|
@ -1096,6 +1144,8 @@
|
||||||
function VtoyFillCurrentPageItem(data) {
|
function VtoyFillCurrentPageItem(data) {
|
||||||
//VTOY_WIN11_BYPASS_CHECK
|
//VTOY_WIN11_BYPASS_CHECK
|
||||||
$('input:radio[name=id_ctrl_bypass_win11_radio]')[data.win11_bypass_check].checked = true;
|
$('input:radio[name=id_ctrl_bypass_win11_radio]')[data.win11_bypass_check].checked = true;
|
||||||
|
//VTOY_WIN11_BYPASS_NRO
|
||||||
|
$('input:radio[name=id_ctrl_bypass_nro_radio]')[data.win11_bypass_nro].checked = true;
|
||||||
$('input:radio[name=id_ctrl_linux_remount_radio]')[data.linux_remount].checked = true;
|
$('input:radio[name=id_ctrl_linux_remount_radio]')[data.linux_remount].checked = true;
|
||||||
$('input:radio[name=id_ctrl_secondary_radio]')[data.secondary_menu].checked = true;
|
$('input:radio[name=id_ctrl_secondary_radio]')[data.secondary_menu].checked = true;
|
||||||
$('input:radio[name=id_ctrl_asterisk_radio]')[data.password_asterisk].checked = true;
|
$('input:radio[name=id_ctrl_asterisk_radio]')[data.password_asterisk].checked = true;
|
||||||
|
@ -1202,6 +1252,7 @@
|
||||||
method : 'save_control',
|
method : 'save_control',
|
||||||
index: current_tab_index,
|
index: current_tab_index,
|
||||||
win11_bypass_check: data.win11_bypass_check,
|
win11_bypass_check: data.win11_bypass_check,
|
||||||
|
win11_bypass_nro: data.win11_bypass_nro,
|
||||||
linux_remount:data.linux_remount,
|
linux_remount:data.linux_remount,
|
||||||
secondary_menu:data.secondary_menu,
|
secondary_menu:data.secondary_menu,
|
||||||
password_asterisk:data.password_asterisk,
|
password_asterisk:data.password_asterisk,
|
||||||
|
|
|
@ -2022,7 +2022,7 @@ static int ProcessUnattendedInstallation(const char *script, DWORD PhyDrive)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int Windows11BypassCheck(const char *isofile, const char MntLetter)
|
static int Windows11Bypass(const char *isofile, const char MntLetter, UINT8 Check, UINT8 NRO)
|
||||||
{
|
{
|
||||||
int Ret = 1;
|
int Ret = 1;
|
||||||
DWORD dwHandle;
|
DWORD dwHandle;
|
||||||
|
@ -2034,7 +2034,7 @@ static int Windows11BypassCheck(const char *isofile, const char MntLetter)
|
||||||
CHAR CheckFile[MAX_PATH];
|
CHAR CheckFile[MAX_PATH];
|
||||||
UINT16 Major, Minor, Build, Revision;
|
UINT16 Major, Minor, Build, Revision;
|
||||||
|
|
||||||
Log("Windows11BypassCheck for <%s> %C:", isofile, MntLetter);
|
Log("Windows11Bypass for <%s> %C: Check:%u NRO:%u", isofile, MntLetter, Check, NRO);
|
||||||
|
|
||||||
if (FALSE == IsFileExist("%C:\\sources\\boot.wim", MntLetter) ||
|
if (FALSE == IsFileExist("%C:\\sources\\boot.wim", MntLetter) ||
|
||||||
FALSE == IsFileExist("%C:\\sources\\compatresources.dll", MntLetter))
|
FALSE == IsFileExist("%C:\\sources\\compatresources.dll", MntLetter))
|
||||||
|
@ -2099,28 +2099,53 @@ static int Windows11BypassCheck(const char *isofile, const char MntLetter)
|
||||||
HKEY hSubKey = NULL;
|
HKEY hSubKey = NULL;
|
||||||
LSTATUS Status;
|
LSTATUS Status;
|
||||||
|
|
||||||
Status = RegCreateKeyExA(HKEY_LOCAL_MACHINE, "System\\Setup", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hKey, &dwSize);
|
if (Check)
|
||||||
if (ERROR_SUCCESS != Status)
|
|
||||||
{
|
{
|
||||||
Log("Failed to create reg key System\\Setup %u %u", LASTERR, Status);
|
Status = RegCreateKeyExA(HKEY_LOCAL_MACHINE, "System\\Setup", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hKey, &dwSize);
|
||||||
goto End;
|
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 check registry %s %u", (Status == ERROR_SUCCESS) ? "SUCCESS" : "FAILED", Status);
|
||||||
}
|
}
|
||||||
|
|
||||||
Status = RegCreateKeyExA(hKey, "LabConfig", 0, NULL, 0, KEY_SET_VALUE | KEY_QUERY_VALUE | KEY_CREATE_SUB_KEY, NULL, &hSubKey, &dwSize);
|
|
||||||
if (ERROR_SUCCESS != Status)
|
if (NRO)
|
||||||
{
|
{
|
||||||
Log("Failed to create LabConfig reg %u %u", LASTERR, Status);
|
Status = RegCreateKeyExA(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hKey, &dwSize);
|
||||||
goto End;
|
if (ERROR_SUCCESS != Status)
|
||||||
|
{
|
||||||
|
Log("Failed to create reg key SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\OOBE %u %u", LASTERR, Status);
|
||||||
|
goto End;
|
||||||
|
}
|
||||||
|
|
||||||
|
Status = RegCreateKeyExA(hKey, "OOBE", 0, NULL, 0, KEY_SET_VALUE | KEY_QUERY_VALUE | KEY_CREATE_SUB_KEY, NULL, &hSubKey, &dwSize);
|
||||||
|
if (ERROR_SUCCESS != Status)
|
||||||
|
{
|
||||||
|
Log("Failed to create OOBE reg %u %u", LASTERR, Status);
|
||||||
|
goto End;
|
||||||
|
}
|
||||||
|
|
||||||
|
Status += RegSetValueExA(hSubKey, "BypassNRO", 0, REG_DWORD, (LPBYTE)&dwValue, sizeof(DWORD));
|
||||||
|
Log("Create BypassNRO registry %s %u", (Status == ERROR_SUCCESS) ? "SUCCESS" : "FAILED", Status);
|
||||||
}
|
}
|
||||||
|
|
||||||
//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;
|
Ret = 0;
|
||||||
|
|
||||||
|
@ -2353,9 +2378,9 @@ static int VentoyHook(ventoy_os_param *param)
|
||||||
Log("Mount ISO FILE: %s", rc == 0 ? "SUCCESS" : "FAILED");
|
Log("Mount ISO FILE: %s", rc == 0 ? "SUCCESS" : "FAILED");
|
||||||
|
|
||||||
//Windows 11 bypass check
|
//Windows 11 bypass check
|
||||||
if (g_windows_data.windows11_bypass_check == 1)
|
if (g_windows_data.windows11_bypass_check == 1 || g_windows_data.windows11_bypass_nro == 1)
|
||||||
{
|
{
|
||||||
Windows11BypassCheck(IsoPath, MntLetter);
|
Windows11Bypass(IsoPath, MntLetter, g_windows_data.windows11_bypass_check, g_windows_data.windows11_bypass_nro);
|
||||||
}
|
}
|
||||||
|
|
||||||
// for protect
|
// for protect
|
||||||
|
|
|
@ -75,7 +75,9 @@ typedef struct ventoy_windows_data
|
||||||
|
|
||||||
UINT32 auto_install_len;
|
UINT32 auto_install_len;
|
||||||
|
|
||||||
UINT8 reserved[255 - 4];
|
UINT8 windows11_bypass_nro;
|
||||||
|
|
||||||
|
UINT8 reserved[255 - 5];
|
||||||
|
|
||||||
/* auto install script file data ... + auto_install_len */
|
/* auto install script file data ... + auto_install_len */
|
||||||
/* ...... */
|
/* ...... */
|
||||||
|
|
Loading…
Reference in New Issue