Устранение Stop-ошибки на bsodstop.ru

Общие причины

  • Ошибка обнаружения критичного для загрузки ОС объекта/модуля (драйвера/библиотеки) по причинам: ошибки файловой системы, повреждение носителя информации, …
  • Ошибка инициализации критичного для загрузки ОС объекта/модуля (драйвера/библиотеки): ошибки структуры файла (повреждение данных файла), ошибки файловой системы, повреждение носителя информации, …;
  • Рассинхронизация (несоответствие) версий ядра (файл(ы) , , , ) и библиотеки (обычно после обновлений).
  • Иные ошибки, попадающие под общую категорию ошибок инициализации фаз ядра.

Статья дополняет серию материалов, освещающих методы устранения проблем, приводящих к возникновению критической системной ошибки (BSOD). В материалах раздела рассматриваются ситуации, с которыми я сталкивался лично (в своей практике) и с которыми мне удалось разобраться. STOP-ошибка (STOP error), контроль дефекта (BugCheck) или в простонародье BSOD — фатальный системный сбой операционной системы Windows, являющийся причиной полного прекращения функционирования основных компонентов ядра операционной системы, влекущий за собой потерю динамических не сохраненных пользовательских данных и приводящий к появлению на экране монитора синего экрана смерти (BSOD). Числовое обозначение STOP-ошибки — идентификатор, характеризующий «природу» фатальной системной ошибки, используется при диагностике причины возникшей неполадки. В данной статье речь пойдет о сбое с идентификатором STOP 0000006B.

Синий экран 0x0000006B указывает, что во время инициализации операционной системы Microsoft Windows произошел сбой. Параметры PROCESS1_INITIALIZATION_FAILED:

  • Код статуса NT, который вызвал отказ;
  • Зарезервированный параметр;
  • Зарезервированный параметр;
  • Зарезервированный параметр.

ПричинаЛюбая часть дисковой подсистемы может вызвать данный BSoD, включая дефектные диски, неисправные кабеля, смешивания различных устройств типа ATA на одном кабеле. Также  ошибка может также быть вызвана недостающим файлом  начальной загрузки раздела или файлом драйвера, который пользователь случайно отключил на вкладке “Драйвер”. Фаза 1 инициализации процесса  перестала работать. Это может произойти в относительно короткий промежуток времени, когда инициализируется Windows 2000 Executive , во время фазы 4 запуска Windows 2000. Это свидетельствует о проблеме драйвера устройства. РешениеДля решения данного BSoD необходимо обновить или откатить сбойный драйвер устройства. Если после этого ошибка продолжает появляться, воспользуйтесь статьей “Общие рекомендации по устранению BSoD”.

Reader Interactions

В данном заголовке приводятся общие методы восстановления, которые применяются для всех подвидов ошибки STOP 0x0000006B вне зависимости от параметров ошибки (BugCheckParameter1, BugCheckParameter2, BugCheckParameter3, BugCheckParameter4), которые указаны после кода STOP-ошибки в круглых скобках.

  • Запуск проверки состояния жесткого диска / файловой системы на предмет наличия ошибок (при помощи команды chkdsk c: /f/r);
  • Запуск средства из встроенного инструментария Устранение неполадок компьютера, либо с установочного диска или с любого другого средства восстановления.
  • Копирование файлов: , , , , , из директории с работоспособной станции-донора. Тут важно понимать, что все файлы должны быть с одной системы, дабы исключить рассинхронизацию версий;
  • Если вы не можете самостоятельно точно определить, какие именно файлы были рассинхронизированы и не помог предыдущий пункт, то можно воспользоваться довольно варварским методом: произвести копирование целиком директорий и с работоспособной станции-донора. Тут предварительно на целевой системе надо будет «допилить» безопасность на перечисленных папках: получить владельца и выставить полные права для пользователя ;
  • Замена файла и директории с работоспособной станции. Для замены можно запуститься с любого доступного LiveCD и перенести указанный файл.

  • пользоваться необходимыми обновления для ОС;
  • регулярно проверять обновления драйверов;
  • использовать специальный стабилизатор напряжения;
  • при апгрейде компьютера все новые компоненты должны соответствовать техническим характеристикам установленного оборудования;
  • пользоваться лицензионной ОС;
  • использовать антивирусные программы и утилиты;
  • следить, чтобы на жестком диске всегда было достаточно свободно места;
  • регулярно проверять ваш жесткий диск на наличие битых секторов.
