Синий экран CRITICAL_STRUCTURE_CORRUPTION (0x00000109) на ноутбуке: срабатывание PatchGuard, расшифровка параметра 4 и проверка ОЗУ
Стоп-код CRITICAL_STRUCTURE_CORRUPTION (0x00000109) принципиально отличается от обычных вылетов программ одной интригующей особенностью: он часто происходит спустя 5–15 минут после реального события, буквально «на ровном месте», когда вы просто читали почту! Объясняется это устройством встроенного сторожа целостности 64-разрядного ядра Windows — Kernel Patch Protection (PatchGuard). Чтобы злоумышленник не мог предсказать момент проверки, PatchGuard просыпается через случайные зашифрованные интервалы времени и пересчитывает контрольные суммы системных таблиц вызовов (SSDT), таблиц прерываний (IDT), модельных регистров процессора (MSR) и кода системных драйверов ntoskrnl.exe / tcpip.sys / ndis.sys. Если хотя бы один байт в этих эталонных областях оперативной памяти изменился — система мгновенно уходит в защитный синий экран 0x00000109!
Именно из-за отложенного случайного таймера проверки при чтении минидампа новички совершают классическую ошибку: в строке «вероятная причина» отладчик пишет случайный безвинный системный процесс, который просто выполнялся в ту миллисекунду, когда проснулся сторож PatchGuard! Чтобы найти настоящего виновника, нужно смотреть на четвёртый параметр ошибки (Parameter 4) и разделить ровно два класса причин: физический переворот бита в оперативной памяти / кэше процессора против агрессивного старого драйвера с перехватом ядра!
Таблица расшифровки четвёртого параметра (Arg4) в коде 0x00000109
Откройте карточку события BugCheck (Event ID 1001) в системном журнале Windows и посмотрите на четвёртое шестнадцатеричное число:
Четвёртый параметр (Arg4) |
Какой именно участок ядра был изменён | Что это почти наверняка означает на ноутбуке |
|---|---|---|
0x01 (Generic data region), 0x03 (Processor IDT), 0x04 (Processor GDT), 0x1A (случайно меняющиеся коды от падения к падению!) |
Случайные разные области кода и таблиц ядра в оперативной памяти! | В 90 % случаев — аппаратный переворот бита (Single-Bit Flip) в планке оперативной памяти DDR4 / DDR5 или нестабильное напряжение ядра CPU! Вредоносный или кривой драйвер бьёт строго в одну и ту же функцию, а битая ячейка ОЗУ попадает каждый раз в разную системную библиотеку! |
0x02 (Modification of a system service function routine — перехват системного вызова SSDT Hook!) |
Кто-то целенаправленно перезаписал пролог системной функции ядра (как делали во времена 32-битной Windows XP!) | Несовместимый старый антивирус, древний античит игры, старый фаервол, пиратский «активатор-лоадер» или руткит! |
0x05 (Type 1 process list corruption) или 0x07 (Critical MSR modification) |
Нарушение скрытого списка процессов либо прямая перезапись защищённого модельного регистра MSR процессора! |
Утилиты низкоуровневого разгона/андервольтинга старых версий, старые эмуляторы Android без поддержки современного гипервизора (см. также разбор ошибки гипервизора 0x00020001) либо чит/руткит! |
Пошаговый алгоритм локализации без переустановки наугад
Шаг 1. Сразу проверьте, меняются ли адрес и Arg4 в трёх последних минидампах!
Откройте 2–3 последних файла из C:\Windows\Minidump (или три последние записи Event ID 1001 в Просмотре событий):
- если в понедельник
PatchGuardнашёл повреждение вtcpip.sys, в среду — вntfs.sys, а в пятницу — вntoskrnl.exe(часто вперемешку с другими «памятевыми» кодами вроде повреждения базы страниц PFN_LIST_CORRUPT 0x0000004E или падением вкладок браузераSTATUS_ACCESS_VIOLATION) — прекращайте искать «плохой драйвер сети»! У вас классический аппаратный переворот битов в оперативной памяти!
Шаг 2. Проведите глубокий прогретый тест ОЗУ и сбросьте андервольтинг!
Код ядра ntoskrnl.exe загружается в оперативную память ноутбука один раз при включении и лежит там сутками. Малейший перегрев модуля SO-DIMM в тесном отсеке или заниженное напряжение питания контроллера памяти переворачивает один бит с 0 на 1 — и ровно через десять минут PatchGuard видит несовпадение контрольной суммы!
- Войдите в BIOS Setup, сбросьте все настройки в заводские Setup Defaults (особенно если на ноутбуке настраивались ручные тайминги или смещения кривой напряжения
Curve Optimizer/ андервольтинг!) и обновите BIOS до свежей версии (подробнее о роли калибровки памяти на новых платформах см. статью про тренировку оперативной памяти DDR5). - Запустите предзагрузочную UEFI-диагностику оперативной памяти минимум на 4 полных прохода: при малейшей ошибке протестируйте съёмные модули по одному по правилам проверки и замены оперативной памяти в ноутбуке.
Шаг 3. Если память на 100 % чиста, а Arg4 всегда одинаковый (0x02 / 0x07) — ревизия ядерных перехватчиков и включение HVCI!
Если многочасовой тест ОЗУ прошёл с нулём ошибок:
- Вспомните и полностью деинсталлируйте любые программы, ставящие неподходящие ядерные драйверы: старые сборки сторонних антивирусов/фаерволов пятилетней давности, старые твикеры регистров
MSR, читы и сомнительные «кряки/активаторы» с торрентов (именно старые теневые загрузчики перехвата ядра чаще всего палятся защитойPatchGuardна Windows 11!). - Проверьте систему полноценным автономным сканированием Microsoft Defender Offline (Безопасность Windows → Защита от вирусов и угроз → Параметры сканирования → Автономное сканирование Microsoft Defender): ноутбук перезагрузится в изолированную доверенную среду ДО старта самой Windows и вычистит любой загрузочный вредоносный драйвер!
- Включите аппаратную защиту Целостность памяти (
HVCI) в разделе Изоляция ядра (если ползунок блокируется старым хвостом драйвера — уберите его по инструкции из статьи почему не включается целостность памяти HVCI!): когда активнаHVCI, гипервизор вообще запрещает любому кривому старому драйверу переписывать исполняемые страницы ядра! - Проверьте системные файлы командами
DISM /Online /Cleanup-Image /RestoreHealthиsfc /scannow(строго после того, как вы убедились в исправности планок оперативной памяти!).
Стоп-линия
Если ноутбук с распаянной на материнской плате оперативной памятью или высокопроизводительным мобильным процессором с разблокированным теплопакетом продолжает падать на полностью чистой заводской установке Windows 11 без единой сторонней утилиты и со сброшенными в стандартные значения настройками прошивки, не пытайтесь маскировать сбой искусственным отключением вычислительных ядер через системную конфигурацию загрузки. В первую очередь установите актуальный выпуск прошивки материнской платы со свежим защитным микрокодом стабилизации напряжений буста от производителя ноутбука, а если произвольные остановки с меняющимися системными библиотеками сохраняются даже на рабочем столе в простое — зафиксируйте коды событий из системного журнала и передайте устройство на стендовую диагностику по правилам гарантии и сервиса, поскольку физическая деградация ячейки кэш-памяти кристалла или чипа распаянной памяти устраняется исключительно заменой узла.
Контрольный чек-лист
- [ ] Сопоставлены 2–3 последних минидампа: точно разделены случайные сбои памяти (разные модули и
Arg4) и программный перехват (один и тот жеArg4 = 0x02 / 0x07). - [ ] Сброшены все разгоны и андервольтинги, обновлён UEFI BIOS и проведён многопроходный тест оперативной памяти с нулём ошибок.
- [ ] Выполнен прогон Автономного сканирования Microsoft Defender до загрузки ОС и удалены устаревшие сторонние ядерные фильтры.
- [ ] Активирована защита ядра Целостность памяти (
HVCI) и проверена целостность системных файлов командамиDISM + sfc.
Частые вопросы
Можно ли отключить сам PatchGuard в Windows 11, чтобы он не ронял ноутбук в 0x00000109?
В обычном рабочем режиме с включённой безопасной загрузкой Secure Boot отключить PatchGuard нельзя (и крайне опасно!): он не создаёт проблему из воздуха, а спасает ваши рабочие файлы и банковские сессии в ту минуту, когда битая планка оперативной памяти или руткит уже пробили брешь прямо в сердце операционной системы!
Почему отладчик WinDbg написал Probably caused by: tcpip.sys — значит, у меня сломалась сетевая карта?
Почти наверняка нет! В дампе 0x00000109 строка tcpip.sys означает лишь то, что сторож PatchGuard обнаружил изменённый байт внутри памяти системного драйвера tcpip.sys — сам сетевой чип ни в чём не виноват, его память снаружи повредила либо сбойная планка ОЗУ, либо сторонний драйвер-перехватчик сетевого трафика!
Полезные материалы по смежным узлам ноутбука: руководство по проверке ноутбука с гарантией.