Critical object termination ntoskrnl exe

Описание ошибки

Эта ошибка возникает когда критический для системы процесс или поток неожиданно завершил свое выполнение. Примером такого критического процесса, может быть, например, процесс csrss.exe.

Параметры стоп-кода приведены в таблице ниже.

ПараметрОписание
Arg1Тип объект, который завершил выполнение: 0x3 – процесс, 0x6 – поток
Arg2Объект
Arg3Имя образа процесса
Arg4Указатель на ASCII строку, которая содержит объяснение сообщения

Причины ошибки

Для того, чтобы лучше понять суть данной ошибки, выполним небольшой эксперимент. Вызовем нехватку памяти (подкачиваемого и не подкачиваемого пула) в режиме ядра. Это можно сделать с помощью утечки памяти (когда драйвер выделяет память и не возвращает ее системе), которая может быть реализована, уже рассмотренной нами утилитой NotMyFault. Запускаем программу, переходим во вкладку “Leak”, кликаем Leak Paged и Leak Nonpaged. В конечном счете система вызовет синий экран смерти. В моей тестовой системе, как раз возник BSOD 0x000000F4.

Давайте выполним анализ этого дампа с помощью Windbg (как это сделать, смотрите пост – анализ дампов после BSOD). Вот результат после анализа.

CRITICAL_OBJECT_TERMINATION (f4)
A process or thread crucial to system operation has unexpectedly exited or been
terminated.
Several processes and threads are necessary for the operation of the
system; when they are terminated (for any reason), the system can no
longer function.
Arguments:
Arg1: 00000003, Process
Arg2: 898ba020, Terminating object
Arg3: 898ba194, Process image file name
Arg4: 805d2970, Explanatory message (ascii)

unable to get nt!KiCurrentEtwBufferOffset
unable to get nt!KiCurrentEtwBufferBase

EXCEPTION_RECORD: baa279d8 — (.exr 0xffffffffbaa279d8)
ExceptionAddress: 75b7b3b9
ExceptionCode: c0000006 (In-page I/O error)
ExceptionFlags: 00000000
NumberParameters: 3
Parameter[0]: 00000008
Parameter[1]: 75b7b3b9
Parameter[2]: c000009a
Inpage operation failed at 75b7b3b9, due to I/O error c000009a

EXCEPTION_CODE: (NTSTATUS) 0xc0000006 — Инструкция по адресу «0x%08lx» обратилась к памяти по адресу «0x%08lx». Требуемые данные в память не помещены из-за ошибки ввода/вывода «0x%08lx».

ERROR_CODE: (NTSTATUS) 0xc0000006 — Инструкция по адресу «0x%08lx» обратилась к памяти по адресу «0x%08lx». Требуемые данные в память не помещены из-за ошибки ввода/вывода «0x%08lx».

IO_ERROR: (NTSTATUS) 0xc000009a — Недостаточно системных ресурсов для завершения вызова API.

STACK_TEXT:
baa27520 805d1ab9 000000f4 00000003 898ba020 nt!KeBugCheckEx+0x1b
baa27544 805d2a1b 805d2970 898ba020 898ba194 nt!PspCatchCriticalBreak+0x75
baa27574 8054161c 898ba268 c0000006 baa279b0 nt!NtTerminateProcess+0x7d
baa27574 80501151 898ba268 c0000006 baa279b0 nt!KiFastCallEntry+0xfc
baa275f4 804fe806 ffffffff c0000006 baa279f8 nt!ZwTerminateProcess+0x11
baa279b0 805028bf baa279d8 00000000 baa27d64 nt!KiDispatchException+0x3a0
baa27d34 80544ee7 006cfbe8 006cfc08 00000000 nt!KiRaiseException+0x175
baa27d50 8054161c 006cfbe8 006cfc08 00000000 nt!NtRaiseException+0x33
baa27d50 75b7b3b9 006cfbe8 006cfc08 00000000 nt!KiFastCallEntry+0xfc
WARNING: Frame IP not in any known module. Following frames may be wrong.
006cfff4 00000000 00000000 00000000 00000000 0x75b7b3b9

Обращаем внимание на следующее.

1. PROCESS_NAME: csrss.exe (Имя процесса который завершил свое выполнение). Завершение этого процесса и есть причина генерации BSOD ядром.

2. EXCEPTION_RECORD: – запись исключения. Используя запись исключения можно найти ошибку, которая привела к завершению процесса. У нас следующая информация.