Читать еще:   Ошибка при запуске приложения 0xc00000012d

Поделиться в социальных сетях

Ошибка появляется во время запуска системы.

Решения взяты с форума oszone. ru — в моем случае, ни одно из предложенных решений не было действенным.

Пробовал восстанавливать реестр с папки repair (т. восстановление системы было отключено) — система начинает грузиться — но после перезагрузки вновь появляется эта ошибка.

Также проверял автозапуск с помошью программы autoruns — ничего подозрительного не обнаружил.

Пробовал сделать проверку диска

Также не помогло.

система не была загружена никакими программами, я просто ее переставил заново предварительно отформатировав диск

Итак что же предлагают сделать в данном случае на форуме, приведу избранные цитаты:

Победил ошибку спустя 3 часа. Симптомы: винда и сейфмод — не грузятся, средство восстановления — useless. PROCESS1_INITIALIZATION_FAILED. В доп параметрах стояли нули 0x6b (0x0, 0x0, 0x0, 0x0). Вынь7

Па с бубном: советы с сайта мелкософтовцев, анализ минидампа, проверка/замена памяти, проверка на битые сектора винта, проверка на вирусы.

Итог:
— Память не причём была. — вирусов не обнаружено. — В минидампе — ссылка на ntkrnlpa. exe. (Unable to load image SystemRootsystem32
tkrnlpa. exe, Win32 error 0n2
*** WARNING: Unable to verify timestamp for ntkrnlpa. exe)
— Совет мелкомягких — удалить bootcat. cache — не прошел. Соответственно, накатить рекомендуемое закрытое обновление не смог.

Начал подумывать о накате винды поверх… сложил лапки на пузе. Да, 0x06b — непобедим…

Да ну на…

Решение: заменил bootcat. cache с рабочего компа. Винда стартанула. Ура! Всё работает! Контрольный перезапуск — ппц, всё не работает. Еще одна подмена файла. Думаю, что делать дальше… случайно вспоминаю про закрытый фикс. Накатываю из под винды, перезагрузка — всё работает. Вуаля.

: Знал бы где упаду — соломки бы подстелил. (соломка — windows updates). Хозяева соломку отключили: «а зачем оно нуна? оО»
P. : Очень порадовала консоль восстановления вынь7 с её горячим подключением юсб. Не знал, блин… Вообще от семёрки масса положительных эмоций.

На правах некропостинга для будущих поколений. Ну и для развеивания мифа о непобедимости.

Кстати я не нашел bootcat. cache на рабочей машине с Windows XP — у меня ошибка была не на семерке

Еще одно полезное сообщение

Столкнулся с данной ошибкой на XP SP3, загрузился с ERD 2005, ерд не опознал винду на жестком, тамошний эксплорер не открывает папку system32, ругаясь на её повреждение. chkdsk /f /r /x c: и вуаля) всё работает, ошибка побеждена.

Кстати у меня, также была проблема с открытием папки %Windir%System32

Словил ошибку 0x0000006B (0xc0000102) на компьютере с WinXP — до этого он 4 года работал без косяков. chkdsk не помог, восстановление системы не помогло. Переустановить получилось — пока нормально вертится

Видимо как и мне времени было жалко на «отлов» ))

Доброго времени суток! Есть ноут Asus A6j, поставил на него семёрку. Всё прекрасно работало, а вот сегодня загрузка винды обернулась синим экраном с ошибкой PROCESS1_INITIALIZATION_FAILED (STOP: 0x0000006B, дальше одни нули). Проверил аварийной флешкой, антивирусами — всё чисто, винт и его содержимое видны, ошибок никаких известных по этой проблеме нет. Тем не менее, нужна винда и не хотелось бы переставлять.

дамп посмотреть не могу, так как система не грузится. в похожих темах ответа не нашёл, так как все файлы на месте и ничего не повреждено.

заменил файл bootcat. cache на аналогичный с ноута и комп включился.

Была речь о каком то фиксе, где его можно найти, чтобы повторно не стряслось?

Читать еще:   Все стоп ошибки BSOD-синего экрана смерти – Инструкции для людей

Сервис пак стоит, а при перезагрузке один хрен слетает в синий экран

Так лекарства от этого нет? запуск на один раз и переустановка оси?

Как видно неприятная ошибка — не хотелось бы ее еще раз встретить.

Теория

