Ускоряет ли Windows отключение целостности памяти (HVCI) — что это значит, как делать и как решать
· Обновлено: · Го Комура · Windows 11, Целостность памяти, HVCI, Изоляция ядра, VBS, Производительность, Безопасность
История изменений (первая версия, опубликована 4 Sep 2026)
- Первая публикация
Говорят, что «отключение целостности памяти ускоряет ПК», но когда «Безопасность Windows» показывает предупреждение, менять настройку не хочется. Эта статья разделяет два вопроса: «может ли стать быстрее?» и «приемлемо ли отключать на моём ПК?»
Предмет — переключатель целостности памяти в «Безопасность устройства» > «Изоляция ядра» в «Безопасности Windows». Целостность памяти — функция, которая защищает ядро Windows от атак через драйверы; это не настройка, которая существует лишь чтобы снижать производительность. В то же время сама Microsoft указывает, что на игровых устройствах в некоторых сценариях и конфигурациях она может влиять на производительность.1
Начинаем с вывода и указателя по целям, затем механизм, как сравнивать производительность, критерии решения, как проверять до и после смены и шаги отключения и возврата. Если хотите глубже в механизм, см. статью серии «Внутреннее устройство виртуализации Windows (часть 2) — память, которую не видит даже ядро: как устроены VBS, HVCI и Credential Guard». Эта статья — вводная точка входа к той.
Предпосылки этой статьи
| Пункт | Содержание |
|---|---|
| Читатели | Пользователи ПК, игроки и те, кто присматривает за небольшим числом офисных ПК, кто слышал, что «отключение целостности памяти ускоряет ПК», и хочет знать, правда ли это и что делать |
| Предварительные знания | Умение работать с экранами параметров Windows. Строгое понимание терминов вроде драйвера и ядра не требуется |
| Среда | Windows 11. Шаги предполагают приложение «Безопасность Windows» в Windows 11. Для смены настройки нужны права администратора |
| Сложность | Начальный уровень |
| Вне области | Внутренности VTL, Secure Kernel и SLAT (см. статью части 2), Credential Guard и проектирование политик App Control для предприятий |
1. Сначала вывод
Есть конфигурации, которые ускоряются при отключении. Но не каждый ПК становится быстрее, и одной разницы в производительности недостаточно, чтобы решить, приемлемо ли отключать.
Целостность памяти (HVCI) выполняет проверку подписи драйверов, загружаемых в ядро (сердцевину ОС), внутри изолированной среды, созданной гипервизором. Делая исполняемыми только страницы памяти, прошедшие проверку, и никогда не разрешая запись в исполняемые страницы, она усложняет захват ПК через драйвер.23
Ось решения — «для чего используется этот ПК?» Если измерите и найдёте разницу, эта разница важна для того, как вы пользуетесь ПК, вы не играете в игры, чей античит называет HVCI в ошибке, и ПК не обрабатывает корпоративные активы или чувствительные сведения, тогда отключение — вариант. Иначе практичнее оставить включённым и искать другую причину.
Вывод и куда читать дальше
| Что хотите знать | Короткий ответ | Читать дальше |
|---|---|---|
| Ускоряет ли отключение ПК? | На старых ЦП и подобных конфигурациях разница может появиться, но зависит от конфигурации. Даже Microsoft признаёт влияние на производительность только в некоторых сценариях и конфигурациях1 | Глава 4: условия и как измерять |
| Когда ничего не меняется? | Когда узкое место — GPU, когда причина — нехватка памяти, диск, тепло или режим питания, или когда целостность памяти изначально не работала | 4.2: чего ждать по ситуации |
| Приемлемо ли мне отключать? | Рабочие ПК и ПК, которые обрабатывают чувствительные сведения, оставляют включённым. Даже на выделенной машине, где измерение показывает разницу, решайте, глядя на защиту, которую теряете, и влияние на игры | Глава 5: решение по использованию |
| Как попробовать? | Подтвердите текущее рабочее состояние и измерьте, смените настройку и перезагрузитесь. Подтвердите, что состояние изменилось, затем снова измерьте в одинаковых условиях. Не судите по одному отображению переключателя4 | Глава 6: как проверять, Глава 7: шаги |
| Что если не удаётся вернуть? | Определите несовместимый драйвер и обновите его до совместимой версии. Не включайте принудительно | Глава 8: возврат |
Даже если нужны только шаги, прочитайте критерии решения в главе 5 и метод проверки в главе 6, прежде чем переходить к главе 7. Операция отключения короткая, но перезагрузка и проверка — часть той же работы. Если переключатель серый и им нельзя пользоваться, не обходите настройку администратора или блокировку UEFI сами.
На схеме сплошная линия обозначает отношение, которое выполняется всегда, а пунктирная — условное отношение (условия указаны в пояснении к каждому отношению на странице сведений). Полный список отношений (всего 28, с доказательствами и степенью уверенности) и определения основных понятий собраны на странице сведений карты знаний (на японском). Данные: JSON-LD / Turtle
2. Разделите четыре термина, которые путают
Сначала отделим имена на экране настроек от имён механизмов за ними. Здесь мы отключаем «Целостность памяти», а не всё из следующего.
| Имя | Его роль в этой статье |
|---|---|
| Целостность памяти (HVCI) | Функция, которую рассматриваем отключить |
| Изоляция ядра | Экран, на котором стоит переключатель целостности памяти |
| Безопасность на основе виртуализации (VBS) | Основа, на которой работает целостность памяти |
| Платформа виртуальной машины (VMP) | Отдельная от целостности памяти функция, которая использует тот же гипервизор |
2.1 Целостность памяти (HVCI)
Это имя переключателя на экране изоляции ядра в «Безопасности Windows». Формально это hypervisor-protected code integrity (HVCI), и документация Microsoft считает «Целостность памяти» и «HVCI» одним и тем же.2 Когда статья говорит «отключить», имеется в виду это.
2.2 Изоляция ядра
Это имя экрана в «Безопасности Windows». Он группирует функции безопасности, которые «защищают от вредоносного ПО, изолируя основные процессы Windows в памяти», и целостность памяти — один переключатель на нём.3
На экране могут быть и другие пункты, например аппаратная защита стека в режиме ядра. Часто говорят «отключить изоляцию ядра», но у экрана в целом нет переключателя; фактически переключают целостность памяти.
2.3 Безопасность на основе виртуализации (VBS)
Это механизм, на котором стоит целостность памяти. Он использует гипервизор Windows, чтобы создать изолированную среду, которая остаётся защищённой даже если ядро ОС захвачено, и размещает там функции безопасности.5
Целостность памяти — одна из функций поверх VBS; там же стоят Credential Guard (защита доменных учётных данных) и другие. Отключение целостности памяти не обязательно останавливает сам VBS (глава 6).
2.4 Платформа виртуальной машины (VMP) и Hyper-V
Это пункт в «Включение или отключение компонентов Windows», основа для запуска лёгких виртуальных машин вроде WSL 2.6 В указаниях Microsoft по игровой производительности он перечислен рядом с целостностью памяти как фактор влияния на производительность.1 Это отдельный переключатель и отдельная функция от целостности памяти.
Заметьте: Windows Sandbox включают не через VMP, а через выделенный необязательный компонент «Windows Sandbox»; он не зависит от VMP, но работает на том же гипервизоре Windows.7
flowchart TB
accTitle: Как связаны четыре термина
accDescr: Показывает отношение вложенности, в котором безопасность на основе виртуализации (VBS) и Платформа виртуальной машины стоят на гипервизоре Windows, целостность памяти и Credential Guard стоят на VBS, а экран изоляции ядра в «Безопасности Windows» показывает переключатель целостности памяти
hv["Гипервизор Windows"]
vbs["Безопасность на основе виртуализации (VBS)"]
vmp["Платформа виртуальной машины"]
hvci["Целостность памяти (HVCI)"]
cg["Credential Guard и др."]
ui["Экран изоляции ядра (показывает переключатель)"]
hv --> vbs
hv --> vmp
vbs --> hvci
vbs --> cg
ui -.->|"отражает настройку"| hvci
Рис. 1: «Изоляция ядра» — имя экрана, «Целостность памяти» — переключатель на нём, VBS — его основа, а VMP — отдельная функция на том же гипервизоре.
Иными словами, то, что люди имеют в виду под «становится быстрее, когда отключаешь», на самом деле две функции, которые стоят на гипервизоре (целостность памяти и VMP), и переключатель на экране настроек выключает только первую.
3. Что делает целостность памяти
Эта глава идёт в порядке что защищает → почему влияет на производительность → включена ли она на вашем ПК вообще. Если сначала хотите ожидаемую разницу производительности, можно начать с таблицы в главе 4.
3.1 Вынос контрольной точки драйверов за пределы ядра
У Windows всегда был механизм (целостность кода), который проверяет, правильно ли подписаны драйверы, загружаемые в ядро. Проблема в том, что код, выполняющий эту проверку, сам внутри ядра. Злоумышленник, захвативший ядро, может подменить саму проверку.
Целостность памяти выполняет эту проверку внутри изолированной среды VBS.2 Изолированную среду охраняет гипервизор, поэтому даже злоумышленник, захвативший ядро, не может добраться до проверки. Кроме того, на память ядра накладываются следующие два правила.2
- Страница памяти ядра становится исполняемой только после прохождения проверки.
- Исполняемая страница никогда не становится записываемой.
flowchart TB
accTitle: Загрузка драйвера при включённой целостности памяти
accDescr: Запрос загрузки драйвера получает проверку подписи в изолированной среде VBS; если проходит, его допускают как исполняемую незаписываемую страницу, если нет — загрузку блокируют и записывают в журнал CodeIntegrity Operational
req["Запрос загрузки драйвера"] --> chk{"Проверить подпись в изолированной среде"}
chk -->|"Прошла"| ok["Допущена как исполняемая, незаписываемая"]
chk -->|"Не прошла"| ng["Загрузка заблокирована"]
ng --> log["Запись в журнале CodeIntegrity (3087)"]
Рис. 2: Поскольку контрольная точка вне ядра, захват ядра не позволяет подменить контрольную точку.
При этих правилах даже если уязвимость позволяет злоумышленнику переписать память ядра, переписанное содержимое нельзя поставить на исполнение: записываемую страницу нельзя исполнять, а исполняемую нельзя писать.2 Описание в «Безопасности Windows» «усложняет вредоносным программам захват ПК через низкоуровневые драйверы»3 относится к этому.
3.2 Почему это влияет на производительность
У защиты есть стоимость обработки. Здесь отделяем стоимость использования гипервизора от стоимости того, что целостность памяти управляет правами исполнения.
Стоимость 1: под Windows работает гипервизор
VBS требует гипервизор, а гипервизор требует функцию ЦП под названием SLAT (second level address translation).5 Поскольку сам хостовый Windows работает как раздел поверх гипервизора, трансляция адресов памяти становится двухуровневой, и это добавляет накладные расходы. Эта структура подробно разобрана в «Внутреннее устройство виртуализации Windows (часть 1) — где работает ваш Windows: гипервизор и разделы».
Стоимость 2: управление тем, можно ли исполнять память ядра
Целостность памяти принуждает правило «исполняемы только страницы, прошедшие проверку» не в самом ядре, а через защиту памяти гипервизора. Здесь поколение ЦП даёт разницу.
Документация Microsoft объясняет, что целостность памяти лучше работает на процессорах с Mode-Based Execution Control (MBEC) у Intel Kaby Lake (7-е поколение) и новее или Guest Mode Execute Trap (GMET) у AMD Zen 2 и новее. Более старые процессоры опираются на эмуляцию под названием Restricted User Mode, поэтому влияние на производительность больше.8
MBEC — функция, которая разделяет право исполнения памяти на «можно исполнять в пользовательском режиме» и «можно исполнять в режиме ядра», чтобы аппаратура могла их отличить.9 Целостность памяти хочет ограничить только исполнение в режиме ядра, поэтому с этим различием она может оставить работу ЦП. Без него гипервизор берёт работу на себя программно.
flowchart TB
accTitle: Два места, где возникает стоимость производительности
accDescr: Стоимость производительности целостности памяти возникает в двух местах: двухуровневая трансляция адресов из-за гипервизора под ОС и принуждение права исполнения для страниц ядра на стороне гипервизора, а размер последнего зависит от наличия MBEC/GMET
hvci["Целостность памяти включена"] --> c1["Гипервизор стоит под ОС"]
hvci --> c2["Гипервизор принуждает право исполнения"]
c1 --> t1["Трансляция адресов становится двухуровневой"]
c2 --> q{"У ЦП есть MBEC / GMET?"}
q -->|"Да"| small["Обрабатывается аппаратно (влияние меньше)"]
q -->|"Нет"| big["Эмуляция (влияние больше)"]
Рис. 3: Размер «становится быстрее, когда отключаешь» решает в основном ветка справа.
Есть ли у вашего ЦП MBEC/GMET, видно по тому, содержит ли AvailableSecurityProperties у Win32_DeviceGuard, введённого в главе 6, значение 7.8
3.3 Вообще ли она работает на вашем ПК?
Прежде чем переходить к сравнению производительности, нужна ещё одна проверка. Windows 11 не значит автоматически, что целостность памяти работает.
Целостность памяти включается по умолчанию, когда Windows 11 чисто устанавливают на поддерживаемое оборудование; при обновлении с Windows 10 она не включается автоматически.4 Условия автоматического включения следующие.4
| Пункт | Условие автоматического включения |
|---|---|
| Процессор | Intel 8-го поколения или новее (Windows 11 22H2 и новее; 11-го поколения или новее на 21H2), AMD Zen 2 или новее, Qualcomm Snapdragon 8180 или новее |
| Память | 8 ГБ или больше (для x64) |
| Накопитель | SSD 64 ГБ или больше |
| Драйверы | Установлены только драйверы, совместимые с целостностью памяти |
| Прошивка | Поддержка виртуализации включена в UEFI/BIOS |
Иными словами, на ПК, обновлённом с Windows 10 и используемом как есть, на ПК, который не удовлетворяет условиям, или на ПК, у которого был хотя бы один несовместимый драйвер, она могла быть выключена с самого начала. Если в этом состоянии показалось, что «стало быстрее после отключения», виновато что-то другое. Сначала проверьте текущее состояние методом главы 6.
flowchart TB
accTitle: Условия, при которых целостность памяти включена по умолчанию
accDescr: При чистой установке Windows 11 она включается по умолчанию, когда выполнены все условия: поколение ЦП, 8 ГБ памяти или больше, SSD 64 ГБ или больше, совместимые драйверы и включённая виртуализация в прошивке; при обновлении или когда условия не выполнены она не включается
start["Установлена Windows 11"] --> how{"Чистая установка?"}
how -->|"Обновление"| off1["Не включается автоматически"]
how -->|"Да"| cond{"Условия ЦП, ОЗУ, SSD, драйверов"}
cond -->|"Выполнены"| on["Включена по умолчанию"]
cond -->|"Не выполнены"| off2["Не включена (можно включить вручную)"]
Рис. 4: «На моём ПК с самого начала было выключено» — не редкость. Смотрите текущее состояние, прежде чем экспериментировать.
4. Действительно ли становится быстрее? — материал для решения
Смысл этой главы в том, что влияние на производительность возможно, но нельзя дать один процент, насколько станет быстрее. Официальное объяснение, ожидание по каждой конфигурации и измерение на своём ПК читаем отдельно.
4.1 Что говорит Microsoft
Справочная статья Microsoft «Options to optimize gaming performance in Windows 11» указывает, что Windows 11 использует виртуализацию для целостности памяти (HVCI) и Платформы виртуальной машины (VMP) и что на игровых устройствах в некоторых сценариях и некоторых конфигурациях может быть влияние на производительность от включённых целостности памяти и VMP, и даёт шаги отключения каждой.1
Итак, «может стать быстрее» — официальная позиция Microsoft. Но с оговоркой «в некоторых сценариях и некоторых конфигурациях», и цифры, насколько быстрее, нет.
4.2 Условия, где разница вероятна, и где нет
Вот что говорит механизм из 3.2 по ситуациям. «Ожидание», написанное здесь, — тенденция, выведенная из механизма, а не измерения, опубликованные Microsoft. Для своего ПК измеряйте методом 4.3.
| Ситуация | Ожидаемый выигрыш от отключения | Причина |
|---|---|---|
| Старый ЦП без MBEC/GMET (до Intel 7-го поколения, до AMD Zen 2) | Разница вероятна | Принуждение права исполнения эмулируется8 |
| Игра, ограниченная ЦП, с целью высокого fps | Разница может появиться | Область, где Microsoft признаёт влияние на производительность1 |
| Игра, ограниченная GPU (высокое разрешение, высокие настройки качества) | Мала | Снижение нагрузки на стороне ЦП не меняет время ожидания GPU |
| Браузер, Office, воспроизведение видео | Незаметно | Это не нагрузки, которые часто меняют права исполнения ядра |
| ПК, который использует Hyper-V, WSL 2, Windows Sandbox или Docker | Основа остаётся даже когда выключено | Сам гипервизор продолжает работать ради этих функций (6.2) |
| Медленность из-за нехватки памяти, диска, тепла или режима питания | Нет изменения | Причина, не связанная с целостностью памяти |
| ПК, на котором целостность памяти никогда не работала | Нет изменения | Нечего отключать (3.3) |
flowchart TB
accTitle: Поток решения, ускоряет ли отключение ПК
accDescr: Сначала подтвердите, работает ли сейчас целостность памяти; если нет, ищите другую причину; если да, разделите ожидание по наличию MBEC/GMET у ЦП и по тому, узкое место ли ЦП, и в конце решите, измерив в одинаковых условиях
s["Кажется медленным"] --> run{"Целостность памяти работает?"}
run -->|"Нет"| other["Искать другую причину"]
run -->|"Да"| cpu{"У ЦП есть MBEC / GMET?"}
cpu -->|"Нет"| likely["Разница вероятна"]
cpu -->|"Да"| bn{"Узкое место — ЦП?"}
bn -->|"Да"| maybe["Разница может появиться"]
bn -->|"Нет (GPU и т. п.)"| small["Разница ожидается малой"]
likely --> measure["Измерить в одинаковых условиях"]
maybe --> measure
small --> measure
Рис. 5: «Станет ли быстрее?» решает конфигурация ПК. В конце это закрепляет не знание механизма, а измерение на своём ПК.
4.3 Измеряйте, не гадайте
«Кажется быстрее с тех пор, как отключил» недостаточно, чтобы судить об эффекте настройки. Вы перезагрузили ПК, чтобы сменить настройку, и одно это временно облегчает.
Прежде чем реально менять настройку, проверьте в главе 5, приемлемо ли отключать на этом ПК. Если затем сравниваете, держите в уме следующие пункты. Порядок измерения как на рис. 6: «подтвердить, что включено, и измерить → отключить и перезагрузить → подтвердить, что выключено, и измерить в одинаковых условиях». Глава 6 покрывает, как проверять, глава 7 — как менять настройку.
Состояние и условия, которые зафиксировать при измерении
- Подтвердите, что состояние действительно изменилось. После отключения и перезагрузки методом главы 6 подтвердите, что целостность памяти исчезла из работающих служб. Если измерите без этого, можете сравнивать вкл. с вкл.
- Держите условия одинаковыми. Питание от сети или батарея, режим питания, что работает в фоне, а для игры — та же сцена и те же настройки качества. Как выравнивать условия сравнения, разобрано в «Как правильно сравнивать скорость разных версий программы в Windows».
Измеряйте несколько раз и спрашивайте, важна ли разница для того, как вы пользуетесь ПК
Используйте то, что даёт число: встроенный бенчмарк игры или время фиксированной задачи. Измерьте примерно по три раза при включённом и выключенном и сравните медианы.
Смотрите не только на то, выросло ли число. Рост среднего fps на 2% на экране неотличим. Важнее для ощущения, улучшился ли минимальный fps (подтормаживания). Проверьте, достаточно ли разница велика, чтобы иметь значение для того, как вы пользуетесь ПК.
flowchart TB
accTitle: Процедура сравнения вкл./выкл.
accDescr: Подтвердите текущее состояние и зафиксируйте условия, выполните одно измерение несколько раз, смените настройку и перезагрузитесь, подтвердите, что состояние изменилось, повторите то же измерение и решите по тому, важна ли величина разницы для использования ПК
a["Подтвердить текущее состояние (глава 6)"] --> b["Зафиксировать условия и измерить 3 раза"]
b --> c["Сменить настройку и перезагрузить"]
c --> d["Подтвердить, что состояние изменилось"]
d --> e["Измерить 3 раза в одинаковых условиях"]
e --> f{"Разница достаточно велика, чтобы иметь значение?"}
f -->|"Да"| g["К решению в главе 5"]
f -->|"Нет"| h["Вернуть включённым и искать другую причину"]
Рис. 6: Не путайте лёгкость сразу после перезагрузки с эффектом настройки. Подтверждение состояния — предпосылка измерения.
Если разницы нет, ищите другую причину
Если разницы не появилось, причина медленности в другом. Как расследовать, когда тормозит весь ПК, см. «WPR/WPA на практике: как разбирать «весь ПК тормозит» по всей системе», а если причиной может быть режим эффективности диспетчера задач — «Что такое режим эффективности Windows — зелёный значок листа и как его отключить».
5. Приемлемо ли отключать? — что теряете
«Становится быстрее» и «приемлемо отключать» — отдельные решения. Даже если измерите и найдёте разницу, одного этого недостаточно, чтобы отключать. Взвесьте защиту, которую теряете, против того, для чего используется ПК.
5.1 Что теряете
Есть три вещи, о которых нужно знать: слабее защита, предупреждение и ПО, которое перестаёт работать.
Барьер против внедрения кода в ядро исчезает
Целостность памяти усложняет захват ядра через уязвимый или неподписанный драйвер.2 Когда она выключена, против такого рода атаки ПК снова обычный Windows.
«Безопасность Windows» показывает предупреждение
Начиная с Windows 11 22H2, когда целостность памяти выключена, «Безопасность Windows» показывает предупреждение, и знак предупреждения появляется также на значке панели задач и в центре уведомлений. Предупреждение можно закрыть с экрана «Безопасности Windows».8
Игры, которые требуют HVCI, могут больше не запускаться
Некоторые античиты (например Vanguard от Riot Games) используют HVCI (целостность памяти) в Windows 11 для проверки целостности системы.
Статья поддержки Riot указывает включить каждую из функций безопасности, перечисленных в ошибке VAN: RESTRICTION (любую из TPM 2.0, Secure Boot, целостности памяти и IOMMU). На ПК, где ошибка называет HVCI, игра не запустится, пока она не включена.10
Это не условие, наложенное одинаково на каждый ПК, но отключение ради «игры, которую хотите ускорить» может оставить другую игру неспособной запуститься.
flowchart TB
accTitle: Что теряете, когда целостность памяти выключена
accDescr: Когда целостность памяти выключена, барьер против внедрения кода в ядро исчезает, в Windows 11 22H2 и новее «Безопасность Windows» продолжает показывать предупреждение, и игры, чей античит называет HVCI в ошибке, больше не запускаются
off["Целостность памяти выкл."] --> l1["Барьер против внедрения кода в ядро исчезает"]
off --> l2["«Безопасность Windows» показывает предупреждение"]
off --> l3["Игры, которые называют HVCI, перестают работать"]
Рис. 7: Теряете три вещи. Решайте, стоит ли разница в скорости, только после взгляда на эти три.
5.2 Ориентиры решения
| Этот ПК | Ориентир |
|---|---|
| Корпоративный ПК, ПК, который подключается к офисной сети, или ПК, который обрабатывает рабочие данные | Оставить включённым. Если настолько медленно, что хочется отключить, ищите другую причину (4.3) |
| Домашний ПК, которым также пользуются для веба, почты и интернет-банка | Оставить включённым. Выигрыш того не стоит |
| ПК почти исключительно для игр, где измерение показывает разницу, и не играют в игры, чей античит называет HVCI | Отключение — вариант. Но помните, что оно выключено, и верните, когда использование изменится |
| Старый ЦП (без MBEC/GMET), где игры и тяжёлые нагрузки явно ощущаются плохо | Если измерение показывает разницу, отключение — вариант. Но правильное исправление — более новый ПК |
| Машина разработки или теста, которая использует Hyper-V или WSL 2 | Гипервизор остаётся даже когда выключено, поэтому ожидаемая разница маловероятна (6.2) |
flowchart TB
accTitle: Решение, приемлемо ли отключать
accDescr: ПК, связанные с рабочими данными или офисной сетью, оставляют включённым; ПК, на которых играют в игры, чей античит называет HVCI в ошибке, оставляют включённым; только выделенная машина, где измерение показало разницу, — кандидат на выкл.; всё остальное оставляют включённым и ищут другую причину
q1{"Связан с рабочими данными или офисной сетью?"} -->|"Да"| keep1["Оставить включённым (искать другую причину)"]
q1 -->|"Нет"| q2{"Играете в игры, которые называют HVCI?"}
q2 -->|"Да"| keep2["Оставить включённым"]
q2 -->|"Нет"| q3{"Измерение показало разницу?"}
q3 -->|"Да"| off["Выкл. — вариант (вернуть, если использование изменится)"]
q3 -->|"Нет"| keep3["Оставить включённым"]
Рис. 8: Кандидат на отключение — только ПК, который доходит до последней ветки.
6. Проверка, выключено ли
Отсюда готовимся к операции. Сначала выучите метод проверки и используйте тот же метод до и после смены. Важно не заключать «было включено» или «теперь выключено» только по взгляду на переключатель.
6.1 Переключатель показывает настройку, а не рабочее состояние
Переключатель на экране изоляции ядра в «Безопасности Windows» отображает значение настройки. Сразу после включения в ожидании перезагрузки или пока целостность памяти не смогла запуститься при загрузке из-за проблемы совместимости переключатель всё ещё может выглядеть включённым. Проверяйте рабочее состояние одним из следующих двух способов.4
Проверка на экране: msinfo32 (Сведения о системе)
- Запустите
msinfo32изWin + R. - Смотрите раздел «Безопасность на основе виртуализации» внизу «Сведения о системе».
- Если «Выполняемые службы» включает «Hypervisor enforced Code Integrity», целостность памяти работает.8
Проверка по числу: PowerShell
Выполните следующее в окне PowerShell, открытом от имени администратора.8
Get-CimInstance -Namespace root/Microsoft/Windows/DeviceGuard `
-ClassName Win32_DeviceGuard |
Select-Object VirtualizationBasedSecurityStatus,
SecurityServicesConfigured,
SecurityServicesRunning,
AvailableSecurityProperties
Читайте вывод так.8
| Свойство | Значение | Смысл |
|---|---|---|
VirtualizationBasedSecurityStatus |
0 / 1 / 2 | VBS отключена / включена, но не работает / включена и работает |
SecurityServicesConfigured |
Содержит 2 | Целостность памяти включена в настройках |
SecurityServicesRunning |
Содержит 2 | Целостность памяти фактически работает |
AvailableSecurityProperties |
Содержит 7 | У ЦП есть MBEC/GMET (3.2) |
После отключения и перезагрузки успех, если 2 исчезло из SecurityServicesRunning. Если SecurityServicesConfigured тоже больше не содержит 2, оно выключено и в настройках. Читайте состояние VBS в целом и рабочее состояние целостности памяти отдельно.
flowchart TB
accTitle: Поток проверки, работает ли целостность памяти
accDescr: Запросите Win32_DeviceGuard; если SecurityServicesRunning содержит 2, целостность памяти работает, если нет — не работает. Если на стороне настроек SecurityServicesConfigured имеет 2, но не работает, подозревайте отложенную перезагрузку или проблему совместимости при загрузке
q0["Запросить Win32_DeviceGuard"] --> r{"SecurityServicesRunning содержит 2?"}
r -->|"Да"| on["Целостность памяти работает"]
r -->|"Нет"| c{"Configured содержит 2?"}
c -->|"Да"| wait["Отложенная перезагрузка или проблема совместимости при загрузке"]
c -->|"Нет"| off["Выкл. и в настройках, и в работе"]
Рис. 9: Смотрите Running, а не Configured. Читайте настройку и работу отдельно.
6.2 Конфигурации, где гипервизор остаётся после отключения
Остановка только целостности памяти не обязательно останавливает основу
Целостность памяти — одна из функций поверх VBS. Вы отключили только целостность памяти; включён ли VBS, управляет отдельная настройка (EnableVirtualizationBasedSecurity). Документация Microsoft явно описывает конфигурацию, которая «включает только VBS (без целостности памяти)».8
Кроме того, если используете Hyper-V, WSL 2, Windows Sandbox или Платформу виртуальной машины, гипервизор продолжает запускаться ради них.6
Из двух стоимостей в 3.2 стоимость «гипервизор стоит под ОС» в этом случае остаётся даже после отключения. Если «Безопасность на основе виртуализации» в msinfo32 после отключения целостности памяти всё ещё говорит «Выполняется», основа всё ещё там.
flowchart TB
accTitle: Что остаётся после отключения целостности памяти
accDescr: Даже когда переключатель целостности памяти выключен, если включена любая из настройки включения VBS, Hyper-V, WSL 2, Windows Sandbox или Платформы виртуальной машины, гипервизор продолжает работать и стоимость двухуровневой трансляции адресов остаётся
off["Целостность памяти выкл."] --> q{"Что-то ещё использует гипервизор?"}
q -->|"Настройка VBS, Credential Guard"| stay1["Гипервизор остаётся"]
q -->|"Hyper-V, WSL 2, Sandbox, VMP"| stay2["Гипервизор остаётся"]
q -->|"Ничего"| gone["Основа может остановиться тоже"]
stay1 --> cost["Стоимость двухуровневой трансляции адресов остаётся"]
stay2 --> cost
Рис. 10: Переключатель выключает только целостность памяти. Если другим функциям нужен гипервизор, основа остаётся как есть.
Остановка всей основы вне области этой статьи
Есть настройки, которые отключают сам VBS, и конфигурации, которые не запускают гипервизор, но они забирают каждую функцию поверх VBS, включая Credential Guard, а также Hyper-V, WSL 2 и Windows Sandbox. Это куда более крупная смена, чем «отключить целостность памяти», и это не одно и то же. Эта статья не покрывает те шаги. Если хотите принять это решение с пониманием механизма, сначала прочитайте части 1 и 2 серии.
7. Как отключить
Обычно работают с экрана «Безопасности Windows» в 7.1. Раздел 7.2 покрывает, что проверить, когда им нельзя пользоваться, а 7.3 — альтернатива для сред, где экран недоступен. VMP в 7.4 — отдельная функция, поэтому это не шаг, который выполняют по порядку, чтобы отключить целостность памяти.
7.1 Из «Безопасности Windows» (стандартная процедура)
Отключение: смените настройку, перезагрузитесь и проверьте
- Откройте «Безопасность Windows» из
Пуск. - Выберите «Безопасность устройства» в левом меню.
- Откройте «Сведения об изоляции ядра» в разделе «Изоляция ядра».
- Переведите переключатель «Целостность памяти» в выкл. Если появится подтверждение администратора (UAC), разрешите.
- Перезагрузите ПК. Смена не вступает в силу, пока не перезагрузитесь.1
- После перезагрузки подтвердите, что выключено, методом 6.1.
Возврат: тот же экран
Чтобы вернуть, переведите переключатель в вкл. на том же экране и перезагрузитесь. При включении может выполниться проверка несовместимых драйверов. Если появится список, не включайте принудительно; обрабатывайте в порядке главы 8.
Если сравниваете, подтвердите рабочее состояние до и после смены, затем измерьте методом 4.3. Если разница не важна для того, как вы пользуетесь ПК, верните включённым и ищите другую причину.
flowchart TB
accTitle: Шаги отключения целостности памяти из «Безопасности Windows»
accDescr: Из «Безопасности устройства» в «Безопасности Windows» откройте сведения об изоляции ядра, переведите переключатель целостности памяти в выкл., перезагрузитесь и подтвердите через msinfo32 или Win32_DeviceGuard, что выключено
s1["Открыть «Безопасность Windows»"] --> s2["Безопасность устройства"]
s2 --> s3["Сведения об изоляции ядра"]
s3 --> s4["Целостность памяти выкл."]
s4 --> s5["Перезагрузить"]
s5 --> s6["Проверить методом главы 6"]
Рис. 11: Сама процедура короткая. Части, которые пропускают, — последние две (перезагрузка и проверка).
7.2 Когда переключатель серый и его нельзя трогать
На корпоративном или школьном ПК не обходите сами; спросите администратора. Когда переключатель серый и им нельзя пользоваться, причины включают следующее.
Заблокировано политикой или реестром
Если переключатель серый и написано «Этот параметр управляется администратором», настройка ПК заблокирована групповой политикой, Intune или подобным, или экран отключён через реестр.8 На корпоративном или школьном ПК это намерение администратора.
Включено с блокировкой UEFI
На ПК, развёрнутом с выбранным «Включено с блокировкой UEFI» в настройке групповой политики «Включить безопасность на основе виртуализации», настройка хранится в переменной UEFI (прошивки), поэтому целостность памяти нельзя отключить удалённо или через обновление политики.8
Чтобы отменить, нужно снять политику или настройку реестра, затем человек перед этим ПК выполняет шаги очистки конфигурации, хранящейся в UEFI. Документация Credential Guard, которая использует ту же блокировку UEFI, показывает процедуру: удалить переменную EFI через bcdedit с правами администратора и физически принять запрос подтверждения, показанный при перезагрузке.11
Одного отключения Secure Boot в меню UEFI недостаточно, чтобы очистить сохранённую конфигурацию. Это также может запросить ключ восстановления BitLocker. Эта настройка существует именно затем, чтобы её нельзя было отключить между делом, поэтому снова это область администратора.
flowchart TB
accTitle: Изоляция причины, когда переключатель серый
accDescr: Если переключатель серый, им либо управляет администратор (политика или реестр), либо стоит блокировка UEFI (нужно очистить конфигурацию, хранящуюся в UEFI, перед ПК); в обоих случаях не обходите сами, а обратитесь к администратору
gray["Переключатель серый"] --> why{"Какая причина показана?"}
why -->|"Управляется администратором"| pol["Заблокировано политикой или реестром"]
why -->|"Блокировка UEFI"| lock["Нужно очистить конфигурацию UEFI перед ПК"]
pol --> ask["Обратитесь к администратору"]
lock --> ask
Рис. 12: Серый цвет — не сбой; это знак, что кто-то намеренно заблокировал.
7.3 Настройка через реестр (когда экран недоступен)
Этот метод — альтернатива для сред, где экран «Безопасности Windows» недоступен, или когда хотите задать из скрипта. Это не способ обойти настройку администратора. А при возврате используйте экран в 7.1.
Значение и команда для отключения
Значения настройки, которые Microsoft документирует для включения и отключения целостности памяти, следующие.8
| Пункт | Значение |
|---|---|
| Путь | HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity |
| Имя значения | Enabled |
| Тип | REG_DWORD |
| Данные | 0 — выкл., 1 — вкл. |
Выполните следующее в терминале, открытом от имени администратора, затем перезагрузитесь.
reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v Enabled /t REG_DWORD /d 0 /f
Это та же операция, которую Microsoft даёт как процедуру восстановления из среды восстановления (Windows RE) ПК, который больше не загружается после включения целостности памяти.8
Почему не писать 1 в реестр при возврате
При восстановлении не пишите 1 обратно в реестр; включайте с экрана «Безопасности Windows» в 7.1. Когда включаете с экрана, сначала выполняется проверка несовместимых драйверов, и если какие-то найдены, показывается список (глава 8).3
Если напишете 1 в реестре, целостность памяти потребуется при следующей загрузке, не пройдя эту проверку. Если остаётся несовместимый драйвер, вы приглашаете именно сбой загрузки, о котором предупреждает глава 8. Включение через политику или реестр приемлемо только после того, как вы подтвердили в списке несовместимых драйверов и журнале CodeIntegrity, что проблем нет.
Когда смена не действует или откатывается
На ПК, где Locked под тем же ключом равен 1 (блокировка UEFI), смена этого значения не действует.8 А на ПК, управляемом политикой организации, настройка откатится при следующем применении политики. Реестр — «замена экрана», а не «средство переопределить настройку администратора».
flowchart TB
accTitle: Условия, при которых настройка реестра не действует
accDescr: Даже если Enabled под HypervisorEnforcedCodeIntegrity задан в 0, это не действует, если Locked под тем же ключом равен 1 (блокировка UEFI), а на ПК, управляемом политикой организации, настройка откатится при следующем применении политики. Возвращайте с экрана «Безопасности Windows», а не из реестра
reg["Задать Enabled в 0 и перезагрузить"] --> lk{"Locked равен 1 (блокировка UEFI)?"}
lk -->|"Да"| no1["Нет эффекта (нужно снятие на стороне UEFI)"]
lk -->|"Нет"| pol{"Управляется политикой?"}
pol -->|"Да"| no2["Откатится при следующем применении политики"]
pol -->|"Нет"| ok["Выключено (проверить в главе 6)"]
ok -.-> back["Возвращать с экрана (выполняется проверка)"]
Рис. 13: Значение реестра пишет ту же настройку, что экран; оно не может стоять выше блокировки или политики.
7.4 Платформа виртуальной машины (VMP) — отдельная процедура
Указания Microsoft по игровой производительности также перечисляют VMP, но это отдельная функция от целостности памяти. Не нужно убирать VMP тоже, чтобы отключить целостность памяти.
Прежде чем убирать, проверьте, какими функциями пользуетесь
VMP — предпосылка для WSL 2.6 Если уберёте её на ПК, который использует WSL 2 или Docker Desktop поверх WSL 2, они перестанут работать.
Windows Sandbox включают через выделенный необязательный компонент, а не через VMP, поэтому он всё ещё работает после удаления VMP.7 Но поскольку Sandbox тоже работает на том же гипервизоре, пока вы им пользуетесь, это один из факторов «основа остаётся», которые мы видели в 6.2.
Критерий — «уберите, если не используете», а не «уберите, потому что станет быстрее».
Операция, когда VMP не используется
VMP выключают не в «Безопасности Windows», а в «Компонентах Windows».1
- Найдите «Компоненты Windows» из
Пуски откройте «Включение или отключение компонентов Windows». - Снимите флажок «Платформа виртуальной машины» и нажмите «ОК».
- Перезагрузитесь.
flowchart TB
accTitle: Приемлемо ли убирать Платформу виртуальной машины?
accDescr: Если используете функции, которые зависят от Платформы виртуальной машины, такие как WSL 2 или Docker Desktop (сервер WSL 2), не убирайте; только когда ими не пользуются, это кандидат на удаление. Windows Sandbox — выделенная функция, поэтому работает после удаления VMP, но использует тот же гипервизор, поэтому основа остаётся
vmp["Хотите убрать VMP"] --> use{"Используете WSL 2 или Docker Desktop?"}
use -->|"Да"| keep["Не убирать (перестанут работать)"]
use -->|"Нет"| ok["Кандидат на удаление (из компонентов Windows)"]
ok --> reboot["Перезагрузить и проверить"]
ok -.-> sb["Sandbox — отдельная функция (основа остаётся)"]
Рис. 14: Убирать ли VMP, решают «пользуетесь ли этой функцией», а не скорость.
8. Возврат — обработка «несовместимых драйверов»
Эта глава разделяет случай, когда вы сами не можете вернуть и случай, когда оно само отключилось в какой-то момент на ПК, где было включено автоматически. В обоих случаях перед действием проверьте список драйверов и журнал.
8.1 Когда не можете вернуть, проверьте драйверы
Когда пытаетесь снова включить целостность памяти на ПК, где она была выключена, могут сказать, что есть «несовместимые драйверы», и не дать включить. «Безопасность Windows» сканирует драйверы, когда переводите переключатель во вкл., и если какой-то драйвер не соответствует правилам целостности памяти (3.1), показывает список.3
Порядок обработки следующий.
- Определите драйверы в списке. Из «Просмотреть несовместимые драйверы» на экране изоляции ядра смотрите имена файлов драйверов и их издателей.
- Замените их обновлёнными драйверами. Как советует Microsoft, проверьте, предоставляет ли производитель устройства обновлённый драйвер.3 Он также может быть доступен в «Необязательных обновлениях» Windows Update.
- Если драйвер принадлежит устройству, которым больше не пользуетесь, удалите его. Часто остаются драйверы периферии, подключённой давно, или утилит, которые так и не удалили полностью.
- Подтвердите в журнале, какой драйвер был заблокирован. Блокировки целостностью памяти записываются в просмотре событий в
Applications and Services Logs\Microsoft\Windows\CodeIntegrity\Operational, типичный идентификатор события — 3087.4
Не включайте принудительно, пока остаются несовместимые драйверы. Microsoft предупреждает, что драйверы, несовместимые с целостностью памяти, могут вызвать сбои устройств или ПО и в редких случаях привести к сбою загрузки (синий экран).8 Если ПК действительно не загружается, есть процедура восстановить загрузку, задав значение реестра из 7.3 в 0 из среды восстановления.8
flowchart TB
accTitle: Обработка случая, когда не удаётся вернуть
accDescr: Определите драйверы в списке несовместимых, замените их, если у производителя есть обновлённая версия, удалите, если устройство больше не используется, и если ни то ни другое невозможно, не включайте принудительно, оставьте выключенным и попросите у производителя совместимую версию
fail["Не удаётся включить"] --> list["Смотреть список несовместимых драйверов"]
list --> upd{"У производителя есть обновление?"}
upd -->|"Да"| fix["Заменить и включить"]
upd -->|"Нет"| used{"Устройство используется?"}
used -->|"Не используется"| rm["Удалить драйвер и включить"]
used -->|"Используется"| wait["Не включать принудительно; спросить производителя"]
Рис. 15: Правильное исправление — обновление драйвера. Принудительное включение не стоит цены ПК, который не загружается.
8.2 У защиты, которая отключает автоматически, есть условия
Механизм, ограниченный ПК, где включили автоматически
ПК, на котором Windows включила целостность памяти автоматически (включение по умолчанию в 3.3 или ПК, где производитель включил её в образе поставки), может нести защиту, которая автоматически снова выключает целостность памяти, если сразу после включения при загрузке происходит сбой.
Документация Microsoft описывает эту защиту как работающую, когда заданы значения реестра WasEnabledBy и EnabledBootId, как активную только для трёх загрузок после включения и как конфигурацию, которую производители задают в образе поставки.4
Это поведение не документировано для случая, когда вы включили сами с экрана изоляции ядра. При ручном возврате не полагайтесь на эту защиту; сначала устраните несовместимые драйверы шагами 8.1.
Даже когда отключилось автоматически, причина не установлена
Явление «сразу после чистой установки в какой-то момент было выключено» может быть результатом срабатывания этой защиты. Но записывается только факт, что «загрузка не удалась сразу после включения». Это не устанавливает, что причиной был несовместимый драйвер. Сбой загрузки по несвязанной причине в этот период даёт тот же результат.
Документация Microsoft также объясняет, что если сбои загрузки продолжаются после отключения целостности памяти, настройка восстанавливается на том основании, что целостность памяти не была причиной.4
Несовместимый драйвер — вероятная причина, поэтому сначала получите подтверждение из списка несовместимых драйверов и журнала CodeIntegrity. Если что-то найдено, обрабатывайте шагами 8.1; если ничего не найдено, расследуйте причину сбоя загрузки в другом месте.
flowchart TB
accTitle: Защита, которая отключает автоматически на ПК, где включили автоматически
accDescr: На ПК, где Windows включила автоматически (заданы WasEnabledBy и EnabledBootId), целостность памяти может автоматически снова выключиться, если сбой при загрузке произойдёт в течение трёх загрузок после включения. Когда включали вручную, это поведение не документировано, поэтому не полагайтесь на защиту. Даже когда отключилось автоматически, это запись о сбое загрузки, а не установленная причина, поэтому получите подтверждение из списка несовместимых драйверов и журнала CodeIntegrity, попадание обрабатывайте обновлением или удалением, иначе расследуйте другую причину
en["Целостность памяти становится включённой"] --> how{"Включена автоматически (WasEnabledBy)?"}
how -->|"Включили вручную"| manual["Защита не документирована"]
how -->|"Автоматически"| boot{"Сбой в течение 3 загрузок?"}
boot -->|"Нет"| fine["Остаётся включённой и работает"]
boot -->|"Да"| auto["Автоматически снова выключается"]
auto --> chk{"Попадание в списке или журнале?"}
chk -->|"Да"| fix["Обработать обновлением или удалением"]
chk -->|"Нет"| other["Расследовать другую причину"]
Рис. 16: Защита действует только на ПК, где включили автоматически; на неё нельзя полагаться, когда включали вручную. Даже когда срабатывает, это сигнал, а не диагноз, поэтому прежде чем что-либо чинить, получите подтверждение из списка и журнала.
9. Частые недоразумения
Наконец проверим пункты, которые легко спутать до и после смены настройки.
9.1 «Я отключил изоляцию ядра»
Изоляция ядра — имя экрана; фактически вы выключили переключатель целостности памяти (глава 2). Другие пункты на том же экране и сам VBS не выключаются.
9.2 «Отключение всегда ускоряет»
Может стать быстрее, когда целостность памяти действительно работает, узкое место — ЦП и особенно когда у ЦП нет MBEC/GMET (глава 4). Игры, ограниченные GPU, и медленность с другой причиной не меняются.
9.3 «Перевести переключатель в выкл. — и всё»
Оно не вступает в силу, пока не перезагрузитесь, и после перезагрузки рабочее состояние всё равно нужно проверить отдельно (глава 6). Обратно, на ПК, заблокированном политикой или блокировкой UEFI, переключатель откатится, даже если его тронуть.
9.4 «Отключение не имеет других эффектов»
Барьер против внедрения кода в ядро исчезает, «Безопасность Windows» продолжает показывать предупреждение, и игры, чей античит называет HVCI в ошибке, больше не запускаются (глава 5).
9.5 «Отключение также останавливает гипервизор»
Целостность памяти — одна функция поверх VBS; если включена любая из настройки VBS, Credential Guard, Hyper-V, WSL 2, Windows Sandbox или VMP, гипервизор продолжает работать (6.2).
flowchart TB
accTitle: Недоразумения и что происходит на самом деле
accDescr: Недоразумение, что отключили изоляцию ядра, соответствует тому, что выключили переключатель целостности памяти; недоразумение, что всегда становится быстрее, соответствует зависимости от конфигурации; недоразумение, что переключатель — конец, соответствует необходимости перезагрузки и проверки; недоразумение, что гипервизор тоже останавливается, соответствует тому, что он остаётся ради других функций
m1["Отключил изоляцию ядра"] --> r1["Выключили переключатель целостности памяти"]
m2["Всегда становится быстрее"] --> r2["Зависит от конфигурации. Измерить и решить"]
m3["Переключатель — конец"] --> r3["Нужны перезагрузка и проверка рабочего состояния"]
m4["Гипервизор тоже останавливается"] --> r4["Остаётся, если он нужен другим функциям"]
Рис. 17: Большинство недоразумений от смешения «имени экрана» с «именем механизма».
10. Итог
Целостность памяти (HVCI) — механизм, который выносит контрольную точку для драйверов, входящих в ядро, в изолированную среду вне ядра. У этого выноса есть цена: гипервизор под ОС и принуждение права исполнения гипервизором, и в зависимости от конфигурации это влияет на производительность.
Решение легче организовать в следующих трёх этапах.
- Проверьте использование и что теряете. Кандидат на выкл. — выделенная машина, не связанная с рабочими данными или офисной сетью и на которой не играют в игры, чей античит называет HVCI. Одна скорость не решает.
- Подтвердите рабочее состояние, затем измерьте в одинаковых условиях. Используйте msinfo32 или
Win32_DeviceGuard, чтобы подтвердить, что состояние изменилось до и после смены. Разница вероятнее всего на старых ЦП без MBEC/GMET и в играх, ограниченных ЦП, и маловероятна в играх, ограниченных GPU, и повседневном использовании. Измерьте несколько раз и посмотрите, важна ли разница для того, как вы пользуетесь ПК. - Решите, оставлять или возвращать, по разнице и использованию. Выкл. — вариант, когда измерение показывает разницу. На ПК, который использует Hyper-V, WSL 2, Sandbox или VMP, основа остаётся и ожидаемая разница маловероятна. Если разница не важна для того, как вы пользуетесь ПК, верните включённым и пересмотрите, когда использование изменится. Когда не удаётся вернуть, правильное исправление — обновление драйвера; не включайте принудительно.
«Становится быстрее, когда отключаешь» — не ложь. Но только с тремя условиями, «на своём ПК», «измерено» и «зная, что теряете», это становится материалом для решения.
Похожие статьи
- Внутреннее устройство виртуализации Windows (часть 2) — память, которую не видит даже ядро: как устроены VBS, HVCI и Credential Guard
- Внутреннее устройство виртуализации Windows (часть 1) — где работает ваш Windows: гипервизор и разделы
- Внутреннее устройство виртуализации Windows (часть 3) — виртуальные машины, которые стартуют за секунды: почему WSL2, Windows Sandbox и контейнеры такие лёгкие
- Что такое режим эффективности Windows — зелёный значок листа и как его отключить
- Как правильно сравнивать скорость разных версий программы в Windows
- WPR/WPA на практике: как разбирать «весь ПК тормозит» по всей системе
- Планирование процессора в Windows: «Фоновые службы» и P-/E-ядра
Смежные области консультирования
KomuraSoft LLC занимается расследованием совместимости приложений Windows с функциями безопасности (целостность памяти, VBS, App Control), анализом дефектов, вызванных драйверами, и расследованием производительности, которое изолирует причину «ПК или приложение тормозит» через измерение. Приходите с момента «отключил — не стало быстрее».
- Расследование причин сбоев
- Техническая консультация и ревью проектирования
- Разработка приложений для Windows
- Связаться с нами
Справочные ссылки
-
Microsoft Support, Options to optimize gaming performance in Windows 11. О том, что Windows 11 использует виртуализацию для целостности памяти (HVCI) и Платформы виртуальной машины (VMP); о возможном влиянии на производительность от их включения в некоторых сценариях и конфигурациях на игровых устройствах; и о шагах отключения целостности памяти с экрана изоляции ядра и VMP из «Компонентов Windows» с последующей перезагрузкой. ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7
-
Microsoft Learn, Memory integrity and virtualization-based security. О том, что целостность памяти (HVCI) выполняет проверку целостности кода в изолированной среде VBS, о том, что страницы памяти ядра становятся исполняемыми только после прохождения проверки и исполняемые страницы никогда не становятся записываемыми, и о том, что «Целостность памяти» и «HVCI» относятся к одной функции. ↩ ↩2 ↩3 ↩4 ↩5 ↩6
-
Microsoft Support, Device security in the Windows Security app. О том, что изоляция ядра — группа функций, которые защищают от вредоносного ПО, изолируя основные процессы Windows в памяти; о том, что целостность памяти (HVCI) — функция, которая усложняет вредоносным программам захват ПК через низкоуровневые драйверы и которую можно включать и выключать переключателем; о том, что аппаратную виртуализацию нужно включить в UEFI/BIOS; и о проверке у производителя устройства обновлённых драйверов, когда драйвер несовместим. ↩ ↩2 ↩3 ↩4 ↩5 ↩6
-
Microsoft Learn, Memory integrity and VBS enablement. О том, что целостность памяти включается по умолчанию при чистой установке Windows 11 на совместимое оборудование и не включается автоматически при обновлении; об аппаратных условиях автоматического включения (поколение ЦП, 8 ГБ ОЗУ, SSD 64 ГБ, совместимые драйверы, включённая виртуализация); о защите, которая автоматически отключает при сбое загрузки через
WasEnabledBy/EnabledBootId; о проверке состояния через msinfo32 и «Безопасность Windows»; и об идентификаторе события 3087 в журнале CodeIntegrity Operational, который идентифицирует заблокированный драйвер. ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 -
Microsoft Learn, Virtualization-based Security (VBS). О том, что VBS создаёт изолированную среду аппаратной виртуализацией и гипервизором Windows и служит корнем доверия ОС из расчёта, что ядро может быть скомпрометировано, о том, что SLAT — требование для VBS, и о предпосылках совместимых с целостностью памяти драйверов и Secure Boot. ↩ ↩2
-
Microsoft Learn, Manual installation steps for older versions of WSL. О том, что для использования WSL 2 нужно включить необязательный компонент «Платформа виртуальной машины». ↩ ↩2 ↩3
-
Microsoft Learn, Windows Sandbox. О том, что Windows Sandbox — лёгкая среда рабочего стола, которая использует гипервизор Windows и включается через необязательный компонент «Windows Sandbox» в «Включение или отключение компонентов Windows». ↩ ↩2
-
Microsoft Learn, Enable virtualization-based protection of code integrity. О том, что целостность памяти лучше работает с Mode-Based Execution Control на Intel Kaby Lake и новее и Guest Mode Execute Trap на AMD Zen 2 и новее, а более старые процессоры опираются на эмуляцию Restricted User Mode с большим влиянием на производительность; о том, где живёт настройка в «Безопасности Windows» и о предупреждении начиная с 22H2; о блокировке UEFI групповой политики; о значениях реестра
EnabledиLockedподHypervisorEnforcedCodeIntegrity; о конфигурации, которая включает только VBS; о сером экране из-заWasEnabledBy; о смысле каждого свойстваWin32_DeviceGuard(2 вSecurityServicesRunning— целостность памяти, 7 вAvailableSecurityProperties— MBEC/GMET); о проверке через msinfo32; и о предупреждении о сбоях загрузки из-за несовместимых драйверов и процедуре восстановления из Windows RE. ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10 ↩11 ↩12 ↩13 ↩14 ↩15 -
Microsoft Learn, Virtual Secure Mode. О том, что Mode-Based Execution Control (MBEC) позволяет задавать защиту исполнения памяти отдельно для исполнения в пользовательском режиме (UMX) и в режиме ядра (KMX). ↩
-
Riot Games Support, Error VAN: RESTRICTION. О том, что Vanguard использует HVCI (целостность памяти) в Windows 11 для проверки целостности системы и блокирует запуск игры, когда не может запуститься правильно, и об указании включить каждую из функций безопасности, перечисленных в сообщении об ошибке (TPM 2.0, Secure Boot, целостность памяти, IOMMU). ↩
-
Microsoft Learn, Configure Credential Guard - Disable Credential Guard with UEFI lock. О том, что при включении с блокировкой UEFI настройка хранится в переменной EFI (прошивки), поэтому после отключения политики или настройки реестра переменную EFI нужно удалить через
bcdeditи физически принять запрос подтверждения смены UEFI, показанный при перезагрузке. ↩
Похожие статьи
Недавние статьи с теми же тегами помогут подробнее изучить близкие темы.
Глубины виртуализации Windows (часть 2) — память, которую не видит даже ядро: как устроены VBS, HVCI и Credential Guard
На совместимом оборудовании при чистой установке VBS включена по умолчанию: гипервизор и SLAT создают изоляцию сильнее ядра. Разбираем ус...
Диск на 100%: что на самом деле нужно остановить — как отличить SysMain, Windows Search и Defender
Изолируйте загрузку диска Windows на 100% по пропускной способности, времени отклика и файлам. Безопасно приостанавливайте SysMain, сужай...
Один и тот же 1 ГБ, а папка с фото копируется медленнее одного видео — почему?
Почему на Windows данные одного размера копируются с разной скоростью: число файлов, задержки SSD и NAS, сборка в ZIP, сравнение создания...
Что такое «аппаратно-ускоренное планирование GPU» в Windows — станет ли быстрее, если включить?
Наглядное введение в аппаратно-ускоренное планирование GPU (HAGS) в Windows для обычных пользователей. Как это устроено, когда включать и...
Что такое режим эффективности Windows — зелёный значок листа и как его отключить
Что означает режим эффективности в Диспетчере задач Windows 11, как читать зелёный значок листа, как его отключить, как через реестр и ре...
Связанные темы
Эти страницы показывают тему статьи в более широком контексте услуг и решений.
Технические темы Windows
Раздел о разработке Windows, расследовании сбоев и использовании существующих активов.
Частые вопросы
Вопросы, которые часто возникают при консультациях по теме статьи.
- Что такое целостность памяти (HVCI)?
- Это функция в «Безопасность устройства» > «Изоляция ядра» в «Безопасности Windows», формально называемая hypervisor-protected code integrity (HVCI). Она выполняет проверку подписи драйверов, загружаемых в ядро (сердцевину ОС), внутри изолированной среды, созданной гипервизором, делает исполняемыми только страницы, прошедшие проверку, и никогда не разрешает запись в исполняемые страницы. Цель — усложнить захват ПК вредоносными программами через низкоуровневые драйверы.
- Действительно ли отключение целостности памяти ускоряет ПК?
- Некоторые конфигурации ускоряются; другие почти не меняются. Microsoft указывает, что на игровых устройствах в некоторых сценариях и конфигурациях целостность памяти и Платформа виртуальной машины могут влиять на производительность. Влияние вероятнее всего на старых ЦП без Mode-Based Execution Control (у Intel с 7-го поколения) или Guest Mode Execute Trap (у AMD с Zen 2), потому что на этих ЦП функция эмулируется и стоимость растёт. С другой стороны, в играх, ограниченных GPU, или когда медленность от нехватки памяти, диска, тепла или режима питания, отключение ничего не меняет. Надёжный способ решить — измерить на своём ПК в одинаковых условиях.
- Как отключить целостность памяти?
- Откройте «Безопасность Windows», перейдите в «Безопасность устройства» > «Сведения об изоляции ядра», переведите переключатель «Целостность памяти» в выкл. и перезагрузите ПК. Настройка не вступает в силу, пока не перезагрузитесь. Если переключатель серый и написано «Этот параметр управляется администратором», его заблокировала политика организации; не меняйте сами, спросите администратора.
- Отключил, почему не стало быстрее?
- Сначала подтвердите, что оно действительно выключено, через раздел «Безопасность на основе виртуализации» в msinfo32 (Сведения о системе) или класс Win32_DeviceGuard в PowerShell. Оно может оставаться включённым, потому что вы не перезагрузились или политика вернула настройку. Далее, если используете Hyper-V, WSL 2, Windows Sandbox или Платформу виртуальной машины, сам гипервизор продолжает работать даже после отключения целостности памяти. И если целостность памяти изначально не была причиной медленности, отключение ничего не ускорит.
- Что делать, когда не удаётся снова включить целостность памяти (сообщает о несовместимых драйверах)?
- Проверьте список несовместимых драйверов на экране изоляции ядра в «Безопасности Windows»; правильное исправление — заменить их обновлёнными драйверами производителя устройства. Если драйвер принадлежит устройству, которым больше не пользуетесь, его можно удалить. Какой драйвер был заблокирован, также можно подтвердить в журнале CodeIntegrity Operational в просмотре событий (типичный идентификатор — 3087). Принудительно включать, пока несовместимые драйверы остаются, Microsoft тоже не поддерживает, и ПК может не загрузиться.
- Отключил ради одной игры, и теперь другая игра не запускается.
- Некоторые античиты (например Vanguard от Riot Games) используют целостность памяти (HVCI) в Windows 11 для проверки целостности системы, и на ПК, где ошибка VAN: RESTRICTION называет HVCI, игра не запустится, пока она не включена. Это не требуется одинаково на каждом ПК с Windows 11; зависит от того, что перечисляет ошибка. Если это ваш случай, снова включите целостность памяти и перезагрузитесь. Отключать ли, решайте, глядя и на игру, которую хотите ускорить, и на игру, которая требует HVCI.
Об авторе
Страница с профилем автора статьи.
Го Комура
Представитель KomuraSoft LLC
Специализируется на разработке программного обеспечения для Windows, техническом консалтинге и расследовании сбоев, особенно в проектах с унаследованными системами и трудно воспроизводимыми ошибками.