Как отключить DEP в Windows и что это такое
В некоторых инструкциях, имеющих отношение к решению проблем с работой программ, драйверов или игр вы можете встретить предложение отключить DEP как один из способов исправить ошибки.
В этой инструкции подробно о том, что такое DEP (предотвращение выполнения данных) и способах отключения функции в Windows 11, 10 и предыдущих версиях системы.
Что такое Data Execution Prevention (DEP)
Назначение функции DEP — предотвращение выполнения кода из областей памяти, помеченных как «Только данные» и не предназначенных для исполнения. Задача — блокировка некоторых уязвимостей, которые позволяют вредоносным программам поместить код в область памяти только для чтения, а затем заставить процессор выполнить его.
В случае, если функция Data Execution Prevention (DEP) включена, она блокирует такие попытки и принудительно закрывает соответствующий процесс. В самой программе это часто выглядит как сбой с кодом 0xC0000005, означающим нарушение прав доступа.
В современных системах работа DEP опирается на аппаратную поддержку NX (No Execute, для процессоров AMD) или XD (Execute Disabled, для процессоров Intel) — обе функции предотвращают выполнение кода из областей памяти, которые помечены как неисполняемые, блокирую один из векторов атаки вредоносного ПО.
Узнать текущий статус DEP в Windows 11/10 и других версий ОС можно различными способами. Один из них — выполнение следующей команды в командной строке от имени Администратора (не в PowerShell):
wmic OS Get DataExecutionPrevention_Available, DataExecutionPrevention_SupportPolicy

Вы увидите два столбца. Первый — поддержка DEP, второй — текущий статус в виде числа, соответствующего следующим состояниям:
- 0 — полностью отключено
- 1 — включено для всех процессов
- 2 — включено только для компонентов Windows. Внимание: при этом сами сторонние программы могут запросить DEP и тогда он будет включен и для них.
- 3 — включено для всех процессов, кроме списка исключений
Также вы можете посмотреть статус DEP для конкретных процессов в диспетчере задач, включив отображение соответствующего столбца «Предотвращение выполнения данных»:

Способы отключить DEP и для чего это может потребоваться
Прежде всего отмечу: без необходимости отключить DEP не следует, это не приведёт к повышению производительности или какой-либо дополнительной пользе.
Однако, в некоторых случаях отдельные программы или игры, особенно старые, могут неправильно работать с DEP. В этом случае можно попробовать исключить конкретный исполняемый файл программы в исключения DEP.
Сделать это можно несколькими способами. Первый вариант:
- Нажмите клавиши Win+R на клавиатуре, либо нажмите правой кнопкой мыши по кнопке «Пуск» и выберите пункт «Выполнить». Введите sysdm.cpl и нажмите Enter.
- Перейдите на вкладку «Дополнительно», а затем нажмите кнопку «Параметры» в разделе «Быстродействие».

- Перейдите на вкладку «Предотвращение выполнения данных» и либо выберите опцию «Включить DEP только для основных программ и служб Windows» (но учитывайте, что при этом DEP может включаться и для сторонних программ автоматически), либо, при желании — «Включить DEP для всех программ и службы, кроме выбранных ниже», после чего используйте кнопку «Добавить» для добавления тех программ, DEP для которых следует отключить.

- Примените настройки и перезагрузите компьютер.
Переопределить состояние DEP можно в окне «Безопасность Windows»:
- Откройте «Безопасность Windows», перейдите к разделу «Управление приложениями и браузером», нажмите по ссылке «Параметры защиты от эксплойтов».
- Там вы сможете выбрать одну из опций для предотвращения выполнения данных: «Вкл. по умолчанию» или «Выкл. По умолчанию».

Третий способ — редактор реестра:
- Нажмите клавиши Win+R на клавиатуре, введите regedit и нажмите Enter.
- Перейдите к разделу реестра (если он отсутствует — создайте его)
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
- Внутри этого раздела создайте новый строковый параметр и укажите путь к исполняемому файлу программы в качестве имени этого параметра.
- Дважды нажмите по созданному параметру и измените его значение на DisableNXShowUI

- Закройте редактор реестра и перезагрузите компьютер.
И, наконец, ещё одна возможность — полное отключение DEP в Windows (не рекомендуется, поскольку действие потенциально небезопасно). Запустите командную строку от имени администратора и выполните команду:
bcdedit.exe /set {current} nx AlwaysOff
После чего перезагрузите компьютер. Учитывайте, что после этого изменение состояния DEP другими способами станет недоступным:

Чтобы вернуть состояние по умолчанию, используйте команду:
bcdedit.exe /set {current} nx OptInс последующей перезагрузкой компьютера.
Надеюсь, информация была полезной. Однако, напомню: без явной необходимости изменять параметры Data Execution Prevention не следует.