STOP 0x0000006B имеет собственную специфику и возникает на ранних стадиях загрузки операционной системы. В момент возникновения сбоя пользователь наблюдает на экране следующее сообщение об фатальной системной ошибке:

В общем случае формат ошибки следующий:

STOP 0x0000006B (0xAAAAAAAA,0xBBBBBBBB,0xCCCCCCCC,0xDDDDDDDD)PROCESS1_INITIALIZATION_FAILED

ЗначениеОписание
0xAAAAAAAAПервый параметр. Статус завершения операции. 0xBBBBBBBBВторой параметр. Неофициально — указатель на этап загрузки/инициализации. 0xCCCCCCCCТретий параметр. Зарезервировано. 0xDDDDDDDDЧетвертый параметр. Зарезервировано.

Вообще загрузка операционной системы представляет собой достаточно сложную процедуру, которая состоит из множества стадий. На одной из начальных стадий загружается непосредственно ядро операционной системы, которое начинает проходить этапы инициализации/создания собственных структур и создания/запуска основных системных процессов, составляющих исполнительную подсистему ядра. Символическое имя ошибки PROCESS1_INITIALIZATION_FAILED (ОШИБКА_ИНИЦИАЛИЗАЦИИ_ПРОЦЕССА1), по идее разработчиков, должно сообщать нам о том, что ошибка STOP 0000006B возникает в ситуации невозможности загрузки/инициализации некоего критичного для загрузки операционной системы модуля. Что означает имя PROCESS1, это процесс, загружаемый на стадии 1 или процесс с номером (идентификатором) 1? И если следовать подобной логике, то зададимся вопросом: процесс №1 это случайно не процесс System? Ведь если брать во внимание высказывание главного разработчика Microsoft Раймонда Чена (Raymond Chen):

On Windows NT-based operating systems, process and thread IDs happen always to be a multiple of four.

в то время как процесс System имеет PID=4, то получается, что PROCESS1 и есть System? Далее, опираясь на данные, которые можно получить из исходных кодов ядра, можно утверждать, что на определенном этапе стартует Диспетчер процессов. Диспетчер процессов предназначается для управления процессами в ОС и одной из его задач является загрузка и подготовка (экспорт) функций DLL. На одном из ранних этапов загрузки, при подготовке процесса System, происходит связывание функции основных системных DLL (ntdll. dll и других). Как раз на этом этапе работы и может появляться рассматриваемая нами ошибка: либо по причине повреждения одной из критичных системных DLL, либо из-за разных версий взаимосвязанных DLL, либо по причине несоответствие подписи (подделки) кода некоторых DLL (защита которых реализована в специальном коде ядра операционной системы).

Зачастую при возникновении STOP 0000006B системой не создаются файлы аварийных дампов (даже несмотря на настроенные параметры аварийных дампов), что заметно осложняет диагностику.

Второй параметр (BugCheckParameter2)

Все найденные мной точки возникновения критической ошибки STOP 0000006B располагаются в коде ядра операционной системы, размещенного в файле ntoskrnl. exe (либо другом ntkr*. exe в зависимости от аппаратной конфигурации станции). Давайте попробуем разобрать каждую из них подробнее.

Второй параметр =2

Первый найденный фрагмент находится внутри функции PsLocateSystemDlls и выглядит он следующим образом:

Второй параметр =3

Следующий фрагмент был найден внутри функции PspLocateSystemDll:

то есть второй параметр 3! Функция PspLocateSystemDll выполняет инициализацию (заполнение) полей структуры размещаемых в памяти ядра системных библиотек.

Второй параметр =6

Очередной блок размещается внутри функции PspInitializeSystemDlls:

то есть второй параметр 6! Похоже функция PspInitializeSystemDlls производит заполнение (инициализацию) полей структуры экспортируемых библиотекой ntdll. dll функций. Она берет базовый адрес образа (ImageBase) каждой доступной в системе версии ntdll. dll и производит разрешение всех экспортируемых функций, а так же производит ряд других манипуляций.

Все параметры =0

И наконец внутри функции Phase1InitializationDiscard имеется такой вот код:

