Москва: проверенные б/у ноутбуки с гарантией и проверкой перед оплатой
+7 906 722-94-45

Главная → Статьи → Синий экран BAD_POOL_HEADER (0x00000019) на ноутбуке: расшифровка первого параметра, чтение 4-буквенного тега драйвера в WinDbg и Special Pool

Синий экран BAD_POOL_HEADER (0x00000019) на ноутбуке: расшифровка первого параметра, чтение 4-буквенного тега драйвера в WinDbg и Special Pool

Синий экран BAD_POOL_HEADER (0x00000019) на ноутбуке: расшифровка первого параметра, чтение 4-буквенного тега драйвера в WinDbg и Special Pool

Синий экран BAD_POOL_HEADER (0x00000019) на ноутбуке: расшифровка первого параметра, чтение 4-буквенного тега драйвера в WinDbg и Special Pool

Всякий раз, когда любому аппаратному драйверу вашего ноутбука — сетевому фильтру Wi-Fi, драйверу звуковой карты, Bluetooth-мыши или файловой системы — требуется кусочек оперативной памяти для хранения пакета данных, он обращается к общему складу ядра Windows, который называется динамическим пулом памяти (Kernel Pool). Перед каждым выделенным блоком менеджер памяти ставит миниатюрный служебный паспорт — заголовок блока пула (Pool Header), где записан точный размер участка и уникальный четырёхбуквенный автограф драйвера-владельца (Pool Tag)!

Синий экран BAD_POOL_HEADER (0x00000019) вспыхивает на ноутбуке ровно в ту микросекунду, когда соседний неаккуратный драйвер вылезает за границу своего участка памяти и затирает чужой служебный заголовок справа от себя (переполнение буфера!), либо когда в самой микросхеме оперативной памяти происходит физический переворот бита!

Почему виновником в простых программах нередко оказывается «невиновный сосед» — и как поймать настоящего нарушителя!

Представьте два участка с общим деревянным забором: нерадивый сосед слева снёс забор своим грузовиком и уехал, а синий экран сработал через пять минут, когда законопослушный сосед справа вышел во двор поливать цветы и увидел сломанный забор! Именно поэтому официальный отладчик Microsoft WinDbg даёт нам сразу ДВЕ бесценные улики при открытии свежего файла минидампа командой !analyze -v:

Значение первого параметра Arg1 в минидампе Что именно случилось с заголовком пула Как вытащить имя настоящего виновника!
0x00000020 Размер предыдущего соседнего блока памяти слева не совпадает с заголовком текущего блока — классический наезд соседа слева за границу своего буфера! Выполнить в окне отладчика команду !pool по адресу второго аргумента Arg2: отладчик распечатает 4-буквенный тег предыдущего блока, прямо называющий сбойный драйвер!
0x00000021 Повреждён указатель выравнивания внутри большого блока страничного пула Проверить стек вызовов на устаревшие фильтры антивируса, старые VPN-клиенты и драйверы внешних USB-адаптеров!
0x00000022 Драйвер передал на освобождение заведомо неверный адрес памяти, который вообще не числится в таблице выделенных участков пула Виновный .sys-файл почти со стопроцентной точностью назван прямо в верхней строчке стека отчёта !analyze -v!
0x00000041 / случайные разные коды (0x19 чередуется с 0x4E и 0x50)! Хаотичное разрушение заголовков по всей оперативной памяти без привязки к одному драйверу! Срочно проверять саму оперативную память ноутбука автономным тестом из UEFI (подробная методика дана в разборе повреждения базы страничных кадров 0x0000004e)!

Снайперская ловушка Microsoft Special Pool («Специальный пул»): ловит 100 % неуловимых драйверов с поличным!

Что делать, если синий экран 0x00000019 мучает ваш рабочий ноутбук раз в два дня, память полностью проверена и здорова, а в обычном минидампе сбойный драйвер каждый раз успевает скрыться до обвала? Инженеры ядра Windows создали для этого гениальную функцию «Специальный пул» (Special Pool) во встроенной утилите verifier.exe:

  • когда она включена для сторонних драйверов, Windows окружает буфер каждого стороннего .sys-драйвера неприступной запретной стеной (Guard Page)!
  • в ту самую наносекунду, когда кривой драйвер попытается записать хотя бы один лишний байт за пределы своего буфера, он уже НЕ сможет испортить чужую память и спрятаться — процессор мгновенно остановит его прямо на строке преступления и запишет точное ИМЯ файла .sys крупными буквами в минидамп!