EXCEPTION_RECORD: baa279d8 — (.exr 0xffffffffbaa279d8)
ExceptionAddress: 75b7b3b9
ExceptionCode: c0000006 (In-page I/O error)
ExceptionFlags: 00000000
NumberParameters: 3
Parameter[0]: 00000008
Parameter[1]: 75b7b3b9
Parameter[2]: c000009a
Inpage operation failed at 75b7b3b9, due to I/O error c000009a

Используйте команду .locale «.1251» для установки локали.

Далее мы можем увидеть, что windbg.exe отображает описание ошибки по id (если установлена локаль).

ERROR_CODE: (NTSTATUS) 0xc0000006 — Инструкция по адресу «0x%08lx» обратилась к памяти по адресу «0x%08lx». Требуемые данные в память не помещены из-за ошибки ввода/вывода «0x%08lx».

IO_ERROR: (NTSTATUS) 0xc000009a — Недостаточно системных ресурсов для завершения вызова API.

Таким образом, причина BSOD заключается в том, что системный процесс csrss.exe не смог выделить память для своей работы из-за утечки, созданной программой NotMyFault. И ядро системы было вынуждено сгенерировать BSOD.

Способы устранения

Как видим из рассмотренного примера, нахождение причины подобной ошибки может быть довольно сложным. На практике можно встретить случаи, когда анализ дампа памяти после BSOD с этим стоп-кодом не позволяет установить причину. Также, как видно из примера, причинной ошибки могут быть проблемы с аппаратной частью компьютера.

Для устранения подобных ошибок необходимо использовать утилиту Driver Verifier. В параметрах выбора драйверов, необходимо выбрать “Автоматически выбирать неподписанные драйверы”. После получения следующего BSOD, необходимо выполнить анализ дампа. Может быть также ситуация, когда среди проблемных драйверов будут подписанные драйвера, тогда будет необходим последующий анализ.

Июль 10, 2014

Комментариев нет

Ошибка CRITICAL_OBJECT_TERMINATION BSOD (синий экран смерти) может появиться во время процесса инициализации для Windows Vista и XP, Windows 2008 и Windows 7 и 8. Эта ошибка обычно возникает, когда процесс, который является критическим для системы, был внезапно прекращен, в результате чего аварийное выключение компьютера для предотвращения повреждения и избежания потери данных из несохраненных работ.

Эта ошибка возникает, когда система сталкивается с проблемой, связанной с неисправным драйвером устройства или с вновь установленным оборудованием.

Эта ошибка BSOD также известна как CRITICAL_OBJECT_TERMINATION и «STOP 0x000000F4». Некоторые пользователи Windows сообщили об этой ошибке, которая обычно появляется на экране во время инициализации системы:

Вы можете устранить ошибку CRITICAL_OBJECT_TERMINATION BSOD, установив последние драйверы устройств. Вы можете проверить наличие обновлений драйверов с официального сайта загрузки производителя. Для драйверов видео и чипсетов вы можете загрузить соответствующие и обновленные версии с сайтов загрузки для AMD, ATI, Intel и Nvidia. В качестве альтернативы вы можете использовать Driver Reviver для быстрого обновления драйверов. Установка последних драйверов может помочь в исправлении ошибки.

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

Установка обновлений программного обеспечения от Microsoft также может помочь в устранении этой ошибки. Чтобы вручную установить обновления, откройте Internet Explorer (IE), нажмите «Безопасность» и «Центр обновления Windows», а затем следуйте инструкциям и инструкциям, отображаемым на экране. При использовании IE 7 или более старых версий откройте браузер, нажмите «Сервис», а затем «Центр обновления Windows». Необходимо установить как критические, так и некритические обновления программного обеспечения.

Ряд пользователей ПК могут столкнуться с внезапно появившимся BSoD (синим экраном смерти), причиной появления которого может быть указан файл «Ntoskrnl.exe». Данный файл является ядром операционной системы Виндовс (буквосочетание «krnl» является сокращением от англ. «kernel» — «ядро»), и от качества его работы напрямую зависит стабильность функционала вашей ОС. В этом материале я расскажу, что за ошибка Ntoskrnl.exe, каковы её причины, и как исправить Ntoskrnl.exe синий экран в Windows 7 на вашем ПК.

BSoD с упоминанием Ntoskrnl.exe