лилия
ребята вы такие молодцы. Я давно вас ждала и теперь никогда не растанусь
Ответить
Dmitry
Интересно, что вы имеете в виду? Что-то мне кажется, тема про отключение DEP — не та, ради которой долго ждут : )
Ответить
Безликий
Всегда отключаю. А толку с этой штуки? USER.WIN32 всё равно в состоянии превзойти любую защиту
Ответить
Маргарита Евгеньевна
Чудесно! Всегда вас искала, а нашла только сейчас и надеюсь, что никогда не потеряю. Только, пожалуйста, обновите инструкцию для Windows 10. Данная инструкция не подходит
Ответить
Dmitry
Прямо именно меня? Лестно. А вы уверены, что не работает? По крайней мере, мельком взглянул, в быстродействии системы для конкретных программ точно отключается. Остальное пока не проверял.
Ответить
Маргарита Евгеньевна
И вас в том числе:)
Дмитрий, у меня почему-то нет Layers папки в ветке реестра точно по указанному пути. В командной строке также не проходит. Windows 10 последний билд.
Ответить
Dmitry
Странно, а у меня Layers есть, финальная 10, 10240. А вы не стесняйтесь — создайте этот подраздел.
Ответить
Маргарита Евгеньевна
Спасибо, всё получилось!
Ответить
Маргарита Евгеньевна
Дмитрий, кстати, по-возможности, сделайте, пожалуйста, инструкции о корректном удалении приложений Windows из папки SystemAps, например Cortana и тд. Сейчас раздражает процесс searchUI.exe от Cortana, так понимаю, штатными средствами это не удалить
Спасибо!
Ответить
Dmitry
Как-нибудь доберусь. Но, думаю, не очень скоро. Вообще, вопросов много на очереди.
Ответить
Максат
searchUI.exe в десятке меня тоже раздражает. В режиме ожидания жесткий диск начинает нервно рычать из за 10% процесса от searchUI.exe
Хотя, только что переименовал его расширение с .exe на .1exe с помошью Unlocker-а
Ответить
Dimon613648
как отключить DEP на 10. все что я прописывал в строке командной пишет ошибка
Ответить
Dmitry
Отключив предварительно Secure Boot в UEFI/БИОС (ну и естественно, командная строка от администратора)
bcdedit.exe /set {current} nx AlwaysOffОтветить
Виктор
Эта команда тоже запрещена политикой и не может быть изменена. Что делать?
Ответить
Наталья
Здравствуйте! А такая ошибка (ссылка на скриншот) тоже имеет отношение к DEP? Спасибо.
Ответить
Dmitry
Если честно, не знаю.
Ответить
хочузнать
Dmitry, как я понял этот DEP отвечает за установку программ? всех скаченных программ или программ скаченных из одного источника? спасибо.
Ответить
Dmitry
DEP отвечает за предотвращение выполнение данных в памяти. Для любых данных, которые там оказались, а это может быть и при запуске программ и при установке и не только.
Ответить
Алексей
Дмитрий, доброго времени суток.
Такой вопросик — пытаюсь отключить DEP вашим первым указанным с статье способом, но мне пишет «Эта программа должна выполняться с включенной функцией предотвращения выполнения данных (DEP). Вы
не можете отключить DEP для этой программы.» Тогда я пробую применить второй способ — через реестр. Но результата нет. Всё равно у меня каждый раз при запуске винды вылезает табличка: «Lenovo.Modern.ImController.PluginHost.SettingsApp.exe — Ошибка.
Инструкция по адресу 0x00007FFEAED3570C обратилась к
памяти по адресу 0х0000000000000000. Память не может
быть read.»
Помогите пожалуйста, если знаете действенный способ убрать эту табличку при запуске, буду очень вам признателен.
Ответить
Николай
windows 1803 OC 17134.407
Отключил DEP через cmd (bcdedit.exe /set {current} nx AlwaysOff), а после включения (bcdedit.exe /set {current} nx AlwaysOn) в Свойствах системы — Параметры быстродействия — DEP блокирован: Чтобы использовать эти параметры, необходимо иметь права администратора компьютера и использовать файл bcdedit.exe. Дополнительные сведения можно найти на веб-сайте базы
Вопрос. Как вернуть управление через Свойства системы — Параметры быстродействия — DEP
при наборе cmd «bcdedit.exe», пишет что DEP работает (строка Nx, я так понимаю?):
Загрузка Windows
nx AlwaysOn
Ответить
Сергей
Нужно прописать не AlwaysOn, а OptIn. Получится: bcdedit.exe /set {current} nx OptIn
Тогда выбор будет доступен.
Ответить
Костя
Кстати, при желании, с помощью bcdedit вы можете создать в меню загрузки и выбора системы отдельную запись с отключенным DEP и использовать ее тогда, когда это требуется.
А как сделать так как написал?
Ответить
Костя
А уже понял не надо
Ответить
ThIsLinked
Димдимыч, подскажите. Что делает команда?
bcdedit.exe /set {current} nx OptInОтветить
Dmitry
Ну гугл же на эту тему есть)) Включает DEP для компонентов системы и драйверов (только для них, если потом отдельно для других файлов не включили)
Ответить
f,kdskcs
А что делать если пишет «Для этого файла необходим включённый Dep» я хотел для отдельной проги выключить его.
Ответить
Евгений
Приветствую.
При выполнении команды для проверки текущего статуса DEP в командной строке от имени администратора, я получаю следующий ответ: «wmic» не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Windows 11 25H2. В чем может быть дело?
Ответить
Dmitry
Здравствуйте.
Обычно wmic установлен по умолчанию, но если нет, то:
Параметры — Система — Дополнительные компоненты — Просмотреть компоненты, отмечаем и устанавливаем WMIC
Ответить