Судя по приведенному блоку кода, непосредственно перед заталкиванием в стек кода ошибки (значение 6Bh), подготовки четырех параметров перед вызовом функции KeBugCheck не производится. Скорее всего как раз по этой причине, в ряде сбоев, на результирующем синем экране все параметры равны нулю. Как видно из кода, перед возбуждением исключения STOP 0000006B производится проверка результата выполнения функции PsInitSystem. Сама функция фактически представляет собой диспетчер процессов и предназначена для создания структуры процесса, вызывается ядром в ходе инициализации в фазах 0 и 1. Сам останов в этой точке возникает как реакция на нештатное завершение функции PsInitSystem, внутри которой к возникновению ошибки могут приводить следующие события:

  • ошибочное завершение (Создание объекта в пространстве имен);
  • ошибочное завершение (Регистрация политики доступа к объекту);
  • равенство значений переменных PsPAffinityUpdateLock (?) = PspCidTable (указатель на таблицу описателей, хранящей созданные объекты процессов и нитей);
  • ошибочное завершение (инициализация ресурса исполняемой подсистемы);
  • ошибочное завершение (Создание процесса);
  • ошибочное завершение (Поиск объекта по описателю);
  • неправильное значение поля PsInitialSystemProcess+1ECh (глобальная переменная, указатель на структуру EPROCESS для процесса System);
  • ошибочное завершение (создание потока, запускающийся в режиме ядра, возврат описателя процесса).
Читать еще:   How To Fix SYSTEM_THREAD_EXCEPTION_NOT_HANDLED Blue Screen Errors (0x0000007E)

Понятное дело, что глубже весь этот кодовый треш никто не собирается тут анализировать, я просто оставил это здесь для того, что бы вы могли проникнуться неопределенностью вместе со мной 🙂

Первый параметр (BugCheckParameter1)

Помимо приведенных выше указателей на этапы (второй параметр BugCheckParameter2), в процессе исполнения кода которых произошел сбой, более свободно ориентироваться в причинах проблемы помогает первый параметр. Напомню, что применительно к сбою STOP 0000006B, первый входной параметр (BugCheckParameter1) дает нам статус завершения операции:

Значение первого параметраСимволическое имяОписание
0xC0000034STATUS_OBJECT_NAME_NOT_FOUNDИмя объекта не найдено. Проблема часто возникает после сбоя в процессе установки системных обновлений и сообщает о рассинхронизации системных библиотек/драйверов ранних стадий загрузки, в случае когда часть связанных функционалом модулей осталась предыдущих версии, а часть обновилась до последней актуальной. Причиной являются ошибки, возникающие в процессе установки обновления, например пользователь мог жестко прервать процесс, вручную перезагрузившись/отключив питание, не дождавшись завершения установки. 0xC0000020STATUS_INVALID_FILE_FOR_SECTIONИсполняемый образ модуля, участвующего в начальных стадиях загрузки ОС, поврежден, то есть имеет проблемы с одной из секций (в таблице секций). Ошибка может возникать после сбоя в процессе установки обновлений/драйверов в систему, что ведет к повреждению файлов (образов). Так же, ошибка может быть вызвана проблемами загрузки уже существующих драйверов этапа загрузки (BOOT) по множеству причин: поврежденная файловая система, аппаратные проблемы с диском, контроллером. 0xC000012FSTATUS_INVALID_IMAGE_NOT_MZЗагрузочный образ не соответствует требуемому формату исполняемых файлов, то есть не содержит сигнатуру MZ в заголовке. Ошибка может возникать после неудачной попытки установки обновлений/драйверов в систему, что влечет за собой повреждение данных. Так же, ошибка может быть вызвана проблемами загрузки уже существующих драйверов этапа загрузки (BOOT) по множеству причин: поврежденная файловая система, аппаратные проблемы с диском, контроллером. 0xC0000102STATUS_FILE_CORRUPT_ERRORЗагрузочный образ поврежден. Ошибка может возникать в следствии ошибки в процессе установки обновлений/драйверов в систему. Так же, ошибка может быть вызвана проблемами загрузки уже существующих драйверов этапа загрузки (BOOT) по множеству причин: поврежденная файловая система, аппаратные проблемы с диском, контроллером. 0xC0000428STATUS_INVALID_IMAGE_HASHОшибка контрольной суммы: исполняемый файл, критичный для загрузки ОС, был заменен, его хэш не совпадает с содержащимся в каталоге (. cat). Значение хэша открытого файла отсутствует в записи системного каталога, и файл может быть подделан/поврежден. Обычно это случается при подмене файла ci. dll, ntdll. dll и ряда других.

Lopatniki.ru
Добавить комментарий