![Проблема](https://rvso.com/image/1316768/%D0%9F%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B0.png)
Проблема
Клиентский ноутбук получает синий экран смерти с кодом 0000002c. Это происходит, когда Windows XP завершает загрузку и пытается загрузить интерфейс приветствия.
Что я уже сделал
- Это не проблема с оборудованием, поскольку я уже протестировал жесткий диск (Victoria Scan, Manufacture (Samsung) HD Diagnostic Tool), оперативную память (Memtest86+ 24 часа) и процессор (стресс-тест) без ошибок.
- Безопасный режим: BSOD 2c
- Восстановление Windows: BSOD 2c (при установке драйверов)
- Использовал жесткий диск в совершенно другом ноутбуке (другой чипсет), даже в виртуальной среде: BSOD 2c.
- Заменил все logonui.exe и ntkrpamp.exe на оригинальные.
Диагностический
- Если я загружаю ноутбук с помощью Windows PE (Hirens Boot CD 15.1) и хочу посмотреть, какие программы и драйверы загружаются при запуске (autorun.exe от Sysinternals), я получаю тот же BSOD 2c в среде PE.
По запросу я могу загрузить *.dmp-файл последнего минидампа.
Мини-самосвал
z:\TOOLS\windbg_6.12.0002.633_x86\debugger_x86>kd -y srv*c:\symbols*http://msdl. microsoft.com/download/symbols -ic:\windows\i386 -zz:\TMP\User\Mini052512-07. дмп Отладчик Microsoft (R) Windows версии 6.12.0002.633 X86 Авторские права (c) Microsoft Corporation. Все права защищены. Загрузка файла дампа [z:\TMP\User\Mini052512-07.dmp] Мини-файл дампа ядра: доступны только регистры и трассировка стека Путь поиска символов: srv*c:\symbols*http://msdl.microsoft.com/download/symbols Путь поиска исполняемого файла: c:\windows\i386 Windows XP Kernel Version 2600 (Service Pack 3) MP (4 процессора) Бесплатная x86-совместимая Продукт: WinNt, пакет: TerminalServer SingleUserTS Personal Создатель: 2600.xpsp.080413-2111 Имя машины: База ядра = 0x804d7000 PsLoadedModuleList = 0x8055d720 Время сеанса отладки: пятница, 25 мая 18:48:44.218 2012 (UTC + 2:00) Время работы системы: 0 дней 0:19:39.765 Загрузка символов ядра ............................................................... ................................................. Загрузка пользовательских символов Загрузка списка выгруженных модулей ................... ******************************************************************************* * * * Анализ ошибок * * * ******************************************************************************* Используйте !analyze -v для получения подробной отладочной информации. Проверка ошибок C2, {43, c68a4000, 0, 0} Вероятно, вызвано: ntkrpamp.exe ( nt!CmpFree+17 ) Продолжение: MachineOwner --------- 0: kd> !анализ -v ******************************************************************************* * * * Анализ ошибок * * * ******************************************************************************* BAD_POOL_CALLER (c2) Текущий поток делает плохой запрос пула. Обычно это происходит на плохом IRQ Уровень L или двойное освобождение того же выделения и т. д. Аргументы: Arg1: 00000043, Попытка освободить виртуальный адрес, который никогда не был ни в одном пуле Arg2: c68a4000, Адрес освобождается. Арг3: 00000000, 0 Арг4: 00000000, 0 Подробности отладки: ------------------ ОШИБОЧНЫЙ_IP: nt!CmpFree+17 8063beef 5d поп ebp BUGCHECK_STR: 0xc2_43 CUSTOMER_CRASH_COUNT: 7 DEFAULT_BUCKET_ID: COMMON_SYSTEM_FAULT ИМЯ_ПРОЦЕССА: setup.exe LAST_CONTROL_TRANSFER: с 80548c2d на 804f9f33 ТЕКСТ_СТЕКЛА: ba2979e4 80548c2d 000000c2 00000043 c68a4000 nt!KeBugCheckEx+0x1b ba297a24 8054b49a c68a4000 e1cc3640 e1c97000 nt!MiFreePoolPages+0x8b ba297a64 8063beef c68a4000 00000000 ba297ad0 nt!ExFreePoolWithTag+0x1ba ba297a74 8063eaf6 c68a4000 00001000 00000000 nt!CmpFree+0x17 ba297ad0 8063eedb 9d308b60 00000000 00000000 nt!HvpRecoverData+0x3ec ba297b1c 80630854 9d308b60 00000000 00000001 nt!HvMapHive+0x133 ba297b34 8063837f 9d308c01 00000005 00000000 nt!HvInitializeHive+0x416 ba297ba0 80625bcf ba297bdc 00000005 00000000 nt!CmpInitializeHive+0x26d ba297bf8 8062ad61 ba297d04 00000000 ba297c64 nt!CmpInitHiveFromFile+0xa3 ba297c20 80631efa ba297ccc ba297c6c ba297c5c nt!CmpCmdHiveOpen+0x21 ba297cac 8062578a ba297ce4 ba297ccc 00000000 nt!CmLoadKey+0x90 ba297d40 80625994 0641a62c 0641a614 00000000 nt!NtLoadKey2+0x1fc ba297d54 8054161c 0641a62c 0641a614 0641a658 nt!NtLoadKey+0x12 ba297d54 7c91e4f4 0641a62c 0641a614 0641a658 nt!KiFastCallEntry+0xfc ВНИМАНИЕ: IP-адрес кадра отсутствует в каком-либо известном модуле. Следующие кадры могут быть неверными. 0641a658 00000000 00000000 00000000 00000000 0x7c91e4f4 STACK_COMMAND: КБ FOLLOWUP_IP: nt!CmpFree+17 8063beef 5d поп ebp ИНДЕКС_СТЕКА_СИМВОЛОВ: 3 SYMBOL_NAME: nt!CmpFree+17 FOLLOWUP_NAME: Владелец машины MODULE_NAME: нт ИМЯ_ИЗОБРАЖЕНИЯ: ntkrpamp.exe DEBUG_FLR_IMAGE_TIMESTAMP: 4802516a FAILURE_BUCKET_ID: 0xc2_43_nt!CmpFree+17 BUCKET_ID: 0xc2_43_nt!CmpFree+17 Продолжение: MachineOwner --------- 0: кд>
Итак, что же именно вызывает BSOD?
решение1
Звонок HvpRecoverData
предполагает поврежденный реестр. Ошибка во время процесса восстановления указывает на поврежденный кустбревнофайл (согласно источникам Windows Research Kernel). Когда у меня возникла эта проблема, удаление всех C:\Documents and Settings\<USERNAME>\NTUSER.DAT.LOG
файлов помогло. В моем случае в процессе не были потеряны пользовательские данные или настройки.