Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

0x00000109 Windows Server, AD и Роли

BSOD 0x00000109: CRITICAL_STRUCTURE_CORRUPTION - Ошибка PatchGuard

Обновлено: 15.08.2026 · Официальная документация ↗

Архитектура PatchGuard и симптомы (0x109)

Синий экран BSOD 0x00000109 (CRITICAL_STRUCTURE_CORRUPTION) генерируется встроенной системой защиты ядра Windows (Kernel Patch Protection, также известной как PatchGuard). Ядро Windows строго запрещает кому-либо (даже антивирусам уровня ядра) модифицировать свои критические структуры в памяти (таблицы системных вызовов SSDT, таблицу прерываний IDT или регистры MSR). Если PatchGuard при фоновой проверке обнаруживает, что 'чужой' код переписал системную память, он немедленно убивает сервер (BSOD), чтобы не дать руткиту (Rootkit) или эксплойту захватить контроль над ОС.

Анализ параметров (Тип повреждения)

Ключ к разгадке лежит в Parameter 4 дампа MEMORY.DMP:

Parameter 4 (HEX)Что переписал нарушитель
0x101Повреждение структуры EPROCESS или KPROCESS (Процессы ядра).
0x103Изменена таблица прерываний (IDT) или глобальная дескрипторная таблица (GDT).
0x104Повреждение таблицы системных вызовов (SSDT). Явный признак работы старых руткитов (Malware).
0x108 (или 109)Модификация MSR-регистров процессора (Model Specific Register). Частый конфликт с гипервизорами.

Пошаговое дерево решений (Отладка и Защита)

Сценарий 1: Программный конфликт (Filter Drivers / EDR)

В современных ОС Microsoft запретила антивирусам 'хукать' (Hooking) ядро старыми методами (для этого введен API Mini-filters). Но старый софт продолжает пытаться встроиться в ядро, вызывая гнев PatchGuard.

  1. Откройте MEMORY.DMP в WinDbg и выполните !analyze -v.
  2. В отличие от других BSOD, PatchGuard 'падает' асинхронно (через несколько минут после того, как кто-то сломал память). Поэтому WinDbg почти всегда покажет на само ядро ntoskrnl.exe. Виновник уже скрылся!
  3. Решение: Проанализируйте установленный софт. Виновниками 0x109 почти всегда выступают: Системы защиты от утечек (DLP), старые версии Антивирусов (Kaspersky/Symantec), эмуляторы CD/DVD-приводов (Daemon Tools, Alcohol) или 'грязные' драйверы античитов. Удалите их в Safe Mode.

Сценарий 2: Дефектная ОЗУ (Memory Corruption)

Если структура ядра была модифицирована не драйвером, а просто исказилась аппаратно из-за 'битого' бита в планке RAM, PatchGuard все равно расценит это как атаку и выдаст 0x109.

  • Если сервер падает хаотично — запустите MemTest86+ на 24 часа. Изучите аппаратные логи iLO/iDRAC на предмет Uncorrectable ECC Memory Errors.

Сценарий 3: Виртуализация и гипервизоры (VMware / KVM)

Если сервер работает внутри ВМ, а Parameter 4 равен 0x108 (MSR Registers), значит гипервизор некорректно эмулирует процессор (CPU) для гостевой ОС. Windows Server детектирует это как попытку перехвата (Hypervisor Hooking) и вызывает BSOD. Обновите ядро гипервизора (ESXi/Proxmox) или отключите вложенную виртуализацию (Nested Virtualization), если она не используется.

Типовые ошибки администраторов

  • Попытка отключить PatchGuard: На хакерских форумах советуют утилиты вроде 'PatchGuard Disabler'. На боевых Windows Server это делать категорически запрещено! Сервер станет уязвимым для простейших руткитов (Ring 0).
Новое серверное ПО (EDR, Антивирусы) постоянно роняет систему в Синий Экран?
Отладка дампов памяти (Kernel Debugging) при сработках PatchGuard — сложнейшая инженерная задача. Передайте инфраструктуру на системную поддержку: мы проанализируем дампы, вычистим конфликтующие Filter Drivers, обновим Firmware и обеспечим серверам Enterprise-стабильность (SLA 99.9%).
💡 Практика специалистов: Ошибка 0x109 часто возникает при использовании 'пиратских' активаторов Windows (KMS Auto / Chew-WGA) на старых версиях ОС. Эти активаторы внедряют свой драйвер в загрузчик (Bootkit), который патчит память ядра на лету, чтобы эмулировать сервер лицензирования (SLIC). PatchGuard рано или поздно обнаруживает этот обман и убивает систему в синий экран.

Частые вопросы (FAQ)

Может ли вирус вызвать 0x109?

Да. Собственно, для борьбы с ними ошибка 0x109 и придумана. Современные руткиты (Rootkits) или эксплойты пытаются модифицировать структуры ядра для скрытия своих процессов. PatchGuard замечает это и 'жертвует' сервером (BSOD), чтобы не дать вирусу украсть данные.

Чем 0x109 отличается от 0x139 (KERNEL_SECURITY_CHECK_FAILURE)?

Они из одной 'семьи' защиты. 0x139 срабатывает при повреждении связанных списков (LIST_ENTRY) или переполнении буфера (Stack). 0x109 срабатывает при модификации статичных фундаментальных таблиц ядра (SSDT, IDT).

Почему WinDbg показывает виновником ntkrnlmp.exe?

Потому что ntkrnlmp.exe (многопроцессорное ядро Windows) содержит код самого PatchGuard. Именно оно генерирует прерывание BSOD. Найти истинного виновника, переписавшего память, можно только с помощью Driver Verifier (verifier.exe).

Поможет ли sfc /scannow?

Нет. Команда sfc проверяет физическую целостность файлов на жестком диске. 0x109 — это повреждение динамических структур В ОПЕРАТИВНОЙ ПАМЯТИ (RAM) во время работы ОС.

Что означает Parameter 4 = 0x1A?

Это специфический код: 'Модификация кода самого ядра или драйверов HAL'. Если это не битая RAM, значит у вас в системе 100% работает руткит (Malware), пытающийся пропатчить ядро на лету.

Полезные материалы
Рекомендуем