Правила безопасного включения и обязательного отключения верификатора:

  1. Золотое правило безопасности № 1: перед запуском verifier.exe Обязательно создайте свежую точку восстановления системы и знайте, как войти в Безопасный режим (Shift + Перезагрузка), — потому что как только проблемный драйвер попадётся в капкан при старте, ноутбук специально выдаст синий экран с именем этого драйвера!
  2. Запустите verifier от имени администратора → Создать пользовательские параметры → поставьте галочку «Специальный пул» (Special Pool) → выберите «Автоматически выбирать все драйверы, не являющиеся драйверами Microsoft» (Никогда не отмечайте все системные драйверы самой ОС — ноутбук станет крайне задумчивым!).
  3. Как только в следующем же минидампе вы прочитали точное имя пойманного стороннего .sys-драйвера (чаще всего это старый драйвер Wi-Fi/USB-хаба, утилита разгона, устаревший аудиофильтр или старый сетевой экран — см. также как безопасно удалять старые пакеты драйверов через pnputil), сразу же выключите режим слежки командой:
    • verifier /reset (можно прямо из командной строки Безопасного режима!) и перезагрузите ноутбук!

Четыре самых частых бытовых виновника BAD_POOL_HEADER без запуска отладчика

Даже до погружения в отладку в восьми случаях из десяти 0x00000019 на ноутбуках мгновенно исчезает после четырёх простых действий:

  1. Выключение «Быстрого запуска Windows» и полноценная перезагрузка (чтобы не подгружать повреждённый вчерашний образ ядра из файла гибернации).
  2. Обновление драйверов беспроводного модуля Wi-Fi / Bluetooth и контроллера накопителя NVMe со страницы поддержки вашей модели ноутбука.
  3. Удаление некорректных хвостов старого стороннего антивируса или старого клиента VPN официальным деинсталлятором разработчика.
  4. Проверка целостности системных библиотек и файловой таблицы SSD командами DISM /Online /Cleanup-Image /RestoreHealth, sfc /scannow и chkdsk C: /scan.

Контрольный чек-лист

  • [ ] Исключена физическая ошибка ячеек оперативной памяти полным предзагрузочным тестом модулей.
  • [ ] В отладчике WinDbg проверены подкод Arg1 и четырёхсимвольный тег владельца соседнего блока пула.
  • [ ] При скрытом переполнении буфера создана точка восстановления, пойман виновный сторонний модуль через Special Pool и выполнена команда сброса verifier /reset.
  • [ ] Сбойный сторонний драйвер обновлён или удалён, а Быстрый запуск отключён.

Частые вопросы

Ноутбук падает в BAD_POOL_HEADER (0x00000019) строго в тот момент, когда я подключаю к нему старый внешний USB-диск или недорогую китайскую USB-звуковую карту — может ли внешнее устройство вызывать синий экран ядра?

Да, сплошь и рядом! Если контроллер дешёвого внешнего USB-аксессуара с просевшим питанием возвращает ядру Windows искажённый пакет дескриптора неверной длины, старый драйвер-фильтр USB может переполнить буфер при разборе ответа и обрушить систему в 0x00000019! Отключите сбойный внешний аксессуар или замените его перетертый USB-кабель — и сам ноутбук будет работать годами без единой перезагрузки!

А если ноутбук новый из коробки и выдаёт ошибки пула на абсолютно чистой заводской Windows без единой сторонней программы?

Если синие экраны памяти проявляются на абсолютно новом ноутбуке прямо на заводском образе с обновлённым BIOS, вероятнее всего имеется заводской дефект одной из планок оперативной памяти — не тратьте время на перебор сборок системы и сразу передайте устройство на экспресс-диагностику и замену модуля по правилам гарантии 12 месяцев (или ознакомьтесь с нюансами выбора проверенных модулей в статье про апгрейд памяти ноутбука).

Что делать, если после включения проверки сторонних драйверов верификатором ноутбук начал уходить в синий экран прямо при каждой загрузке рабочего стола?

Во-первых, поздравляем — ловушка сработала идеально, и в нижней строчке этого синего экрана в скобках уже прямо напечатано точное имя сбойного драйвера, который вам мешал! Во-вторых, чтобы за тридцать секунд выйти из цикла и спокойно удалить этот драйвер на рабочем столе, трижды прервите старт для входа в меню автоматического восстановления, выберите Поиск и устранение неисправностей → Дополнительные параметры → Параметры загрузки → Перезагрузить и нажмите цифру 4 (Безопасный режим). В Безопасном режиме верификатор драйверов автоматически бездействует: откройте командную строку администратора, сбросьте настройки слежки штатной командой сброса, удалите пойманный проблемный пакет и перезагрузите ноутбук в обычный скоростной режим!

Полезные материалы по смежным узлам ноутбука: руководство по проверке ноутбука с гарантией.