Revaltor Опубликовано 21 августа, 2025 Поделиться Опубликовано 21 августа, 2025 (изменено) 1 час назад, xEvaSaintx сказал: попробуй в главном окне shift+F1 нажать или ctrl+shift+F1, у меня был тоже комп у которого расширенные настройки прятали пока не нажмёшь что то такое Пробовал все комбинации которые нашел в интернете. И при выключенном ,и при перезагружаемом и при активном BIOS... Толку 0. Единственное, когда поставил пароль админа BIOS начал двигаться ползунок, включения/отключения (вы поняли) СЕСЮРИТИ БООТ. P.S. Ноут Acer Nitro V 16 ANV16-41 Изменено 21 августа, 2025 пользователем Revaltor 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
zuz Опубликовано 22 августа, 2025 Поделиться Опубликовано 22 августа, 2025 7 часов назад, Revaltor сказал: Пробовал все комбинации которые нашел в интернете. И при выключенном ,и при перезагружаемом и при активном BIOS... Толку 0. Единственное, когда поставил пароль админа BIOS начал двигаться ползунок, включения/отключения (вы поняли) СЕСЮРИТИ БООТ. P.S. Ноут Acer Nitro V 16 ANV16-41 Там Дрин вроде починил все, у тебя также не работает? Попробуй переустановить Виндоус с помощью файла ответов, его можно создать онлайн. Там куча настроек можно отключить и виртуализации при установке 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Revaltor Опубликовано 22 августа, 2025 Поделиться Опубликовано 22 августа, 2025 3 часа назад, zuz сказал: Там Дрин вроде починил все, у тебя также не работает? Попробуй переустановить Виндоус с помощью файла ответов, его можно создать онлайн. Там куча настроек можно отключить и виртуализации при установке Винда лицензия с сайта Майкрософт, чистая. Лазил по настройкам, там где показывали Hiper-v отключить, там все отключено и виртуализация тоже. Кстати Винду два раза сносил заново. Тут загадка в BIOSе, куда я не могу добраться... 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
zuz Опубликовано 25 августа, 2025 Поделиться Опубликовано 25 августа, 2025 (изменено) 22.08.2025 в 06:37, Revaltor сказал: Винда лицензия с сайта Майкрософт, чистая. Лазил по настройкам, там где показывали Hiper-v отключить, там все отключено и виртуализация тоже. Кстати Винду два раза сносил заново. Тут загадка в BIOSе, куда я не могу добраться... Ответ ии вдруг поможет) Ctrl + S пробовал чтобы увидеть скрытые настройки? Скрытый текст Для того чтобы отключить виртуализацию (VT или SVM) в BIOS на ноутбуке Acer Nitro V 16 ANV16-41, нужно войти в BIOS, найти соответствующую настройку и выключить её. Вход в BIOS Выключите ноутбук полностью. Включите устройство и сразу же многократно нажимайте клавишу F2 до появления меню BIOS. Если F2 не срабатывает, иногда может потребоваться сочетание Fn + F2. Отключение виртуализации В меню BIOS перейдите с помощью стрелок на вкладку Advanced. Найдите пункт Intel VT-x или AMD-SVM (в зависимости от процессора устройства). Для AMD это обычно SVM или AMD-IOMMU. Если опции не отображаются, попробуйте нажать Ctrl + S — у некоторых моделей Acer так открываются скрытые параметры. Выберите нужную опцию (например, “SVM Mode” или “Intel Virtualization Technology”) и установите значение Disabled. Для сохранения изменений нажмите F10 и подтвердите (Yes). Важно Иногда опция виртуализации по умолчанию включена и может быть недоступна для изменения на некоторых моделях. Если не удаётся найти настройку, убедитесь, что у вас обновлён BIOS до последней версии — иногда новые настройки становятся доступны после обновления. Если выполнение вышеуказанных действий не приводит к появлению нужной опции, скорее всего, функция скрыта или заблокирована производителем для этой модели. Изменено 25 августа, 2025 пользователем zuz 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Revaltor Опубликовано 4 сентября, 2025 Поделиться Опубликовано 4 сентября, 2025 В 25.08.2025 в 05:32, zuz сказал: Ответ ии вдруг поможет) Ctrl + S пробовал чтобы увидеть скрытые настройки? Показать контент Для того чтобы отключить виртуализацию (VT или SVM) в BIOS на ноутбуке Acer Nitro V 16 ANV16-41, нужно войти в BIOS, найти соответствующую настройку и выключить её. Вход в BIOS Выключите ноутбук полностью. Включите устройство и сразу же многократно нажимайте клавишу F2 до появления меню BIOS. Если F2 не срабатывает, иногда может потребоваться сочетание Fn + F2. Отключение виртуализации В меню BIOS перейдите с помощью стрелок на вкладку Advanced. Найдите пункт Intel VT-x или AMD-SVM (в зависимости от процессора устройства). Для AMD это обычно SVM или AMD-IOMMU. Если опции не отображаются, попробуйте нажать Ctrl + S — у некоторых моделей Acer так открываются скрытые параметры. Выберите нужную опцию (например, “SVM Mode” или “Intel Virtualization Technology”) и установите значение Disabled. Для сохранения изменений нажмите F10 и подтвердите (Yes). Важно Иногда опция виртуализации по умолчанию включена и может быть недоступна для изменения на некоторых моделях. Если не удаётся найти настройку, убедитесь, что у вас обновлён BIOS до последней версии — иногда новые настройки становятся доступны после обновления. Если выполнение вышеуказанных действий не приводит к появлению нужной опции, скорее всего, функция скрыта или заблокирована производителем для этой модели. ноль реакции на эти манипуляции 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рио Опубликовано 7 сентября, 2025 Поделиться Опубликовано 7 сентября, 2025 (изменено) 18.08.2025 в 18:52, Revaltor сказал: Завтра попробую, отпишусь...😀 Короче попробовал. Всеравно вылетает ошибка - печалька. пойду танчики дротить... попробуй также Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\DeviceGuard" -Name "EnableVirtualizationBasedSecurity" -Value 0 должно помочь сегодня ставил чистую винду, и без отключения клиент не стартовал вот полный список команд для отключения всевозможной виртуализации в новых Win11: Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" -Name Enabled -Value 0 Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\DeviceGuard" -Name "EnableVirtualizationBasedSecurity" -Value 0 Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All Disable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform Disable-WindowsOptionalFeature -Online -FeatureName WindowsHypervisorPlatform bcdedit /set hypervisorlaunchtype off Если это не помогло то в 99.9% проблема в включенной виртуализации в биосе Изменено 7 сентября, 2025 пользователем Рио 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
zotikos Опубликовано 13 сентября, 2025 Поделиться Опубликовано 13 сентября, 2025 Шаманить с биосом - плохая идея, фикс обязательно будет, но к этому времени ты просто превратишь свой ноут в кирпич. Не слушай горе советчиков, лучше играй в танки. 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Revaltor Опубликовано 17 сентября, 2025 Поделиться Опубликовано 17 сентября, 2025 В 13.09.2025 в 09:39, zotikos сказал: Шаманить с биосом - плохая идея, фикс обязательно будет, но к этому времени ты просто превратишь свой ноут в кирпич. Не слушай горе советчиков, лучше играй в танки. Та забил я на эти танцы с бубном. Еще недайбоже кирпич сделаю. Буду ждать фикс. А от танков давление поднимается ))) так на старенькие экшены подсел))) 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
crew Опубликовано 19 сентября, 2025 Поделиться Опубликовано 19 сентября, 2025 On 9/13/2025 at 9:39 AM, zotikos said: фикс обязательно будет On 9/17/2025 at 7:58 PM, Revaltor said: Та забил я на эти танцы с бубном. Еще недайбоже кирпич сделаю. Буду ждать фикс. если проблема именно в виртуализации то не будет фикса. Вопрос есть ли она в биосе или смогли ее коректно отрубить в самой винде. 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рио Опубликовано 6 октября, 2025 Поделиться Опубликовано 6 октября, 2025 (изменено) Я же написал в посте 7 сентября полный список команд для отключения виртуализации они помогают в 99.9% случаев если не помогли - значит ты крабас Изменено 6 октября, 2025 пользователем Рио 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
ixthUA Опубликовано 13 ноября, 2025 Поделиться Опубликовано 13 ноября, 2025 Ноут Асер с процессором AMD 8840HS, в биосе нету настройки виртуализации, Ctrl + S не показывает скрытые настройки, но в винде виртуализация включена (вин11 25Н2), соответственна игра не запускается (пишет что не может работать под виртуальной машиной). Советы по отключению виртуализации из этой темы не помогли. На компе (процессор Intel i5-11400F) с вин11 25Н2 виртуализация в биосе включена, но изоляция ядра отключена в настройках винды, игра работает. По-моему тут дело в чем-то другом. 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
ixthUA Опубликовано 15 ноября, 2025 Поделиться Опубликовано 15 ноября, 2025 Рылся в настройках защиты и нашел это: Memory Access Protections не удается отключить никак, в графическом интерфейсе просто нет ползунка на отключение, в редакторе реестра на отключение не реагирует. Это часть изоляции ядра, которое видимо не дает запустить игру. Попробую установить виндовс 10, хоть под нее официально нет драйверов. 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
ixthUA Опубликовано 15 ноября, 2025 Поделиться Опубликовано 15 ноября, 2025 (изменено) Установил 10-ю винду вместо 11-й, дрова с 11-й стали нормально на 10-ю, виртуализация в биосе включена, в винде ничего не настраивал, в безопасности винды memory integrity отключено по умолчанию, л2 астериос заработало. В общем 11-я винда это помойка, в ней не только астериос не работал, но и другой софт. Винду 10 все еще можно скачать с официального сайта микрософт: https://www.microsoft.com/ru-ru/software-download/windows10 Изменено 15 ноября, 2025 пользователем ixthUA 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рио Опубликовано 16 ноября, 2025 Поделиться Опубликовано 16 ноября, 2025 (изменено) 15.11.2025 в 04:20, ixthUA сказал: Установил 10-ю винду вместо 11-й, дрова с 11-й стали нормально на 10-ю, виртуализация в биосе включена, в винде ничего не настраивал, в безопасности винды memory integrity отключено по умолчанию, л2 астериос заработало. В общем 11-я винда это помойка, в ней не только астериос не работал, но и другой софт. Винду 10 все еще можно скачать с официального сайта микрософт: https://www.microsoft.com/ru-ru/software-download/windows10 для чего ты себе жизнь усложняешь и пытаешься отключить то что фактически нельзя отключить? я выше кидал команды для отключения виртуализации, на вин11 они прекрасно работают недавно ставил 11 винду и все отключается и астериос запускается Изменено 16 ноября, 2025 пользователем Рио 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
ixthUA Опубликовано 16 ноября, 2025 Поделиться Опубликовано 16 ноября, 2025 Команды конечно работают, но они делают из Вин11 непонятно что в плане безопасности. На вин10 астериос работает "из коробки". 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Misona Опубликовано 17 ноября, 2025 Поделиться Опубликовано 17 ноября, 2025 (изменено) Такая же проблема с Windows 11 Pro (24H2) - не запускает, тоже перепробовала всё, на старом ноуте Win 10 ( всё работает), но ноут умирает, там не реально играть. В Win 11 вшита виртуальизация при Windows Hello и оно при запуске по новой запускает и всё, решение только как-то откатывать Win 24H2 - но мне в магазине установили уже такую при покупке нового ноута Лаунчер не адаптирован под новые системы, блокирует даже если это вшитое в cаму винду, так что дело тех кто установил такую кривую защиту, чтобы окна продавать :D Изменено 17 ноября, 2025 пользователем Misona 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
MadeInUkraine Опубликовано 19 ноября, 2025 Поделиться Опубликовано 19 ноября, 2025 17.11.2025 в 22:31, Misona сказал: Такая же проблема с Windows 11 Pro (24H2) - не запускает 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рио Опубликовано 20 ноября, 2025 Поделиться Опубликовано 20 ноября, 2025 (изменено) 16.11.2025 в 15:24, ixthUA сказал: Команды конечно работают, но они делают из Вин11 непонятно что в плане безопасности. На вин10 астериос работает "из коробки". ты в любом случае чтобы запустить астериос должен клиенту и защите разрешить доступ к системе на уровне ядра астериос будь то 10тка 11тка или 7рка у тебя не запустится с активной защитой ядра так что смысла тут говорить о безопасности нет, хочешь играть - принимай риски то что у тебя на вин10 астериос работает "из коробки" свидетельствует только о том что у тебя не официальный образ винды, с отключёнными по умолчанию memory integrity Изменено 20 ноября, 2025 пользователем Рио 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
ixthUA Опубликовано 20 ноября, 2025 Поделиться Опубликовано 20 ноября, 2025 У меня официальная вин10, скачанная с сайта микрософта. Кстати, на вин11 (тоже официальная, с сайта микрософта), на компе астериос работает без использования команд из этого гайда, а на ноутбуке с вин11 астериос не работает даже с командами из этого гайда. И не вижу смысла качать сборки винды - официальные образы в открытом доступе на сайте микрософта, им не требуется активация для работы. 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рио Опубликовано 21 ноября, 2025 Поделиться Опубликовано 21 ноября, 2025 17 часов назад, ixthUA сказал: У меня официальная вин10, скачанная с сайта микрософта. Кстати, на вин11 (тоже официальная, с сайта микрософта), на компе астериос работает без использования команд из этого гайда, а на ноутбуке с вин11 астериос не работает даже с командами из этого гайда. И не вижу смысла качать сборки винды - официальные образы в открытом доступе на сайте микрософта, им не требуется активация для работы. значит на компе защита ядра не включалась на ноуте видимо изоляция - по умолчанию включена все довольно просто, изоляция отключена - астериос работает, изоляция включена - не работает 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Misona Опубликовано 26 декабря, 2025 Поделиться Опубликовано 26 декабря, 2025 В 19.11.2025 в 05:02, MadeInUkraine сказал: И как же ты победил виртуализацию? Я уже настолько натыкала в реестре, что наверное придётся откатывать его:( 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
MadeInUkraine Опубликовано 26 декабря, 2025 Поделиться Опубликовано 26 декабря, 2025 2 часа назад, Misona сказал: И как же ты победил виртуализацию? Я уже настолько натыкала в реестре, что наверное придётся откатывать его:( кажется этим: https://forum.asterios.in/topic/575544-windows-security-i-virtualizacija/#comment-9360281 если у тебя другая проблема, искал по форуму по тексту ошибки, ничего особого не делал 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Klemon Опубликовано 2 января Поделиться Опубликовано 2 января 27.07.2023 в 21:40, hardhaha сказал: Короче, я решил проблему так : ctrl + shift+ esc потом вкладка производительность если у вас написано виртуализация включена: 1)Ребут компа, и заходите в биос(кликаете кнопку Del) 2)В биосе заходите в Advanced mode 3)Ищите там виртуализацию и отключаете ее, сохраняете (f10) - и все заработает 27.07.2023 в 21:40, hardhaha сказал: Короче, я решил проблему так : ctrl + shift+ esc потом вкладка производительность если у вас написано виртуализация включена: 1)Ребут компа, и заходите в биос(кликаете кнопку Del) 2)В биосе заходите в Advanced mode 3)Ищите там виртуализацию и отключаете ее, сохраняете (f10) - и все заработает а если в биосе на вкладке advanced нету ничего об виртуализации 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Vittel Опубликовано 4 января Поделиться Опубликовано 4 января В Биосе отлючайте опцию SVM (Secure Virtual Machine) (у меня проц amd, материнка гигабайт). Надеюсь кому то поможет. 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
SemaКА Опубликовано 17 января Поделиться Опубликовано 17 января У меня так на Chatreey GEM Мини-ПК R7 8845HS 780M (AMD) Версия BIOS: American Megatrends International, LLC. 1.00, 12.10.2024 BIOS -> Advanced -> CPU Common Option ... SVM Lock [Auto] SVM Enable [Auto] ... Пока не отключал. Присмотрюсь к методам решения. 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
zhemaydo Опубликовано 13 февраля Поделиться Опубликовано 13 февраля Вот и установилось обновление для Windows 11, версия 26H1. И астериос сказал покасики. Ничего не помогает, даже через биос виртуалку отключал, все методы перепробовал. @Admin вы уже чините? Очень хочется играть, меня Куттер с 15 на 16 ждет 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Zachare Опубликовано 5 апреля Поделиться Опубликовано 5 апреля Перепробовал абсолютно все варианты отключения виртуализации, и в биосе, и через командные строки, и через powershell, всё всё всё. Не помогает совершенно ничего. К сожалению, как мне кажется, что админы смогут как-то помочь с данной ситуацией, либо надо ставить 10 винду. 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
MrSeven Опубликовано 15 апреля Поделиться Опубликовано 15 апреля У всех у кого заблокированы доп пункты биоса на ноуте, сделал как в этом видео https://www.youtube.com/watch?v=-kmpcVdGwHE, отключил виртуализацию (AMD SVM) и игра заработал, винда 11 последняя 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Animating Опубликовано 20 апреля Поделиться Опубликовано 20 апреля у меня есть комп на котором биос заблочен и там не вырубить виатуализацию . Я с того компа в Л2 ваще никак не зайду? 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Wumass Опубликовано Суббота в 09:03 Поделиться Опубликовано Суббота в 09:03 Скрытый текст @setlocal DisableDelayedExpansion @echo off setlocal EnableExtensions setlocal DisableDelayedExpansion set "PathExt=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC" set "SysPath=%SystemRoot%\System32" set "Path=%SystemRoot%\System32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SystemRoot%\System32\WindowsPowerShell\v1.0\" if exist "%SystemRoot%\Sysnative\reg.exe" ( set "SysPath=%SystemRoot%\Sysnative" set "Path=%SystemRoot%\Sysnative;%SystemRoot%;%SystemRoot%\Sysnative\Wbem;%SystemRoot%\Sysnative\WindowsPowerShell\v1.0\;%Path%" ) set "ComSpec=%SysPath%\cmd.exe" set "PSModulePath=%ProgramFiles%\WindowsPowerShell\Modules;%SysPath%\WindowsPowerShell\v1.0\Modules" set "re1=" set "_cmdf=%~f0" for %%# in (%*) do if /i "%%#"=="re1" set "re1=1" if exist %SystemRoot%\Sysnative\cmd.exe if not defined re1 ( setlocal EnableDelayedExpansion start %SystemRoot%\Sysnative\cmd.exe /c ""!_cmdf!" %* re1" exit /b ) set "_work=%~dp0" if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%" set "_batf=%~f0" set "_batp=%_batf:'=''%" set _PSarg="""%~f0""" %* set _PSarg=%_PSarg:'=''% set "_ttemp=%userprofile%\AppData\Local\Temp" setlocal EnableDelayedExpansion echo "!_batf!" | find /i "!_ttemp!" >nul 2>&1 && ( if /i not "!_work!"=="!_ttemp!" ( echo. echo The script was launched from the Temp folder. echo This usually means it was run directly from the archive. echo. echo Extract the archive file and run the script from the extracted folder. echo. echo Press any key to exit... pause >nul exit /b ) ) fltmc >nul 2>&1 if errorlevel 1 ( echo. echo This script requires administrator privileges. echo. echo A UAC prompt will appear. Please click "Yes". echo. "%SysPath%\WindowsPowerShell\v1.0\powershell.exe" -nop -c "start cmd.exe -arg '/c \"!_PSarg!\"' -verb runas" && exit /b exit /b ) set "ps=%SysPath%\WindowsPowerShell\v1.0\powershell.exe" set "psc=%ps% -nop -c" for /f %%a in ('echo prompt $E^| cmd') do set "ESC=%%a" set "cYellow=%ESC%[40;93m" set "cGreen=%ESC%[42;97m" set "cRedHL=%ESC%[41;97m" set "cBlueHL=%ESC%[44;97m" set "cGreyHL=%ESC%[100;97m" set "cReset=%ESC%[0m" call :dk_sysinfo set "_NCS=1" if !winbuild! LSS 10586 set "_NCS=0" if !winbuild! GEQ 10586 reg query "HKCU\Console" /v ForceV2 >nul 2>&1 | find /i "0x0" >nul 2>&1 && set "_NCS=0" for /f "tokens=3" %%A in ('reg query "HKCU\Console" /v VirtualTerminalLevel 2^>nul') do if "%%A"=="0x0" set "_NCS=0" if "!_NCS!"=="0" ( set "cYellow=" set "cGreen=" set "cRed=" set "cRedHL=" set "cBlueHL=" set "cGreyHL=" set "cReset=" ) set "bootid=" for /f "tokens=2" %%A in ('bcdedit /enum {default} /v 2^>nul ^| findstr /i "identifier"') do set "bootid=%%A" ::pstst $ExecutionContext.SessionState.LanguageMode :pstst for /f "delims=" %%a in ('%psc% "if ($PSVersionTable.PSEdition -ne 'Core') {$f=[System.IO.File]::ReadAllText('!_batp!') -split ':pstst';. ([scriptblock]::Create($f[1]))}" 2^>nul') do (set tstresult=%%a) if /i not "%tstresult%"=="FullLanguage" ( echo. for /f "delims=" %%a in ('%psc% "$ExecutionContext.SessionState.LanguageMode" 2^>nul') do (set tstresult2=%%a) echo Test 1 - %tstresult% echo Test 2 - !tstresult2! echo. echo !tstresult2! | findstr /i "ConstrainedLanguage RestrictedLanguage NoLanguage" >nul 2>&1 && ( echo FullLanguage mode not found in PowerShell. Aborting... echo If you have applied restrictions on PowerShell then undo those changes. echo %cBlueHL%Check this webpage for help - %cReset% %cYellow%https://cs.rin.ru/forum/viewtopic.php?f=14^&t=156435%cReset% echo. echo %cYellow%Press any key to exit...%cReset% pause >nul exit /b ) cmd /c "%psc% "$PSVersionTable.PSEdition"" | find /i "Core" >nul 2>&1 && ( echo Windows PowerShell is needed but seems to have been replaced with PowerShell Core. Aborting... echo %cBlueHL%Check this webpage for help - %cReset% %cYellow%https://cs.rin.ru/forum/viewtopic.php?f=14^&t=156435%cReset% echo. echo %cYellow%Press any key to exit...%cReset% pause >nul exit /b ) for /r "%ProgramFiles%\" %%f in (secureboot.exe) do if exist "%%f" ( echo "%%f" echo Malware found, PowerShell is not working properly. echo %cBlueHL%Check this webpage for help - %cReset% %cYellow%https://cs.rin.ru/forum/viewtopic.php?f=14^&t=156435%cReset% echo. echo %cYellow%Press any key to exit...%cReset% pause >nul exit /b ) if /i "!tstresult2!"=="FullLanguage" ( cmd /c "%psc% ""try {[System.AppDomain]::CurrentDomain.GetAssemblies(); [System.Math]::Sqrt(144)} catch {Exit 3}""" >nul 2>&1 if !errorlevel!==3 ( echo Windows PowerShell failed to load .NET command. Aborting... echo %cBlueHL%Check this webpage for help - %cReset% %cYellow%https://cs.rin.ru/forum/viewtopic.php?f=14^&t=156435%cReset% echo. echo %cYellow%Press any key to exit...%cReset% pause >nul exit /b ) ) echo PowerShell is not working properly. Aborting... if /i "!tstresult2!"=="FullLanguage" ( echo. echo Your antivirus software might be blocking the script. echo. sc query sense | find /i "RUNNING" >nul 2>&1 && ( echo Installed Antivirus - Microsoft Defender for Endpoint ) cmd /c "%psc% ""$av = Get-WmiObject -Namespace root\SecurityCenter2 -Class AntiVirusProduct; $n = @(); foreach ($i in $av) { $n += $i.displayName }; if ($n) { Write-Host ('Installed Antivirus - ' + ($n -join ', '))}""" ) echo %cBlueHL%Check this webpage for help - %cReset% %cYellow%https://cs.rin.ru/forum/viewtopic.php?f=14^&t=156435%cReset% echo. echo %cYellow%Press any key to exit...%cReset% pause >nul exit /b ) if %winbuild% GEQ 17763 ( set terminal=1 ) else ( set terminal= ) if defined terminal ( set lines=0 for /f "skip=3 tokens=* delims=" %%A in ('mode con') do if "!lines!"=="0" ( for %%B in (%%A) do set lines=%%B ) if !lines! GEQ 100 set terminal= ) for %%# in (%*) do if /i "%%#"=="-qedit" goto :skipQE set resetQE=1 reg query HKCU\Console /v QuickEdit 2>nul | find /i "0x0" 1>nul && set resetQE=0 reg add HKCU\Console /v QuickEdit /t REG_DWORD /d 0 /f 1>nul if defined terminal ( start conhost.exe "!_batf!" -qedit start reg add HKCU\Console /v QuickEdit /t REG_DWORD /d %resetQE% /f 1>nul exit /b ) else if %resetQE% EQU 1 ( start cmd.exe /c ""!_batf!" -qedit" start reg add HKCU\Console /v QuickEdit /t REG_DWORD /d %resetQE% /f 1>nul exit /b ) :skipQE :title title VBS 1.6 if not defined terminal ( %psc% "&{$W=$Host.UI.RawUI.WindowSize;$B=$Host.UI.RawUI.BufferSize;$W.Height=32;$B.Height=300;$Host.UI.RawUI.WindowSize=$W;$Host.UI.RawUI.BufferSize=$B;}" >nul 2>&1 ) :dk_prompt cls echo. echo %cGreen%Notes:%cReset% echo. echo - This script disables the Windows hypervisor and Virtualization-based Security ^(VBS^) with its echo dependent features. Only features that are currently active will be modified. echo. echo - On older Intel CPUs ^(and rarely, older AMD CPUs^), KVA Shadow will also be disabled as it echo conflicts with our syscall hook implementation. echo. echo %cBlueHL%- If Windows Hello ^(PIN, fingerprint or facial recognition^) is VBS-protected, it will be automatically removed.%cReset% echo %cBlueHL%After restarting, sign in using your password or your Microsoft account's password.%cReset% echo. echo - Most kernel anti-cheats do not function with driver signature enforcement disabled. echo Certain anti-cheats, like FACEIT AC, may prevent the driver from starting. In rare cases, echo Vanguard may trigger a BSOD, most notably after disabling driver signature enforcement. echo. echo - If affected, it is recommended to uninstall the problematic anti-cheat. echo. echo - This script must be run before each play session, as driver signature enforcement echo is only disabled for one boot cycle. echo. echo %cGreen%- All changes can be fully reverted using the Revert Changes option.%cReset% echo( ________________________________________________________________________ echo. echo - Save your work before continuing, as you will be asked to restart. echo. echo - When restarting, you will need to disable driver signature enforcement by pressing F7 on your keyboard echo within the Startup Settings. echo( ________________________________________________________________________ echo. choice /C:1234 /N /M "[1] Continue [2] Exit [3] Revert Changes [4] Troubleshoot: if !errorlevel!==2 exit /b if !errorlevel!==3 goto :dk_revert if !errorlevel!==4 goto :dk_troubleshoot :dk_showosinfo cls set "haderror=0" echo. echo Checking OS Info [!winos! ^| !fullbuild! ^| !osarch!] echo Initiating Diagnostic Tests... call :dk_checkwmic set "wmifailed=" set "wmicheck=" if !_wmic! EQU 1 ( for /f %%A in ('wmic path Win32_ComputerSystem get CreationClassName /value 2^>nul ^| find /i "computersystem"') do set "wmicheck=1" ) if !_wmic! EQU 0 ( for /f %%A in ('%psc% "Get-WmiObject -Class Win32_ComputerSystem | Select-Object -Property CreationClassName" 2^>nul ^| find /i "computersystem"') do set "wmicheck=1" ) if not defined wmicheck set "wmifailed=1" if defined wmifailed ( echo. echo Checking WMI %cRedHL%[Not Working]%cReset% echo. echo %cRedHL%Go to Troubleshoot in the main menu and run Fix WMI.%cReset% echo. echo %cYellow%Press any key to go back...%cReset% pause >nul goto :dk_prompt ) set "vtx=0" set "hvpresent=0" for /f "delims=" %%s in ('%psc% "(Get-CimInstance Win32_ComputerSystem).HypervisorPresent"') do ( if /i "%%s"=="True" set "hvpresent=1" ) for /f "delims=" %%s in ('%psc% "(Get-CimInstance -ClassName Win32_Processor).VirtualizationFirmwareEnabled"') do ( if /i "%%s"=="True" set "vtx=1" ) if "!hvpresent!"=="1" set "vtx=1" if "!vtx!"=="1" ( echo. echo Checking Virtualization %cGreen%[Enabled]%cReset% ) else ( echo. echo %cRedHL%Virtualization ^(VT-x/SVM^) is not enabled in the BIOS.%cReset% echo. echo %cRedHL%Please enable it in your BIOS/UEFI settings.%cReset% echo. echo %cYellow%Press any key to exit...%cReset% pause >nul exit /b ) set "dse=" for /f "delims=" %%A in ('%psc% "$t=Add-Type -PassThru -MemberDefinition '[DllImport(\"ntdll.dll\")] public static extern uint NtQuerySystemInformation(int c,IntPtr b,uint s,out uint r);' -Name CI2 -Namespace w2; $p=[Runtime.InteropServices.Marshal]::AllocHGlobal(8); [Runtime.InteropServices.Marshal]::WriteInt32($p,8); $r=[uint32]0; $t::NtQuerySystemInformation(103,$p,8,[ref]$r)|Out-Null; $o=[uint32][Runtime.InteropServices.Marshal]::ReadInt32($p,4); if(-not($o -band 1)){0}elseif($o -band 2){1}else{2}" 2^>nul') do set "dse=%%A" if "!dse!"=="0" ( echo. echo Checking Driver Signature Enforcement %cGreen%[Disabled]%cReset% ) if "!dse!"=="1" ( echo. echo Checking Test Signing %cGreen%[Enabled]%cReset% ) set "faceit=" fltmc | findstr /i "FACEIT" >nul 2>&1 if not errorlevel 1 set "faceit=1" if defined faceit ( echo. echo Checking FACEIT Anti-Cheat %cYellow%[Found]%cReset% reg add "HKLM\SOFTWARE\ManageVBS" /v FACEIT /t REG_DWORD /d 1 /f >nul 2>&1 sc stop FACEIT >nul 2>&1 sc stop FACEITService >nul 2>&1 reg add "HKLM\SYSTEM\CurrentControlSet\Services\FACEIT" /v Start /t REG_DWORD /d 4 /f >nul 2>&1 reg add "HKLM\SYSTEM\CurrentControlSet\Services\FACEITService" /v Start /t REG_DWORD /d 4 /f >nul 2>&1 if "!errorlevel!"=="0" ( echo Disabling FACEIT Anti-Cheat %cGreen%[Successful]%cReset% ) else ( echo Disabling FACEIT Anti-Cheat %cRedHL%[Failed]%cReset% reg delete "HKLM\SOFTWARE\ManageVBS" /v FACEIT /f >nul 2>&1 set "haderror=1" ) ) set "dgquery=" for /f "delims=" %%A in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /s 2^>nul') do set "dgquery=1" if defined dgquery ( set "vbslocked=" set "hvcilocked=" set "cglocked=" set "mandatorylocked=" for /f "tokens=3" %%A in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v Locked 2^>nul') do if "%%A"=="0x1" set "vbslocked=1" for /f "tokens=3" %%A in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v Locked 2^>nul') do if "%%A"=="0x1" set "hvcilocked=1" for /f "tokens=3" %%A in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LsaCfgFlags 2^>nul') do if "%%A"=="0x1" set "cglocked=1" for /f "tokens=3" %%A in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v Mandatory 2^>nul') do if "%%A"=="0x1" set "mandatorylocked=1" set "anylocked=" if defined vbslocked set "anylocked=1" if defined hvcilocked set "anylocked=1" if defined cglocked set "anylocked=1" if defined anylocked ( set "uefiagreed=" reg query "HKLM\SOFTWARE\ManageVBS" /v UEFILockAgreed >nul 2>&1 if "!errorlevel!"=="0" set "uefiagreed=1" if not defined uefiagreed ( echo. echo %cRedHL%One or more security features are protected by a UEFI lock.%cReset% echo %cRedHL%Only proceed on personal devices. Do not proceed on work, school or managed devices.%cReset% echo %cRedHL%Removing UEFI locks may violate your organization's security policies.%cReset% echo. choice /C:12 /N /M "[1] Continue [2] Exit: if !errorlevel!==2 exit /b %psc% "$k=Add-Type -PassThru -MemberDefinition '[DllImport(\"kernel32.dll\")]public static extern bool SetConsoleMode(IntPtr h,uint m);[DllImport(\"kernel32.dll\")]public static extern IntPtr GetStdHandle(int h);' -Name k -Namespace w;$k::SetConsoleMode($k::GetStdHandle(-11),7)" >nul 2>&1 reg add "HKLM\SOFTWARE\ManageVBS" /v UEFILockAgreed /t REG_DWORD /d 1 /f >nul 2>&1 ) if not exist "%SystemRoot%\System32\SecConfig.efi" ( echo. echo %cRedHL%SecConfig.efi was not found on this system.%cReset% echo %cBlueHL%Check this webpage for help - %cReset% %cYellow%https://cs.rin.ru/forum/viewtopic.php?f=14^&t=156435%cReset% echo. echo %cYellow%Press any key to exit...%cReset% pause >nul exit /b ) set "freedrive=" for %%D in (S T U V W X Y Z) do ( if not defined freedrive ( if not exist %%D:\ set "freedrive=%%D:" ) ) if not defined freedrive ( echo. echo %cRedHL%No available drive letter found for EFI partition mount.%cReset% echo %cRedHL%Please unmount a drive assigned to a letter between S and Z and try again.%cReset% echo. echo %cYellow%Press any key to exit...%cReset% pause >nul exit /b ) ) if defined vbslocked ( echo. echo %cYellow%Virtualization-based Security ^(VBS^) is protected by a UEFI lock.%cReset% echo %cYellow%Attempting to disable via SecConfig.efi...%cReset% echo. echo %cYellow%VBS protected by a UEFI lock can only be disabled for one boot cycle on managed devices.%cReset% reg add "HKLM\SOFTWARE\ManageVBS" /v VBSLocked /t REG_DWORD /d 1 /f >nul 2>&1 set "secfailed=" reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\DeviceGuard" /v EnableVirtualizationBasedSecurity /f >nul 2>&1 reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\DeviceGuard" /v RequirePlatformSecurityFeatures /f >nul 2>&1 reg delete "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v EnableVirtualizationBasedSecurity /f >nul 2>&1 reg delete "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v RequirePlatformSecurityFeatures /f >nul 2>&1 mountvol !freedrive! /s >nul 2>&1 || set "secfailed=1" copy "%SystemRoot%\System32\SecConfig.efi" "!freedrive!\EFI\Microsoft\Boot\SecConfig.efi" >nul 2>&1 || set "secfailed=1" if not defined secfailed ( bcdedit /delete {0cb3b571-2f2e-4343-a879-d86a476d7215} >nul 2>&1 bcdedit /create {0cb3b571-2f2e-4343-a879-d86a476d7215} /d "DGOptOut" /application osloader >nul 2>&1 || set "secfailed=1" bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} path "\EFI\Microsoft\Boot\SecConfig.efi" >nul 2>&1 || set "secfailed=1" bcdedit /set {bootmgr} bootsequence {0cb3b571-2f2e-4343-a879-d86a476d7215} !bootid! >nul 2>&1 || set "secfailed=1" bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} loadoptions DISABLE-LSA-ISO,DISABLE-VBS >nul 2>&1 || set "secfailed=1" bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} device partition=!freedrive! >nul 2>&1 || set "secfailed=1" ) mountvol !freedrive! /d >nul 2>&1 if not defined secfailed ( echo. echo %cGreen%UEFI lock will be cleared on next boot via SecConfig.efi.%cReset% echo %cYellow%You will need to confirm the opt-out prompt during the next boot.%cReset% ) else ( reg delete "HKLM\SOFTWARE\ManageVBS" /v VBSLocked /f >nul 2>&1 echo. echo %cRedHL%Failed to set up SecConfig.efi. VBS UEFI lock could not be cleared.%cReset% echo %cBlueHL%Check this webpage for help - %cReset% %cYellow%https://cs.rin.ru/forum/viewtopic.php?f=14^&t=156435%cReset% echo. echo %cYellow%Press any key to exit...%cReset% pause >nul exit /b ) ) if defined hvcilocked ( echo. echo %cYellow%Memory Integrity ^(HVCI^) is protected by a UEFI lock.%cReset% echo %cYellow%Attempting to disable via SecConfig.efi...%cReset% echo. echo %cYellow%HVCI protected by a UEFI lock can only be disabled for one boot cycle on managed devices.%cReset% reg add "HKLM\SOFTWARE\ManageVBS" /v HVCILocked /t REG_DWORD /d 1 /f >nul 2>&1 set "secfailed=" reg delete "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v Enabled /f >nul 2>&1 mountvol !freedrive! /s >nul 2>&1 || set "secfailed=1" copy "%SystemRoot%\System32\SecConfig.efi" "!freedrive!\EFI\Microsoft\Boot\SecConfig.efi" >nul 2>&1 || set "secfailed=1" if not defined secfailed ( bcdedit /delete {0cb3b571-2f2e-4343-a879-d86a476d7215} >nul 2>&1 bcdedit /create {0cb3b571-2f2e-4343-a879-d86a476d7215} /d "DGOptOut" /application osloader >nul 2>&1 || set "secfailed=1" bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} path "\EFI\Microsoft\Boot\SecConfig.efi" >nul 2>&1 || set "secfailed=1" bcdedit /set {bootmgr} bootsequence {0cb3b571-2f2e-4343-a879-d86a476d7215} !bootid! >nul 2>&1 || set "secfailed=1" bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} loadoptions DISABLE-LSA-ISO,DISABLE-VBS >nul 2>&1 || set "secfailed=1" bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} device partition=!freedrive! >nul 2>&1 || set "secfailed=1" ) mountvol !freedrive! /d >nul 2>&1 if not defined secfailed ( echo. echo %cGreen%UEFI lock will be cleared on next boot via SecConfig.efi.%cReset% echo %cYellow%You will need to confirm the opt-out prompt during the next boot.%cReset% ) else ( reg delete "HKLM\SOFTWARE\ManageVBS" /v HVCILocked /f >nul 2>&1 echo. echo %cRedHL%Failed to set up SecConfig.efi. HVCI UEFI lock could not be cleared.%cReset% echo %cBlueHL%Check this webpage for help - %cReset% %cYellow%https://cs.rin.ru/forum/viewtopic.php?f=14^&t=156435%cReset% echo. echo %cYellow%Press any key to exit...%cReset% pause >nul exit /b ) ) if defined cglocked ( echo. echo %cYellow%Credential Guard is protected by a UEFI lock.%cReset% echo %cYellow%Attempting to disable via SecConfig.efi...%cReset% reg add "HKLM\SOFTWARE\ManageVBS" /v CGLocked /t REG_DWORD /d 1 /f >nul 2>&1 set "secfailed=" reg delete "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LsaCfgFlags /f >nul 2>&1 reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\DeviceGuard" /v LsaCfgFlags /f >nul 2>&1 reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\CredentialGuard" /v Enabled /t REG_DWORD /d 0 /f >nul 2>&1 mountvol !freedrive! /s >nul 2>&1 || set "secfailed=1" copy "%SystemRoot%\System32\SecConfig.efi" "!freedrive!\EFI\Microsoft\Boot\SecConfig.efi" >nul 2>&1 || set "secfailed=1" if not defined secfailed ( bcdedit /delete {0cb3b571-2f2e-4343-a879-d86a476d7215} >nul 2>&1 bcdedit /create {0cb3b571-2f2e-4343-a879-d86a476d7215} /d "DGOptOut" /application osloader >nul 2>&1 || set "secfailed=1" bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} path "\EFI\Microsoft\Boot\SecConfig.efi" >nul 2>&1 || set "secfailed=1" bcdedit /set {bootmgr} bootsequence {0cb3b571-2f2e-4343-a879-d86a476d7215} !bootid! >nul 2>&1 || set "secfailed=1" bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} loadoptions DISABLE-LSA-ISO >nul 2>&1 || set "secfailed=1" bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} device partition=!freedrive! >nul 2>&1 || set "secfailed=1" ) mountvol !freedrive! /d >nul 2>&1 if not defined secfailed ( echo. echo %cGreen%UEFI lock will be cleared on next boot via SecConfig.efi.%cReset% echo %cYellow%You will need to confirm the opt-out prompt during the next boot.%cReset% ) else ( reg delete "HKLM\SOFTWARE\ManageVBS" /v CGLocked /f >nul 2>&1 echo. echo %cRedHL%Failed to set up SecConfig.efi. Credential Guard UEFI lock could not be cleared.%cReset% echo %cBlueHL%Check this webpage for help - %cReset% %cYellow%https://cs.rin.ru/forum/viewtopic.php?f=14^&t=156435%cReset% echo. echo %cYellow%Press any key to exit...%cReset% pause >nul exit /b ) ) if defined mandatorylocked ( echo. echo %cYellow%VBS and HVCI are running in mandatory mode.%cReset% reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v Mandatory /t REG_DWORD /d 0 /f >nul 2>&1 if "!errorlevel!"=="0" ( echo. echo %cGreen%Mandatory mode disabled successfully.%cReset% ) else ( echo. echo %cRedHL%Failed to disable mandatory mode.%cReset% echo %cBlueHL%Check this webpage for help - %cReset% %cYellow%https://cs.rin.ru/forum/viewtopic.php?f=14^&t=156435%cReset% echo. echo %cYellow%Press any key to exit...%cReset% pause >nul exit /b ) ) set "winhello=" for /f "tokens=3" %%A in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\WindowsHello" /v Enabled 2^>nul') do ( if "%%A"=="0x1" set "winhello=1" ) if defined winhello ( echo. echo Checking Windows Hello Protection %cYellow%[Found]%cReset% reg add "HKLM\SOFTWARE\ManageVBS" /v WindowsHello /t REG_DWORD /d 1 /f >nul 2>&1 set "pwdless_orig=" for /f "tokens=3" %%A in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v DevicePasswordLessBuildVersion 2^>nul') do set "pwdless_orig=%%A" if defined pwdless_orig ( reg add "HKLM\SOFTWARE\ManageVBS" /v PasswordLessBuildVersion /t REG_SZ /d "!pwdless_orig!" /f >nul 2>&1 ) reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v DevicePasswordLessBuildVersion /t REG_DWORD /d 0 /f >nul 2>&1 certutil -DeleteHelloContainer >nul 2>&1 reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\WindowsHello" /v Enabled /t REG_DWORD /d 0 /f >nul 2>&1 if "!errorlevel!"=="0" ( echo Disabling Windows Hello Protection %cGreen%[Successful]%cReset% set "anythingdisabled=1" ) else ( echo Disabling Windows Hello Protection %cRedHL%[Failed]%cReset% reg delete "HKLM\SOFTWARE\ManageVBS" /v WindowsHello /f >nul 2>&1 set "haderror=1" ) ) set "secbio=" set "secbioscenario=" set "secbiowhs=" for /f "tokens=3" %%A in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\SecureBiometrics" /v Enabled 2^>nul') do ( if "%%A"=="0x1" set "secbio=1" ) for /f "tokens=3" %%A in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios" /v SecureBiometrics 2^>nul') do ( if "%%A"=="0x1" set "secbioscenario=1" ) for /f "tokens=3" %%A in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\WindowsHelloSecureBiometrics" /v Enabled 2^>nul') do ( if "%%A"=="0x1" set "secbiowhs=1" ) if defined secbio set "anysecbio=1" if defined secbioscenario set "anysecbio=1" if defined secbiowhs set "anysecbio=1" if defined anysecbio ( echo. echo Checking Enhanced Sign-in Security %cYellow%[Found]%cReset% if defined secbio ( reg add "HKLM\SOFTWARE\ManageVBS" /v SecureBiometrics /t REG_DWORD /d 1 /f >nul 2>&1 reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\SecureBiometrics" /v Enabled /t REG_DWORD /d 0 /f >nul 2>&1 ) if defined secbioscenario ( reg add "HKLM\SOFTWARE\ManageVBS" /v SecureBiometricsScenario /t REG_DWORD /d 1 /f >nul 2>&1 reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios" /v SecureBiometrics /t REG_DWORD /d 0 /f >nul 2>&1 ) if defined secbiowhs ( reg add "HKLM\SOFTWARE\ManageVBS" /v SecureBiometricsWHS /t REG_DWORD /d 1 /f >nul 2>&1 reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\WindowsHelloSecureBiometrics" /v Enabled /t REG_DWORD /d 0 /f >nul 2>&1 ) if "!errorlevel!"=="0" ( echo Disabling Enhanced Sign-in Security %cGreen%[Successful]%cReset% set "anythingdisabled=1" ) else ( echo Disabling Enhanced Sign-in Security %cRedHL%[Failed]%cReset% reg delete "HKLM\SOFTWARE\ManageVBS" /v SecureBiometrics /f >nul 2>&1 reg delete "HKLM\SOFTWARE\ManageVBS" /v SecureBiometricsScenario /f >nul 2>&1 reg delete "HKLM\SOFTWARE\ManageVBS" /v SecureBiometricsWHS /f >nul 2>&1 set "haderror=1" ) ) set "hyperguard=" for /f "tokens=3" %%A in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HyperGuard" /v Enabled 2^>nul') do ( if "%%A"=="0x1" set "hyperguard=1" ) if defined hyperguard ( echo. echo Checking HyperGuard %cYellow%[Found]%cReset% reg add "HKLM\SOFTWARE\ManageVBS" /v HyperGuard /t REG_DWORD /d 1 /f >nul 2>&1 reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HyperGuard" /v Enabled /t REG_DWORD /d 0 /f >nul 2>&1 if "!errorlevel!"=="0" ( echo Disabling HyperGuard %cGreen%[Successful]%cReset% set "anythingdisabled=1" ) else ( echo Disabling HyperGuard %cRedHL%[Failed]%cReset% reg delete "HKLM\SOFTWARE\ManageVBS" /v HyperGuard /f >nul 2>&1 set "haderror=1" ) ) set "guardedhost=" for /f "tokens=3" %%A in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\Host-Guardian" /v Enabled 2^>nul') do ( if "%%A"=="0x1" set "guardedhost=1" ) if defined guardedhost ( echo. echo Checking Guarded Host %cYellow%[Found]%cReset% reg add "HKLM\SOFTWARE\ManageVBS" /v GuardedHost /t REG_DWORD /d 1 /f >nul 2>&1 reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\Host-Guardian" /v Enabled /t REG_DWORD /d 0 /f >nul 2>&1 if "!errorlevel!"=="0" ( echo Disabling Guarded Host %cGreen%[Successful]%cReset% set "anythingdisabled=1" ) else ( echo Disabling Guarded Host %cRedHL%[Failed]%cReset% reg delete "HKLM\SOFTWARE\ManageVBS" /v GuardedHost /f >nul 2>&1 set "haderror=1" ) ) set "vbsstate=" set "rpsfval=" for /f "tokens=3" %%A in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v EnableVirtualizationBasedSecurity 2^>nul') do ( set "vbsstate=%%A" ) for /f "tokens=3" %%A in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v RequirePlatformSecurityFeatures 2^>nul') do ( set "rpsfval=%%A" ) if "!vbsstate!"=="0x1" ( echo. echo Checking Virtualization-based Security %cYellow%[Found]%cReset% reg add "HKLM\SOFTWARE\ManageVBS" /v VBS /t REG_DWORD /d 1 /f >nul 2>&1 if defined rpsfval ( reg add "HKLM\SOFTWARE\ManageVBS" /v RequirePlatformSecurityFeatures /t REG_SZ /d "!rpsfval!" /f >nul 2>&1 reg delete "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v RequirePlatformSecurityFeatures /f >nul 2>&1 ) reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v EnableVirtualizationBasedSecurity /t REG_DWORD /d 0 /f >nul 2>&1 if "!errorlevel!"=="0" ( echo Disabling Virtualization-based Security %cGreen%[Successful]%cReset% set "anythingdisabled=1" ) else ( echo Disabling Virtualization-based Security %cRedHL%[Failed]%cReset% reg delete "HKLM\SOFTWARE\ManageVBS" /v VBS /f >nul 2>&1 reg delete "HKLM\SOFTWARE\ManageVBS" /v RequirePlatformSecurityFeatures /f >nul 2>&1 set "haderror=1" ) ) set "sysguard=" for /f "tokens=3" %%A in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\SystemGuard" /v Enabled 2^>nul') do ( if "%%A"=="0x1" set "sysguard=1" ) if defined sysguard ( echo. echo Checking System Guard %cYellow%[Found]%cReset% reg add "HKLM\SOFTWARE\ManageVBS" /v SystemGuard /t REG_DWORD /d 1 /f >nul reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\SystemGuard" /v Enabled /t REG_DWORD /d 0 /f >nul if "!errorlevel!"=="0" ( echo Disabling System Guard %cGreen%[Successful]%cReset% set "anythingdisabled=1" ) else ( echo Disabling System Guard %cRedHL%[Failed]%cReset% reg delete "HKLM\SOFTWARE\ManageVBS" /v SystemGuard /f >nul 2>&1 set "haderror=1" ) ) set "hvcirunning=" set "hvciconfig=" for /f "delims=" %%s in ('%psc% "(Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard).SecurityServicesRunning" 2^>nul') do ( if "%%s"=="2" set "hvcirunning=1" ) for /f "tokens=3" %%A in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v Enabled 2^>nul') do ( if "%%A"=="0x1" set "hvciconfig=1" ) if defined hvcirunning set "hvci=1" if defined hvciconfig set "hvci=1" if defined hvci ( echo. echo Checking Memory Integrity ^(HVCI^) %cYellow%[Found]%cReset% reg add "HKLM\SOFTWARE\ManageVBS" /v HVCI /t REG_DWORD /d 1 /f >nul 2>&1 reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v Enabled /t REG_DWORD /d 0 /f >nul 2>&1 if "!errorlevel!"=="0" ( echo Disabling Memory Integrity ^(HVCI^) %cGreen%[Successful]%cReset% set "anythingdisabled=1" ) else ( echo Disabling Memory Integrity ^(HVCI^) %cRedHL%[Failed]%cReset% reg delete "HKLM\SOFTWARE\ManageVBS" /v HVCI /f >nul 2>&1 set "haderror=1" ) ) set "cgrunning=" set "cgscenario=" for /f "delims=" %%s in ('%psc% "(Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard).SecurityServicesRunning" 2^>nul') do ( if "%%s"=="1" set "cgrunning=1" ) for /f "tokens=3" %%A in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\CredentialGuard" /v Enabled 2^>nul') do ( if "%%A"=="0x1" set "cgscenario=1" ) if defined cgrunning set "anycg=1" if defined cgscenario set "anycg=1" if defined anycg ( echo. echo Checking Credential Guard %cYellow%[Found]%cReset% if defined cgrunning ( reg add "HKLM\SOFTWARE\ManageVBS" /v CredentialGuard /t REG_DWORD /d 1 /f >nul 2>&1 reg add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LsaCfgFlags /t REG_DWORD /d 0 /f >nul 2>&1 reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\DeviceGuard" /v LsaCfgFlags /t REG_DWORD /d 0 /f >nul 2>&1 ) if defined cgscenario ( reg add "HKLM\SOFTWARE\ManageVBS" /v CredentialGuardScenario /t REG_DWORD /d 1 /f >nul 2>&1 reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\CredentialGuard" /v Enabled /t REG_DWORD /d 0 /f >nul 2>&1 ) if "!errorlevel!"=="0" ( echo Disabling Credential Guard %cGreen%[Successful]%cReset% set "anythingdisabled=1" ) else ( echo Disabling Credential Guard %cRedHL%[Failed]%cReset% reg delete "HKLM\SOFTWARE\ManageVBS" /v CredentialGuard /f >nul 2>&1 reg delete "HKLM\SOFTWARE\ManageVBS" /v CredentialGuardScenario /f >nul 2>&1 set "haderror=1" ) ) ) :: Disables KVA Shadow (Meltdown mitigation) by adding the override keys, as it conflicts with our syscall hook implementation. :: This is for older Intel CPUs, and in some rare cases older AMD CPUs too, as newer ones are architecturally fixed against Meltdown. :: This disables the Meltdown protection the same way InSpectre does, https://www.grc.com/inspectre.htm :dk_kva set "kvarequired=" set "kvafailed=" for /f "delims=" %%s in ('%psc% "$d=Add-Type -MemberDefinition '[DllImport(\"ntdll.dll\")] public static extern int NtQuerySystemInformation(uint a,IntPtr b,uint c,IntPtr d);' -Name n -Namespace w -PassThru;$p=[Runtime.InteropServices.Marshal]::AllocHGlobal(4);$r=[Runtime.InteropServices.Marshal]::AllocHGlobal(4);$ret=$d::NtQuerySystemInformation(196,$p,4,$r);if($ret -eq 0){$f=[uint32][Runtime.InteropServices.Marshal]::ReadInt32($p);if(($f -band 0x01)-ne 0 -or (($f -band 0x20)-ne 0 -and ($f -band 0x10)-ne 0)){Write-Output 1}else{Write-Output 0}}else{Write-Output 0}" 2^>nul') do ( if "%%s"=="1" set "kvarequired=1" ) if not defined kvarequired goto :dk_hypervisor set "kvaalready=" set "kvaval1=" set "kvaval2=" for /f "tokens=3" %%A in ('reg query "HKLM\System\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride 2^>nul') do set "kvaval1=%%A" for /f "tokens=3" %%A in ('reg query "HKLM\System\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask 2^>nul') do set "kvaval2=%%A" if "!kvaval1!"=="0x2" if "!kvaval2!"=="0x3" set "kvaalready=1" if not defined kvaalready ( echo. echo Checking KVA Shadow %cYellow%[Found]%cReset% set "kvafailed=" reg add "HKLM\SOFTWARE\ManageVBS" /v KVAShadow /t REG_DWORD /d 1 /f >nul 2>&1 || set "kvafailed=1" reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 2 /f >nul 2>&1 || set "kvafailed=1" reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f >nul 2>&1 || set "kvafailed=1" if not defined kvafailed ( echo Disabling KVA Shadow %cGreen%[Successful]%cReset% set "anythingdisabled=1" ) else ( echo Disabling KVA Shadow %cRedHL%[Failed]%cReset% reg delete "HKLM\SOFTWARE\ManageVBS" /v KVAShadow /f >nul 2>&1 set "haderror=1" ) ) :: Disables the Windows Hypervisor using bcdedit /set hypervisorlaunchtype off :dk_hypervisor set "hypbcd=" set "hypneeded=" set "hypfailed=" set "hypervfound=" for /f "tokens=2" %%A in ('bcdedit /enum {current} 2^>nul ^| findstr /i "hypervisorlaunchtype"') do set "hypbcd=%%A" for /f "tokens=1,2,*" %%a in ('dism /online /Get-FeatureInfo /FeatureName:Microsoft-Windows-Subsystem-Linux 2^>nul ^| findstr /i "State"') do ( if /i "%%c"=="Enabled" set "hypervfound=1" ) for /f "tokens=1,2,*" %%a in ('dism /online /Get-FeatureInfo /FeatureName:Containers-DisposableClientVM 2^>nul ^| findstr /i "State"') do ( if /i "%%c"=="Enabled" set "hypervfound=1" ) for /f "tokens=1,2,*" %%a in ('dism /online /Get-FeatureInfo /FeatureName:Microsoft-Hyper-V-All 2^>nul ^| findstr /i "State"') do ( if /i "%%c"=="Enabled" set "hypervfound=1" ) for /f "tokens=1,2,*" %%a in ('dism /online /Get-FeatureInfo /FeatureName:VirtualMachinePlatform 2^>nul ^| findstr /i "State"') do ( if /i "%%c"=="Enabled" set "hypervfound=1" ) for /f "tokens=1,2,*" %%a in ('dism /online /Get-FeatureInfo /FeatureName:HypervisorPlatform 2^>nul ^| findstr /i "State"') do ( if /i "%%c"=="Enabled" set "hypervfound=1" ) if not defined hypbcd ( set "hypvbs=" set "hyphyp=" for /f "delims=" %%s in ('%psc% "(Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard).VirtualizationBasedSecurityStatus" 2^>nul') do ( if "%%s"=="1" set "hypvbs=1" if "%%s"=="2" set "hypvbs=1" ) for /f "delims=" %%s in ('%psc% "(Get-CimInstance Win32_ComputerSystem).HypervisorPresent" 2^>nul') do ( if /i "%%s"=="True" set "hyphyp=1" ) if defined hypvbs if defined hyphyp set "hypneeded=1" if defined hypervfound if defined hyphyp set "hypneeded=1" ) else ( if /i "!hypbcd!"=="Auto" set "hypneeded=1" if /i "!hypbcd!"=="On" set "hypneeded=1" ) if defined hypneeded ( echo. echo Checking Windows Hypervisor %cYellow%[Found]%cReset% reg add "HKLM\SOFTWARE\ManageVBS" /v Hypervisor /t REG_DWORD /d 1 /f >nul 2>&1 || set "hypfailed=1" if defined hypbcd ( reg add "HKLM\SOFTWARE\ManageVBS" /v HypervisorLaunchType /t REG_SZ /d "!hypbcd!" /f >nul 2>&1 ) bcdedit /set hypervisorlaunchtype off >nul 2>&1 || set "hypfailed=1" if not defined hypfailed ( echo Disabling Windows Hypervisor %cGreen%[Successful]%cReset% set "anythingdisabled=1" ) else ( echo Disabling Windows Hypervisor %cRed%[Failed]%cReset% reg delete "HKLM\SOFTWARE\ManageVBS" /v Hypervisor /f >nul 2>&1 reg delete "HKLM\SOFTWARE\ManageVBS" /v HypervisorLaunchType /f >nul 2>&1 set "haderror=1" ) ) set "vsmbcd=" set "vsmfailed=" for /f "tokens=2" %%A in ('bcdedit /enum {current} 2^>nul ^| findstr /i "vsmlaunchtype"') do set "vsmbcd=%%A" if /i "!vsmbcd!"=="Auto" ( echo. echo Checking Virtual Secure Mode %cYellow%[Found]%cReset% reg add "HKLM\SOFTWARE\ManageVBS" /v VsmLaunchType /t REG_SZ /d "Auto" /f >nul 2>&1 || set "vsmfailed=1" bcdedit /set vsmlaunchtype Off >nul 2>&1 || set "vsmfailed=1" if not defined vsmfailed ( echo Disabling Virtual Secure Mode %cGreen%[Successful]%cReset% set "anythingdisabled=1" ) else ( echo Disabling Virtual Secure Mode %cRed%[Failed]%cReset% reg delete "HKLM\SOFTWARE\ManageVBS" /v VsmLaunchType /f >nul 2>&1 set "haderror=1" ) ) :: Notifies the user if Smart App Control is enabled or in evaluation mode. set "sacstate=" if !winbuild! GEQ 22621 ( for /f "tokens=3" %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\CI\Policy" /v VerifiedAndReputablePolicyState 2^>nul') do ( set "sacstate=%%a" ) ) if defined sacstate ( if "!sacstate!"=="0x1" ( echo. echo Checking Smart App Control %cYellow%[Enabled]%cReset% echo. echo %cGreyHL%Smart App Control may block certain applications.%cReset% echo %cGreyHL%You may need to disable it in Windows Security.%cReset% ) if "!sacstate!"=="0x2" ( echo. echo Checking Smart App Control %cYellow%[Evaluation]%cReset% echo. echo %cGreyHL%Smart App Control may enable itself after evaluation.%cReset% echo %cGreyHL%It is recommended to disable it in Windows Security.%cReset% ) ) if "!haderror!"=="1" ( echo. echo %cRedHL%Some errors were detected.%cReset% echo. echo %cRedHL%Run the "Revert Changes" option to restore the previous state.%cReset% echo. echo %cBlueHL%Check this webpage for help - %cReset% %cYellow%https://cs.rin.ru/forum/viewtopic.php?f=14^&t=156435%cReset% echo. echo %cYellow%Press any key to exit...%cReset% pause >nul exit /b ) if not defined anythingdisabled ( if "!dse!"=="0" ( echo. echo %cYellow%All required security features, including driver signature enforcement, are already disabled.%cReset% echo. echo %cYellow%Press any key to exit...%cReset% pause >nul exit /b ) else if "!dse!"=="1" ( echo. echo %cYellow%All required security features are already disabled, with Test Signing already enabled.%cReset% echo. echo %cYellow%Press any key to exit...%cReset% pause >nul exit /b ) else if "!dse!"=="2" ( echo. echo %cYellow%All required security features are already disabled. No changes were made.%cReset% echo. echo %cYellow%You will still be taken to Startup Settings to disable driver signature enforcement.%cReset% ) ) :: Suspends BitLocker, if enabled, for one reboot to avoid BitLocker recovery when booting into Startup Settings. if "!cgrunning!"=="1" if !winbuild! LEQ 19045 if not "!dse!"=="1" goto :cg_reboot if not "!dse!"=="1" ( call :dk_bitlocker if "!blprotected!"=="1" ( manage-bde -protectors -disable %SystemDrive% -rebootcount 1 >nul 2>&1 if "!errorlevel!"=="0" ( echo(________________________________________________________________________ echo. echo %cBlueHL%BitLocker was detected on this system.%cReset% echo. echo %cBlueHL%To allow access to Startup Settings without requiring the recovery key, BitLocker protection has been temporarily%cReset% echo %cBlueHL%suspended for one reboot. Encryption is still active.%cReset% ) else ( echo. echo %cRedHL%Failed to suspend BitLocker. Aborting.%cReset% echo. echo %cRedHL%Run the "Revert Changes" option to restore the previous state.%cReset% echo. echo %cBlueHL%Check this webpage for help - %cReset% %cYellow%https://cs.rin.ru/forum/viewtopic.php?f=14^&t=156435%cReset% echo. echo %cYellow%Press any key to exit...%cReset% pause >nul exit /b ) ) ) echo(________________________________________________________________________ echo. echo %cBlueHL%A restart is required to apply changes.%cReset% if not "!dse!"=="1" ( echo. echo %cBlueHL%When booting, you will need to disable driver signature enforcement by pressing F7 within the Startup Settings.%cReset% ) echo(________________________________________________________________________ if not "!dse!"=="1" bcdedit /set !bootid! onetimeadvancedoptions on >nul echo. choice /C:12 /N /M "[1] Restart Now [2] Restart Later: if !errorlevel!==1 shutdown /r /t 0 exit /b :cg_reboot :: Suspends BitLocker, if enabled, for two reboots to avoid recovery when booting into Startup Settings. if not "!dse!"=="1" ( call :dk_bitlocker if "!blprotected!"=="1" ( manage-bde -protectors -disable %SystemDrive% -rebootcount 2 >nul 2>&1 if "!errorlevel!"=="0" ( echo(________________________________________________________________________ echo. echo %cBlueHL%BitLocker was detected on this system.%cReset% echo. echo %cBlueHL%To allow access to Startup Settings without requiring the recovery key, BitLocker protection has been temporarily%cReset% echo %cBlueHL%suspended for two reboots. Encryption is still active.%cReset% ) else ( echo. echo %cRedHL%Failed to suspend BitLocker. Aborting.%cReset% echo. echo %cRedHL%Run the "Revert Changes" option to restore the previous state.%cReset% echo. echo %cBlueHL%Check this webpage for help - %cReset% %cYellow%https://cs.rin.ru/forum/viewtopic.php?f=14^&t=156435%cReset% echo. echo %cYellow%Press any key to exit...%cReset% pause >nul exit /b ) ) ) echo(________________________________________________________________________ echo. echo %cBlueHL%If Credential Guard is active on Windows 10, two system restarts are required to completely disable VBS.%cReset% if not "!dse!"=="1" ( echo. echo %cBlueHL%On the second boot, you will need to disable driver signature enforcement by pressing F7 within the Startup Settings.%cReset% ) echo(________________________________________________________________________ if not "!dse!"=="1" ( reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" /v "VBSAdvancedOptions" /t REG_SZ /d "bcdedit /set !bootid! onetimeadvancedoptions on" /f >nul ) reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" /v "VBSSecondReboot" /t REG_SZ /d "shutdown /r /t 0" /f >nul echo. choice /C:12 /N /M "[1] Restart Now [2] Restart Later: if !errorlevel!==1 shutdown /r /t 0 exit /b :: This section reverts the changes made by the primary part of the script. Only the security features that were previously disabled are re-enabled. Since not all hardware or Windows editions support the same silicon assisted security features, the script records any disabled features under HKLM\SOFTWARE\ManageVBS so it can restore only those settings. This is done because Windows does not always safely ignore unsupported registry keys. :dk_revert cls set "haderror=0" echo. echo Checking OS Info [!winos! ^| !fullbuild! ^| !osarch!] echo Reverting changes... set "dse=" for /f "delims=" %%A in ('%psc% "$t=Add-Type -PassThru -MemberDefinition '[DllImport(\"ntdll.dll\")] public static extern uint NtQuerySystemInformation(int c,IntPtr b,uint s,out uint r);' -Name CI2 -Namespace w2; $p=[Runtime.InteropServices.Marshal]::AllocHGlobal(8); [Runtime.InteropServices.Marshal]::WriteInt32($p,8); $r=[uint32]0; $t::NtQuerySystemInformation(103,$p,8,[ref]$r)|Out-Null; $o=[uint32][Runtime.InteropServices.Marshal]::ReadInt32($p,4); if(-not($o -band 1)){0}elseif($o -band 2){1}else{2}" 2^>nul') do set "dse=%%A" if "!dse!"=="0" ( echo. echo Checking Driver Signature Enforcement %cYellow%[Disabled]%cReset% ) set "mvbs_hasvalues=0" for /f %%A in ('reg query "HKLM\SOFTWARE\ManageVBS" 2^>nul ^| findstr /i "REG_" ^| findstr /vi "UEFILockAgreed"') do set "mvbs_hasvalues=1" if "!mvbs_hasvalues!"=="0" if not "!dse!"=="0" ( echo. echo %cYellow%Nothing to revert, as no changes were previously applied.%cReset% echo. echo %cYellow%Press any key to exit...%cReset% pause >nul exit /b ) set "revert_faceit=" for /f "tokens=3" %%A in ('reg query "HKLM\SOFTWARE\ManageVBS" /v FACEIT 2^>nul') do set "revert_faceit=%%A" if "!revert_faceit!"=="0x1" ( reg add "HKLM\SYSTEM\CurrentControlSet\Services\FACEIT" /v Start /t REG_DWORD /d 1 /f >nul 2>&1 reg add "HKLM\SYSTEM\CurrentControlSet\Services\FACEITService" /v Start /t REG_DWORD /d 3 /f >nul 2>&1 if "!errorlevel!"=="0" ( echo. echo Enabling FACEIT Anti-Cheat %cGreen%[Successful]%cReset% reg delete "HKLM\SOFTWARE\ManageVBS" /v FACEIT /f >nul 2>&1 ) else ( echo. echo Enabling FACEIT Anti-Cheat %cRedHL%[Failed]%cReset% set "haderror=1" ) ) set "revert_vbslocked=" for /f "tokens=3" %%A in ('reg query "HKLM\SOFTWARE\ManageVBS" /v VBSLocked 2^>nul') do set "revert_vbslocked=%%A" if "!revert_vbslocked!"=="0x1" ( reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v Locked /t REG_DWORD /d 1 /f >nul 2>&1 if "!errorlevel!"=="0" ( echo. echo Enabling VBS UEFI Lock %cGreen%[Successful]%cReset% reg delete "HKLM\SOFTWARE\ManageVBS" /v VBSLocked /f >nul 2>&1 ) else ( echo. echo Enabling VBS UEFI Lock %cRedHL%[Failed]%cReset% set "haderror=1" ) ) set "revert_hvcilocked=" for /f "tokens=3" %%A in ('reg query "HKLM\SOFTWARE\ManageVBS" /v HVCILocked 2^>nul') do set "revert_hvcilocked=%%A" if "!revert_hvcilocked!"=="0x1" ( reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v Locked /t REG_DWORD /d 1 /f >nul 2>&1 if "!errorlevel!"=="0" ( echo. echo Enabling HVCI UEFI Lock %cGreen%[Successful]%cReset% reg delete "HKLM\SOFTWARE\ManageVBS" /v HVCILocked /f >nul 2>&1 ) else ( echo. echo Enabling HVCI UEFI Lock %cRedHL%[Failed]%cReset% set "haderror=1" ) ) set "revert_cglocked=" for /f "tokens=3" %%A in ('reg query "HKLM\SOFTWARE\ManageVBS" /v CGLocked 2^>nul') do set "revert_cglocked=%%A" if "!revert_cglocked!"=="0x1" ( reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v EnableVirtualizationBasedSecurity /t REG_DWORD /d 1 /f >nul 2>&1 reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v RequirePlatformSecurityFeatures /t REG_DWORD /d 3 /f >nul 2>&1 reg add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LsaCfgFlags /t REG_DWORD /d 1 /f >nul 2>&1 reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\CredentialGuard" /v Enabled /t REG_DWORD /d 1 /f >nul 2>&1 if "!errorlevel!"=="0" ( echo. echo Enabling Credential Guard UEFI Lock %cGreen%[Successful]%cReset% reg delete "HKLM\SOFTWARE\ManageVBS" /v CGLocked /f >nul 2>&1 ) else ( echo. echo Enabling Credential Guard UEFI Lock %cRedHL%[Failed]%cReset% set "haderror=1" ) ) :: Restores the Windows Hypervisor launch type to its original state via boot configuration. :: If it was explicitly set before, it is restored to that value. If it was not set, the entry is deleted to return to the default state. set "revert_hyp=" set "revert_hyptype=" for /f "tokens=3" %%A in ('reg query "HKLM\SOFTWARE\ManageVBS" /v Hypervisor 2^>nul') do set "revert_hyp=%%A" for /f "tokens=3" %%A in ('reg query "HKLM\SOFTWARE\ManageVBS" /v HypervisorLaunchType 2^>nul') do set "revert_hyptype=%%A" if "!revert_hyp!"=="0x1" ( if "!revert_hyptype!"=="" ( bcdedit /deletevalue !bootid! hypervisorlaunchtype >nul 2>&1 cmd /c exit 0 ) else ( bcdedit /set hypervisorlaunchtype !revert_hyptype! >nul 2>&1 ) if "!errorlevel!"=="0" ( echo. echo Enabling Windows Hypervisor %cGreen%[Successful]%cReset% reg delete "HKLM\SOFTWARE\ManageVBS" /v Hypervisor /f >nul 2>&1 reg delete "HKLM\SOFTWARE\ManageVBS" /v HypervisorLaunchType /f >nul 2>&1 ) else ( echo. echo Enabling Windows Hypervisor %cRedHL%[Failed]%cReset% set "haderror=1" ) ) set "revert_vsm=" for /f "tokens=3" %%A in ('reg query "HKLM\SOFTWARE\ManageVBS" /v VsmLaunchType 2^>nul') do set "revert_vsm=%%A" if not "!revert_vsm!"=="" ( bcdedit /set vsmlaunchtype Auto >nul 2>&1 if "!errorlevel!"=="0" ( echo. echo Enabling Virtual Secure Mode %cGreen%[Successful]%cReset% reg delete "HKLM\SOFTWARE\ManageVBS" /v VsmLaunchType /f >nul 2>&1 ) else ( echo. echo Enabling Virtual Secure Mode %cRed%[Failed]%cReset% set "haderror=1" ) ) :: This is the official, documented method to enable Virtualization-based Security (VBS), as described by Microsoft under "To enable VBS only (no memory integrity):" at https://learn.microsoft.com/en-us/windows/security/hardware-security/enable-virtualization-based-protection-of-code-integrity?tabs=reg#enable-memory-integrity-using-registry set "revert_vbs=" set "revert_rpsf=" for /f "tokens=3" %%A in ('reg query "HKLM\SOFTWARE\ManageVBS" /v VBS 2^>nul') do set "revert_vbs=%%A" for /f "tokens=3" %%A in ('reg query "HKLM\SOFTWARE\ManageVBS" /v RequirePlatformSecurityFeatures 2^>nul') do set "revert_rpsf=%%A" if "!revert_vbs!"=="0x1" ( reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v EnableVirtualizationBasedSecurity /t REG_DWORD /d 1 /f >nul 2>&1 if defined revert_rpsf reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v RequirePlatformSecurityFeatures /t REG_DWORD /d !revert_rpsf! /f >nul 2>&1 if "!errorlevel!"=="0" ( echo. echo Enabling Virtualization-based Security %cGreen%[Successful]%cReset% reg delete "HKLM\SOFTWARE\ManageVBS" /v VBS /f >nul 2>&1 reg delete "HKLM\SOFTWARE\ManageVBS" /v RequirePlatformSecurityFeatures /f >nul 2>&1 ) else ( echo. echo Enabling Virtualization-based Security %cRedHL%[Failed]%cReset% set "haderror=1" ) ) :: This is the official, documented method to enable memory integrity, as described by Microsoft under "To enable memory integrity:" at https://learn.microsoft.com/en-us/windows/security/hardware-security/enable-virtualization-based-protection-of-code-integrity?tabs=reg#enable-memory-integrity-using-registry set "revert_hvci=" for /f "tokens=3" %%A in ('reg query "HKLM\SOFTWARE\ManageVBS" /v HVCI 2^>nul') do set "revert_hvci=%%A" if "!revert_hvci!"=="0x1" ( reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v WasEnabledBy /t REG_DWORD /d 2 /f >nul 2>&1 reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v Enabled /t REG_DWORD /d 1 /f >nul 2>&1 if "!errorlevel!"=="0" ( echo. echo Enabling Memory Integrity ^(HVCI^) %cGreen%[Successful]%cReset% reg delete "HKLM\SOFTWARE\ManageVBS" /v HVCI /f >nul 2>&1 ) else ( echo. echo Enabling Memory Integrity ^(HVCI^) %cRedHL%[Failed]%cReset% set "haderror=1" ) ) :: As mentioned before, Windows Hello, if enabled while Virtualization-based Security, Credential Guard, Device Guard, or any other silicon assisted security features are enabled and running, will remain protected. Disabling this protection while Windows Hello is active will result in a "Something happened and your PIN isn't available. Click to set up your PIN again." message on the next login, in the case of a PIN. A slightly different, but similar message also appears for fingerprint and facial recognition. :: This does not re-enable Windows Hello itself, rather just its Device Guard registry key. set "revert_wh=" set "revert_pwdless=" for /f "tokens=3" %%A in ('reg query "HKLM\SOFTWARE\ManageVBS" /v WindowsHello 2^>nul') do set "revert_wh=%%A" for /f "tokens=3" %%A in ('reg query "HKLM\SOFTWARE\ManageVBS" /v PasswordLessBuildVersion 2^>nul') do set "revert_pwdless=%%A" if "!revert_wh!"=="0x1" ( if "!revert_pwdless!"=="" ( reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v DevicePasswordLessBuildVersion /f >nul 2>&1 ) else ( reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v DevicePasswordLessBuildVersion /t REG_DWORD /d !revert_pwdless! /f >nul 2>&1 ) reg delete "HKLM\SOFTWARE\ManageVBS" /v PasswordLessBuildVersion /f >nul 2>&1 reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\WindowsHello" /v Enabled /t REG_DWORD /d 1 /f >nul 2>&1 if "!errorlevel!"=="0" ( echo. echo Enabling Windows Hello Protection %cGreen%[Successful]%cReset% reg delete "HKLM\SOFTWARE\ManageVBS" /v WindowsHello /f >nul 2>&1 ) else ( echo. echo Enabling Windows Hello Protection %cRedHL%[Failed]%cReset% set "haderror=1" ) ) set "revert_sb=" set "revert_sbscenario=" set "revert_sbwhs=" for /f "tokens=3" %%A in ('reg query "HKLM\SOFTWARE\ManageVBS" /v SecureBiometrics 2^>nul') do set "revert_sb=%%A" for /f "tokens=3" %%A in ('reg query "HKLM\SOFTWARE\ManageVBS" /v SecureBiometricsScenario 2^>nul') do set "revert_sbscenario=%%A" for /f "tokens=3" %%A in ('reg query "HKLM\SOFTWARE\ManageVBS" /v SecureBiometricsWHS 2^>nul') do set "revert_sbwhs=%%A" if "!revert_sb!"=="0x1" set "anyrevert_sb=1" if "!revert_sbscenario!"=="0x1" set "anyrevert_sb=1" if "!revert_sbwhs!"=="0x1" set "anyrevert_sb=1" if defined anyrevert_sb ( if "!revert_sb!"=="0x1" ( reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\SecureBiometrics" /v Enabled /t REG_DWORD /d 1 /f >nul 2>&1 ) if "!revert_sbscenario!"=="0x1" ( reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios" /v SecureBiometrics /t REG_DWORD /d 1 /f >nul 2>&1 ) if "!revert_sbwhs!"=="0x1" ( reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\WindowsHelloSecureBiometrics" /v Enabled /t REG_DWORD /d 1 /f >nul 2>&1 ) if "!errorlevel!"=="0" ( echo. echo Enabling Enhanced Sign-in Security %cGreen%[Successful]%cReset% reg delete "HKLM\SOFTWARE\ManageVBS" /v SecureBiometrics /f >nul 2>&1 reg delete "HKLM\SOFTWARE\ManageVBS" /v SecureBiometricsScenario /f >nul 2>&1 reg delete "HKLM\SOFTWARE\ManageVBS" /v SecureBiometricsWHS /f >nul 2>&1 ) else ( echo. echo Enabling Enhanced Sign-in Security %cRedHL%[Failed]%cReset% set "haderror=1" ) ) set "revert_hg=" for /f "tokens=3" %%A in ('reg query "HKLM\SOFTWARE\ManageVBS" /v HyperGuard 2^>nul') do set "revert_hg=%%A" if "!revert_hg!"=="0x1" ( reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HyperGuard" /v Enabled /t REG_DWORD /d 1 /f >nul 2>&1 if "!errorlevel!"=="0" ( echo. echo Enabling HyperGuard %cGreen%[Successful]%cReset% reg delete "HKLM\SOFTWARE\ManageVBS" /v HyperGuard /f >nul 2>&1 ) else ( echo. echo Enabling HyperGuard %cRedHL%[Failed]%cReset% set "haderror=1" ) ) set "revert_gh=" for /f "tokens=3" %%A in ('reg query "HKLM\SOFTWARE\ManageVBS" /v GuardedHost 2^>nul') do set "revert_gh=%%A" if "!revert_gh!"=="0x1" ( reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\Host-Guardian" /v Enabled /t REG_DWORD /d 1 /f >nul 2>&1 if "!errorlevel!"=="0" ( echo. echo Enabling Guarded Host %cGreen%[Successful]%cReset% reg delete "HKLM\SOFTWARE\ManageVBS" /v GuardedHost /f >nul 2>&1 ) else ( echo. echo Enabling Guarded Host %cRedHL%[Failed]%cReset% set "haderror=1" ) ) :: System Guard Secure Launch is another of Microsoft's silicon assisted security features. This is the official, documented method to enable System Guard Secure Launch, as described by Microsoft at https://learn.microsoft.com/en-us/windows/security/hardware-security/system-guard-secure-launch-and-smm-protection#registry set "revert_sg=" for /f "tokens=3" %%A in ('reg query "HKLM\SOFTWARE\ManageVBS" /v SystemGuard 2^>nul') do set "revert_sg=%%A" if "!revert_sg!"=="0x1" ( reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\SystemGuard" /v Enabled /t REG_DWORD /d 1 /f >nul if "!errorlevel!"=="0" ( echo. echo Enabling System Guard %cGreen%[Successful]%cReset% reg delete "HKLM\SOFTWARE\ManageVBS" /v SystemGuard /f >nul 2>&1 ) else ( echo. echo Enabling System Guard %cRedHL%[Failed]%cReset% set "haderror=1" ) ) :: Enables Credential Guard without lock :: Starting in Windows 11, 22H2 and Windows Server 2025, VBS and Credential Guard are enabled by default on devices that meet the requirements. The default enablement is without UEFI Lock, which is the same enablement used in this script. You can learn more about this at https://learn.microsoft.com/en-us/windows/security/identity-protection/credential-guard/#default-enablement :: This is the official, documented way Microsoft has demonstrated. See "Configure Credential Guard with registry settings" at https://learn.microsoft.com/en-us/windows/security/identity-protection/credential-guard/configure?tabs=reg#configure-credential-guard-with-registry-settings set "revert_cg=" set "revert_cgscenario=" for /f "tokens=3" %%A in ('reg query "HKLM\SOFTWARE\ManageVBS" /v CredentialGuard 2^>nul') do set "revert_cg=%%A" for /f "tokens=3" %%A in ('reg query "HKLM\SOFTWARE\ManageVBS" /v CredentialGuardScenario 2^>nul') do set "revert_cgscenario=%%A" if "!revert_cg!"=="0x1" set "anyrevert_cg=1" if "!revert_cgscenario!"=="0x1" set "anyrevert_cg=1" if defined anyrevert_cg ( if "!revert_cg!"=="0x1" ( reg add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LsaCfgFlags /t REG_DWORD /d 2 /f >nul 2>&1 reg query "HKLM\SOFTWARE\Policies\Microsoft\Windows\DeviceGuard" /v LsaCfgFlags >nul 2>&1 if "!errorlevel!"=="0" reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\DeviceGuard" /v LsaCfgFlags /f >nul 2>&1 ) if "!revert_cgscenario!"=="0x1" ( reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\CredentialGuard" /v Enabled /t REG_DWORD /d 1 /f >nul 2>&1 ) if "!errorlevel!"=="0" ( echo. echo Enabling Credential Guard %cGreen%[Successful]%cReset% reg delete "HKLM\SOFTWARE\ManageVBS" /v CredentialGuard /f >nul 2>&1 reg delete "HKLM\SOFTWARE\ManageVBS" /v CredentialGuardScenario /f >nul 2>&1 ) else ( echo. echo Enabling Credential Guard %cRedHL%[Failed]%cReset% set "haderror=1" ) ) :: Restores KVA Shadow (Meltdown mitigation) by removing the override keys :: You can learn more about how KVA Shadow mitigates Meltdown at https://www.microsoft.com/en-us/msrc/blog/2018/03/kva-shadow-mitigating-meltdown-on-windows set "revert_kva=" for /f "tokens=3" %%A in ('reg query "HKLM\SOFTWARE\ManageVBS" /v KVAShadow 2^>nul') do set "revert_kva=%%A" if "!revert_kva!"=="0x1" ( set "kva1=0" set "kva2=0" reg query "HKLM\System\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride >nul 2>&1 if "!errorlevel!"=="0" ( reg delete "HKLM\System\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /f >nul 2>&1 if "!errorlevel!"=="0" set "kva1=1" ) else ( set "kva1=1" ) reg query "HKLM\System\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask >nul 2>&1 if "!errorlevel!"=="0" ( reg delete "HKLM\System\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /f >nul 2>&1 if "!errorlevel!"=="0" set "kva2=1" ) else ( set "kva2=1" ) if "!kva1!"=="1" if "!kva2!"=="1" ( echo. echo Enabling KVA Shadow %cGreen%[Successful]%cReset% reg delete "HKLM\SOFTWARE\ManageVBS" /v KVAShadow /f >nul 2>&1 ) else ( echo. echo Enabling KVA Shadow %cRedHL%[Failed]%cReset% set "haderror=1" ) ) :: Removes the ManageVBS tracking key if all features were successfully re-enabled. If any failed, the key is kept so the user can run Revert Changes again. set "mvbs_remaining=0" for /f %%A in ('reg query "HKLM\SOFTWARE\ManageVBS" 2^>nul ^| findstr /i "REG_" ^| findstr /vi "UEFILockAgreed"') do set "mvbs_remaining=1" if "!mvbs_remaining!"=="0" reg delete "HKLM\SOFTWARE\ManageVBS" /f >nul 2>&1 if "!haderror!"=="1" ( echo. echo %cRedHL%Some errors were detected.%cReset% echo. echo %cBlueHL%Check this webpage for help - %cReset% %cYellow%https://cs.rin.ru/forum/viewtopic.php?f=14^&t=156435%cReset% ) echo(________________________________________________________________________ echo. echo %cBlueHL%A restart is required to apply changes.%cReset% echo(________________________________________________________________________ echo. choice /C:12 /N /M "[1] Restart Now [2] Restart Later: if !errorlevel!==1 shutdown /r /t 0 exit /b :: Checks if BitLocker protection is enabled on the OS drive. :dk_bitlocker set "blprotected=0" for /f "delims=" %%s in ('%psc% "(Get-BitLockerVolume -MountPoint $env:SystemDrive).ProtectionStatus" 2^>nul') do ( if "%%s"=="On" set "blprotected=1" ) exit /b :: Show OS info. :dk_sysinfo set winbuild=1 for /f "tokens=2 delims=[]" %%G in ('ver') do ( for /f "tokens=2,3,4 delims=. " %%H in ("%%~G") do ( set "winbuild=%%J" ) ) call :dk_reflection set d1=!ref! $meth = $TypeBuilder.DefinePInvokeMethod('BrandingFormatString', 'winbrand.dll', 'Public, Static', 1, [String], @([String]), 1, 3); set d1=!d1! $meth.SetImplementationFlags(128); $TypeBuilder.CreateType()::BrandingFormatString('%%WINDOWS_LONG%%') -replace [string][char]0xa9, '' -replace [string][char]0xae, '' -replace [string][char]0x2122, '' set winos= for /f "delims=" %%s in ('"%psc% %d1%"') do if not errorlevel 1 set "winos=%%s" echo "!winos!" | find /i "Windows" >nul 2>&1 || ( for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName 2^>nul') do set "winos=%%b" if !winbuild! GEQ 22000 set "winos=!winos:Windows 10=Windows 11!" ) set "osarch=" for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE 2^>nul') do set "osarch=%%b" set "fullbuild=" for /f "tokens=6-7 delims=[]. " %%i in ('ver') do if not "%%j"=="" ( set "fullbuild=%%i.%%j" ) else ( set "UBR=" for /f "tokens=3" %%G in ('"reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v UBR" 2^>nul') do if not errorlevel 1 set /a "UBR=%%G" for /f "skip=2 tokens=3,4 delims=. " %%G in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v BuildLabEx 2^>nul') do ( if defined UBR (set "fullbuild=%%G.!UBR!") else (set "fullbuild=%%G.%%H") ) ) exit /b :: This is used to build the PowerShell reflection code that calls BrandingFormatString from winbrand.dll to get the Windows product name, which is turn populates !winos! for the Checking OS Info line. :dk_reflection set ref=$AssemblyBuilder = [AppDomain]::CurrentDomain.DefineDynamicAssembly(4, 1); set ref=%ref% $ModuleBuilder = $AssemblyBuilder.DefineDynamicModule(2, $False); set ref=%ref% $TypeBuilder = $ModuleBuilder.DefineType(0); exit /b :dk_checkwmic if !winbuild! LSS 9200 (set "_wmic=1" & exit /b) set "_wmic=0" for %%# in (wmic.exe) do @if not "%%~$PATH:#"=="" ( cmd /c "wmic path Win32_ComputerSystem get CreationClassName /value" 2>nul | find /i "computersystem" >nul 2>&1 && set "_wmic=1" ) exit /b :dk_troubleshoot cls echo. choice /C:12 /N /M "[1] Fix WMI [2] Back: " if !errorlevel!==2 goto :title goto :fixwmi :fixwmi cls if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*Edition~*.mum" ( echo. echo Rebuilding WMI is not recommended on Windows Server, aborting... goto :at_back ) echo. echo Checking WMI call :checkwmi if defined error ( %psc% Stop-Service Winmgmt -force >nul 2>&1 winmgmt /salvagerepository >nul 2>&1 call :checkwmi ) if not defined error ( echo %cGreen%[Working]%cReset% echo. echo %cYellow%No need to apply this option.%cReset% goto :at_back ) echo %cRedHL%[Not Responding]%cReset% set "_corrupt=" sc start Winmgmt >nul 2>&1 if !errorlevel! EQU 1060 set "_corrupt=1" sc query Winmgmt >nul 2>&1 || set "_corrupt=1" for %%G in (DependOnService Description DisplayName ErrorControl ImagePath ObjectName Start Type) do if not defined _corrupt (reg query HKLM\SYSTEM\CurrentControlSet\Services\Winmgmt /v %%G >nul 2>&1 || set "_corrupt=1") echo. if defined _corrupt ( echo %cRedHL%Winmgmt service is corrupted, aborting...%cReset% goto :at_back ) echo Disabling Winmgmt service sc config Winmgmt start= disabled >nul 2>&1 if !errorlevel! EQU 0 ( echo %cGreen%[Successful]%cReset% ) else ( echo %cRedHL%[Failed]%cReset% sc config Winmgmt start= auto >nul 2>&1 echo %cRedHL%Aborting...%cReset% goto :at_back ) echo. echo Stopping Winmgmt service %psc% Stop-Service Winmgmt -force >nul 2>&1 %psc% Stop-Service Winmgmt -force >nul 2>&1 %psc% Stop-Service Winmgmt -force >nul 2>&1 sc query Winmgmt | find /i "STOPPED" >nul 2>&1 && ( echo %cGreen%[Successful]%cReset% ) || ( echo %cRedHL%[Failed]%cReset% echo %cBlueHL%It is recommended to restart and run Fix WMI again.%cReset% echo. choice /C:12 /N /M "[1] Restart [2] Go Back: if !errorlevel!==1 (sc config Winmgmt start= auto >nul 2>&1 & goto :dk_troubleshoot) echo. echo Restarting... shutdown -t 5 -r exit ) echo. echo Deleting WMI repository rmdir /s /q "%SysPath%\wbem\repository\" >nul 2>&1 if exist "%SysPath%\wbem\repository\" ( echo %cRedHL%[Failed]%cReset% ) else ( echo %cGreen%[Successful]%cReset% ) echo. echo Enabling Winmgmt service sc config Winmgmt start= auto >nul 2>&1 if !errorlevel! EQU 0 ( echo %cGreen%[Successful]%cReset% ) else ( echo %cRedHL%[Failed]%cReset% ) call :checkwmi if not defined error ( echo. echo Checking WMI echo %cGreen%[Working]%cReset% goto :at_back ) echo. echo Registering .dll's and Compiling .mof's, .mfl's call :registerobj >nul 2>&1 echo. echo Checking WMI call :checkwmi if defined error ( echo %cRedHL%[Not Responding]%cReset% echo. echo Run SFC /scannow and DISM /Online /Cleanup-Image /RestoreHealth and try again. ) else ( echo %cGreen%[Working]%cReset% ) goto :at_back :registerobj %psc% Stop-Service Winmgmt -force %nul% cd /d %SysPath%\wbem\ regsvr32 /s %SysPath%\scecli.dll regsvr32 /s %SysPath%\userenv.dll mofcomp cimwin32.mof mofcomp cimwin32.mfl mofcomp rsop.mof mofcomp rsop.mfl for /f %%s in ('dir /b /s *.dll') do regsvr32 /s %%s for /f %%s in ('dir /b *.mof') do mofcomp %%s for /f %%s in ('dir /b *.mfl') do mofcomp %%s winmgmt /salvagerepository winmgmt /resetrepository exit /b :checkwmi set "error=" %psc% "Get-WmiObject -Class Win32_ComputerSystem | Select-Object -Property CreationClassName" 2>nul | find /i "computersystem" >nul 2>&1 if !errorlevel! NEQ 0 (set "error=1" & exit /b) winmgmt /verifyrepository >nul 2>&1 if !errorlevel! NEQ 0 (set "error=1" & exit /b) %psc% "try { $null=([WMISEARCHER]'SELECT * FROM SoftwareLicensingService').Get().Version; exit 0 } catch { exit $_.Exception.InnerException.HResult }" >nul 2>&1 cmd /c exit /b !errorlevel! echo "0x%=ExitCode%" | findstr /i "0x800410 0x800440 0x80131501" >nul 2>&1 if !errorlevel! EQU 0 set "error=1" exit /b :at_back echo. echo %cYellow%Press any key to go back...%cReset% pause >nul goto :dk_troubleshoot Долго боролся с подобной проблемой, случайно зацепился за 1 файлик в рунете. Хотел поиграть в игру новую(crimson desert), а там надо было подобные вещи отключать. скачал архив c стороннего ресурса. Там был батник, прогнал его через ИИ, вроде все ок. юзнул, перезагрузился, выбрал отключение цифровой подписи драйверов(так было в инструкции кряка) потом настроил заново пароль и Lineage 2 заработала. Содержимое батника скинул, может кому поможет. создаем текстовый фаил, вставляем туда этот код, сохраняем, переименовываем название.txt на название.bat запускаем, [там в командной строке будет выбор (1;2;3)1- внести изменения, а потом после, что-бы вернуть все в изначальное состояние надо будет нажать опцию с revert changes] проходим перезагрузку будет голубой экран, с кучей настроек(у меня была 7, отключение цифровой подписи драйверов, что-то в этом роде.) Windows hello будет ругаться на пин код, мол устройство не в сети. я ввел пароль от своего аккаунта майкрософт и все было ок. после запускаете игру. Делюсь с инфой, но не знаю что может случиться с вашим компом. так что делаете это на свой страх и риск. 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.