Суть и причины ошибки Ntoskrnl.exe

Название файла Ntoskrnl.exe является сокращением трёх лексем: «nt», «оs» и «kernel» (вместе — «ядро операционной системы NT»). Указанный файл запускается с помощью системного загрузчика NTLDR, инициализирует работу системных драйверов, в его структуру также входит загрузочный экран (boot screen), который пользователь видит во время загрузки своей системы.

Данный файл может располагаться сразу в нескольких местах вашего ПК (обычно в папках System32, winsxs, Driver Cachei386), а его версии могут напрямую коррелировать с количеством ядер ЦП и объёмом оперативной памяти (ОЗУ).

Расположение файлов Ntoskrnl.exe на жёстком диске

Причины, вызывающие дисфункции Ntoskrnl.exe различны, и могут быть следующими:

  • Случайное или намеренное удаление файла exe пользователем;
  • Удаление (повреждение) файла сторонней программой (в том числе вирусной)
  • Повреждение системного реестра;
  • Устаревшие, некорректные, нестабильно работающие драйвера;
  • Ошибки в работе файловой системы жёсткого диска;
  • Отсутствие в системе необходимого системного обновления;
  • Нестабильная работа планок оперативной памяти;
  • Перегрев ПК (в частности, из-за разгона системы пользователем).

Устраняем BSoD с причиной Ntoskrnl.exe

Как исправить Ntoskrnl.exe синий экран в Windows 7

Чтобы избавиться Ntoskrnl.exe Windows 7 рекомендую выполнить следующее:

  1. Откажитесь от разгона системы. Если вы ранее использовали оверклокинг и специальный софт – отключите (деинсталлируйте) последний, и приведите систему к стандартному состоянию;
  2. Загрузите в БИОС настройки по умолчанию. Перейдите в ваш БИОС (при включении ПК несколько раз быстро жмите на клавиши F2 или Delete), и выберите в БИОСе пункт «Load setup defaults» (или «Load optimized defaults»). Сохраните изменения (обычно нажав на F10), а затем перезагрузите ваш ПК;

Загрузите установки БИОС по умолчанию

  • Проверьте работоспособность планок вашего ПК. Для этого прекрасно подойдёт инструментарий программы Memtest86 (или нажмите на кнопку «Пуск», в строке поиска введите mdsched и нажмите ввод);
  • Используйте системное средство проверки драйверов. Нажмите на кнопку «Пуск», в строке поиска введите verifier и нажмите ввод. Дальше действуйте согласно инструкции.
  • Установите свежие драйвера для компонентов вашей системы. Для этого подойдут такие специальные инструменты как DriverPack Solution, Driver Genius, Driver Easy и другие;
  • Используйте DriverPack Solution для обновления драйверов

  • Проверьте целостность системных файлов. Запустите командную строку от имени администратора, в ней введите sfc /scannow и нажмите ввод, это может помочь пофиксить ошибку Ntoskrnl.exe;
  • Проверьте файловую систему диска на наличие ошибок. Кликните на «Мой компьютер», выберите диск С, наведите на него курсор, и нажмите правой клавишей мыши. В появившемся меню нажмите на «Свойства» — «Сервис» — «Выполнить проверку». Поставьте две галочки рядом с имеющимися пунктами, и нажмите на «Запуск» (системе может понадобиться перезагрузка для активации проверки системного диска);
  • Установите все необходимые системные обновления для вашей ОС Виндовс;
  • Установите все необходимые обновления для вашей версии ОС Виндовс

  • Проверьте системный реестр на наличие ошибок. В этом помогут такие программы как CCleaner, RegClener и другие аналогичные программы;
  • Проверьте ваш компьютер на вируса. Помогут такие программы как Dr.Web CureIt!, Trojan Remover, Malwarebytes Anti-Malware и ряд других аналогов;
  • Откатите вашу систему к дате, когда проблем не наблюдалось. Нажмите на кнопку «Пуск», в строке поиска введите rstrui и нажмите ввод. Выберите точку восстановления, когда система работала стабильно, и откатите её на данное состояние;
  • Выполните откат системы на стабильную точку восстановления

  • Почистите материнскую плату ПК и в особенности систему охлаждения от пыли. Чрезмерное количество пыли внутри компьютера может стать причиной его перегрева, и появления рассматриваемой мной ошибки.
  • Оцените статью
    Много толка
    Добавить комментарий