Не удается запустить windows из за испорченного или отсутствующего файла ntoskrnl exe

Обновлено: 07.07.2024

На одном их компьютеров с только что установленной Windows 10 пользователь стал жаловаться на постоянные зависания и медленную работу ОС. В диспетчере устройств видно, что более 50% ресурсов процессора используется процесс System ( ntoskrnl.exe ). В этой статье я постараюсь описать основные методики диагностики высокой загрузки CPU различными процессами и методы выявления проблемного компонента Windows.

Ситуация, когда процесс System потребляет более половины процессорных ресурсов системы — это не нормально. Сам по себе файл Ntoskrnl.exe представляет собой исполняемый файл ядра ОС. Это базовый процесс системы. В рамках ядра ОС выполняется запуск системных драйверов устройств, которые скорее всего и являются источником проблемы (далеко не все драйверы соответствующим образом тестируются разработчиками оборудования).

Как правило, проблема утечки в коде драйверов и высокая нагрузка на процессор, память или диск возникает после установки нового оборудования, установки новой версии драйвера (в том числе при автоматическом обновлении драйверов, которое можно отключить ) или после апгрейда Windows.

Совет . В некоторых случаях высокую нагрузки на процессор и память может вызывать процесс Система и сжатая память

Чтобы понять, какой конкретно драйвер или модуль вызывает высокую загрузку процессора можно воспользоваться бесплатной утилитой Process Explorer . Скачайте и запустите ее с правами администратора.

В списке запушенных процессов найдите процесс System , щелкните по нему ПКМ и откройте его свойства Properties .

Перейдите на вкладку Threads . Отсортируйте список модулей, загруженных ядром по степени использования процессора (столбец CPU). В строке Start Address указано имя функции или драйвера, вызывающего высокую загрузку (скриншот не с проблемной системы).

Также, чтобы выявить драйвер, который вызывает высокую загрузку CPU, можно воспользоваться бесплатной утилитой Microsoft — kernrate.exe (Kernrate Viewer). Утилита входит в состав WDK (Windows Device Kit). После установки WDK, найти утилиту можно в каталоге …\Tools\Other\amd64.

Запустите утилиту kernrate.exe без аргументов и подождите некоторое время, пока идет сбор данных (10-15 минут), после чего прервите работу утилиты сочетанием клавиш Ctrl-C : Посмотрите на список модулей в секции Result for Kernel Mode .

Как вы видите, в нашем примере высокую нагрузку на CPU вызывает модуль b57nd60x . С помощью Google или утилиты sigcheck (смотри пример ) можно определить, что проблему вызывает драйвер сетевой карты Broadcom NetXtream Gigabit Ethernet NDIS6.0 Driver.

Кроме того, проанализировать использование CPU при загрузки системы можно с помощью Windows Performance Toolkit (WPT). Нужно установить компонент и запустить сбор данных с помощью графической консоли Windows Perfomance Recorder (First level triangle + CPU usage -> Start)

xperf -on latency -stackwalk profile -buffersize 1024 -MaxFile 256 -FileMode Circular && timeout -1 && xperf -d cpuusage.etl

Совет . Этот способ удобно использовать, если после загрузки система напрочь зависает и работать в ней просто невозможно. Скорее всего вам также будет полезна статья с методикой диагностики долгой загрузки Windows .
Полученный файл нужно сохранить и открыть в WPA. Разверните стек процесса System. В этом примере видно, что высокую нагрузку на процессор вызывает драйвер athrx.sys (Wi-Fi адаптер Atheros Wireless Network Adapter).

Итак, проблемный драйвер обнаружен. Что делать дальше? Итак, проблемный драйвер обнаружен. Что делать дальше?

Для решения проблемы нужно попробовать установить более новую (или старую) версию драйвера или же совсем отключить оборудование, если проблема наблюдается со всеми версиями драйвера. Обновленный драйвер можно дополнительно проверить стресс-тестом с помощью Driver Verifier .

Не удается запустить Windows из за испорченного файла system

Испорчен или отсутствует файл system

Если windows не загружается это - не страшно, надо лишь немного попрактиковаться в ее восстановлении. На фото выше сама windows предлагает нам воспользоваться установочным диском и консолью восстановления для исправления ситуации. Но вот что делать дальше - не "говорит". Мол, берег - там и выплывайте как хотите :)

Примечание: описанный ниже метод восстановления при испорченной загрузке для Windows XP и 2000 практически идентичен.

Если не удается запустить windows - будем учиться и начнем именно с консоли восстановления. Но перед этим, чтобы понять с чем мы, собственно, мы имеем дело, давайте рассмотрим что такое есть файл «system» и где он находится?

Обнаружить файл system можно по такому адресу: c:\windows\system32\config

Где находится файл system

Это - файл без расширения. Почему так? Просто потому, что это - не файл, как таковой, а - часть реестра windows.

Его еще называют системным реестром (system registry). Это - иерархически организованная и упорядоченная база данных, в которой хранятся практически все настройки программных продуктов от Microsoft. Здесь содержатся записи об аппаратной конфигурации компьютера, профилях и правах доступа пользователей, информация об установленном программном обеспечении и его настройках, политиках безопасности и т.д. Это - сеть нервных окончаний нашей ОС :)

Данная структура была придумана, как альтернатива, множественным конфигурационным ini файлам, в которых до этого записывались все настройки операционной системы.

Как можно попасть в реестр? Нажимаем на кнопку «Пуск» и из выпавшего мню выбираем пункт «выполнить». В открывшемся окне быстрого доступа к основным средствам управления ОС вводим команду «regedit» (для windows 2000 существуют две разные команды regedit и regdt32) и нажимаем кнопку «OK».

Как запустить редактор реестра

Вот как выглядит редактор этой базы настроек:

Редактор системного реестра Windows

Внимание ! Изменение значений системного реестра без четкого представления что и зачем Вы делаете, может привести к полной неработоспособности операционной системы после следующей перезагрузки !

Вот, а теперь разберем что мы видим на фото выше? Структура состоит из пяти основных "кустов" или "ветвей" (иногда их называют "ульями" - hives). Перечислим их:

  1. HKEY_CLASSES_ROOT
  2. HKEY_CURRENT_USER
  3. HKEY_LOCAL_MACHINE
  4. HKEY_USERS
  5. HKEY_CURRENT_CONFIG


Как видите на фото выше, каждая из "ветвей" визуально оформлена в виде папок и содержит произвольное количество вложенных подпапок. Нажав на «+» рядом с пиктограммой, мы может развернуть нужный нам "куст". На фото выше мы развернули HKEY_CURRENT_CONFIG, затем - «Software» и зашли в раздел «Fonts».

В правой части окна мы можем видеть конкретные значения (ключи) данной "ветви" реестра. Идентификаторы значений представлены тремя столбцами:

  • Имя - название "ключа"
  • Тип - строковый или двоичный параметр (тестовый или числовой)
  • Значение - определяющий параметр "ключа" (то, что в нем содержится)


Как правило, «значение» представляет собой малопонятные "нормальному" человеку цифро-буквенные комбинации, необдуманное изменение которых может привести не только к испорченному файлу system, но и невозможности восстановления системы в принципе!

Теперь, давайте еще раз зайдем в редактор реестра и посмотрим, в каком виде представлен там наш файл system, который находится по адресу c:\windows\system32\config ?

Запускаем regedit. Помните, как это делается? :) Раскрываем "ветвь" HKEY_LOCAL_MACHINE и внутри нее видим структуру SYSTEM. Вот это, фактически, и есть тот самый файл system размером в 2 816 килобайт (почти три мегабайта), который мы рассматривали на втором скриншоте в начале данной статьи.

Структура реестра

В данном разделе содержатся многочисленные настройки операционной системы: аппаратные профили компьютера, настройки служб и драйверов и другие важные настройки самой ОС.

Консоль восстановления

Почему это происходит? Дело в том, что в разделе system содержится масса различных настроек самой операционной системы. Здесь же находится и информация о паролях на вход. Мы - удалили ее вместе со всем разделом и именно поэтому ОС не дает нам возможности авторизоваться и пишет, что пароль неправильный.

Справедливости ради стоит отметить, что с подобным глобальным "армагеддоном" раздела system Вы вряд ли столкнетесь :) Скорее это будет - локальное повреждение данного файла или нескольких его записей (ключей реестра).





Загружаемся в консоль восстановления. На этот раз мы вполне успешно можем через нее войти в операционную систему.

Авторизуемся в консоли восстановления

Теперь, давайте с Вами поговорим о том, как же можно "отремонтировать" испорченный файл system ?

Возможно Вы знаете, а, может быть, и - нет, но дубликат этого файла находится по адресу: c:\windows\repair

Резервная копия файла system

Это - резервная копия части системного реестра system, которая автоматически создается после установки ОС и сохраняется в данной папке. Это - своеобразный чистый "слепок" XP сразу после ее установки. Как видите, размер файла меньше, чем рассмотренный нами в первой части статьи. Это проистекает из того факта, что вся работа идет через другой файл system, находящийся по адресу c:\windows\system32\config.

НО! В любой момент можно воспользоваться резервной копией из папки repair для восстановления поврежденного или испорченного файла system, просто скопировав его оттуда в основную системную директорию.

Давайте попробуем, что из этого получится? Загружаемся с диска, нажимаем клавишу «R», входим с консоли в нашу ОС и вводим вот такую команду:

Копируем файл system из резерва

Что мы сделали? Просто сказали откуда и что, а потом - что и куда копируем:
copy c:\windows\repair\system c:\windows\system32\config\system

Нас спрашивают, хотим ли мы заменить испорченный или отсутствующий файл system ? Соглашаемся, вводим с клавиатуры «y» (yes) и подтверждаем выбор нажатием клавиши «Enter». Консоль "говорит" нам, что скопирован 1 файл. Вводим с клавиатуры команду «exit» (выход) и перезагружаемся.

Возвращаем в биос запуск с жесткого диска и видим, что загрузка успешно восстановлена:

Установка драйверов устройств

Единственно, после подобной полной замены испорченного файла system будьте готовы к тому, что после успешной загрузки Вам придется заново устанавливать все драйвера и восстанавливать настройки сетевой карты, самой ОС и рабочего стола. Ведь в каталоге repair как Вы помните, содержалась копия "куста" реестра на момент установки "чистой" windows.

Подключаем винчестер к другому компьютеру

Двигаемся дальше: далеко не всегда нужно восстанавливать работоспособность ОС именно заменой всего испорченного файла system. В большинстве случаев, речь идет всего об одной-двух сбойных записях данной части реестра, которые и вызывают подобную ошибку.

Есть один способ, который позволяет восстановить испорченный файл system и избежать последующей установки драйверов и восстановления всех настроек. Давайте сейчас сжато его опишем, а после - разберем каждый из пунктов более подробно:


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



Диск с "ремонтируемой" системой у нас на скриншоте выше имеет букву «Е» и подключен, как второй дополнительный винчестер. Загружены же мы сейчас в windows, которая установлена на диск «С». Выполняем команду «regedit» и попадаем в реестр. Ставим курсор на HKEY_LOCAL_MACHINE:

Куст реестра LOCAL_MACHINE

Нажимаем на меню «файл» и из выпавшего меню - «загрузить куст»:



Теперь через проводник заходим на наш присоединенный диск «Е» по адресу windows\system32\config и выбираем там наш испорченный файл system:

Импортируем файл system

Нажимаем кнопку «Открыть». Появится окно, в котором нам предложат ввести имя подгружаемого раздела (можете ввести что угодно, эти ни на что не влияет).

Даем имя разделу

Нажимаем «OK» и вот тут - важный момент! После этого действия система должна показать окно, в котором сообщит нам о решении проблемы испорченного файла system. Будет сказано об успешном восстановлении одной или нескольких записей.

Восстановление файла куста

После этого мы видим, как загруженный нами "куст" присоединился к одной из веток работающего реестра:



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

В принципе, нам больше делать ничего и не нужно. Наша windows сама решила проблему испорченного файла system при импортировании поврежденной структуры в рабочий реестр.

Нам остается только выгрузить наш "куст" обратно. Выделяем его мышкой и делаем следующее:

Выгружаем раздел

После этого - выключаем системный блок, отцепляем присоединенный жесткий диск и ставим его обратно в ремонтируемый компьютер. Включаем его и, скорее всего, мы обнаружим, что не зря проделывали все эти манипуляции :)



Напоследок хочу показать еще один автоматический способ восстановления испорченного "куста" реестра. Способ самый простой и поэтому многие им пренебрегают, а порой именно он является той "соломинкой", с помощью которой мы можем достаточно быстро восстановить работоспособность операционной системы.

Что я имею в виду? Конечно же, использование консольной команды chkdsk. На скриншоте ниже можно увидеть, как данная команда, запущенная с соответствующими "ключами", произвела замену поврежденных кластеров в файле system.


В итоговом отчете после полного выполнения команды (скриншот ниже) мы можем видеть, как умная программа не только "отремонтировала" наш файл system, но и отметила несколько кластеров, как сбойные, сделав пометку про них в служебной части диска. Надпись "8 килобайт в поврежденных секторах" говорит сама за себя достаточно красноречиво! Другое дело, что эти сбойные килобайты пришлись именно на критически важный для загрузки ОС файл (куст реестра), но тут уж, что называется, - планида! :)


Как видите, мы успешно решили проблему (причем разными способами) и теперь точно знаем что делать, если видим подобную надпись: не удается запустить Windows из за испорченного файла system.

От себя хочу добавить, что если не помогает способ 2 и способ 3, то на 99% это означает проблемы с дисковой подсистемой.

Пока встречал эту проблему только на Windows XP.

Появляется чёрный экран и описывается вот
Не удаётся запустить Windows из-за испорченного или отсуствуещего файла:
\system32\hald11.
Установите заново копию указанного выше файла что это и как решить проблему

на черном экране пишет:Не удается запустить Windows из-за испорченного или отсутствующего файла \ system32\hal.dll в чем причина,может быть из-за вируса, или нет. до этого один программист что-то очищал в моем компьтере или он что-то испортил?

до этого один программист что-то очищал в моем компьтере или он что-то испортил?

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

У меня компьютер при включении вводился так как будто я его принудительно выключил из розетки. Прогонл весь список. Как только закончит, то должен загрузиться, он сбрасывал всё и начинал всё сначала. Опять открывалось окно Windows и так до бесконечности.Всё шло по замкнутому кругу.

Каким-то образом вы восстановили систему и это главное )

ЯВА включена , может у вас не работает ПЛАГИН.?

Я приходил к специалистам и был согласен на переустановку заново системы с потерей всех данных, но в мастерской дали понять, что ноутбук семилетней давности и его место на поиойке. Но жёский диск , я уверен в рабочем состоянии и не шумит и не гремит. Не имея ни какого опыта, я взял у приятеля (он купил новый ноутбук с версией XP) его мультизагрузочный диск для (чистой) установки XP c загрузочного компакт диска (в Bios в меню Boot выставить, First boot device-CDROM) и включил свой компьютер. Дождался момента открытия окна и тутже нажал клавишу F2. Я не знал как на Rover Booke зайти в меню Boot. За 2часа перебрал десятки вариантов, пока не нажал клавишу ESC и открылось меню. Загрузочный диск уже был вставлен. Систему я не чистил так как я не зна как это делать. Открылось окно , где под номеом 3 было написано- установка CD-ROM. Пришлось опять перебрать десяток вариантов пока догадался , что нужно нажать клавишу с цифрой 1 , а потом на Ввод(Enter) Этим я добился того ,что CD-ROM занял первую позицию. Хотя визуально я этого не увидел так как открылось новое окно с большим количеством пунктов. Написано по английски и я понять не смог. Просто один пункт был понятен-это программа. Клавишей вверх и вниз , я установил курсор прямо на программу и выделил её. К с частью анотация была написана на русском языке. Прочитав, я решил не торопиться , а почитать другие пункты. Мне нужно было нажать на клавишу со стрелочкой вверх, НО я не смотрел на клавиатуру и промахнулся и нажал чуть выше (Enter) И тут мой жёский диск застучал и заработал, а загрузочный вел себя тихо. Через две минуты на экране появилась надпись : запишите ключ так как у вас ручной режим. И вторая надпись: Продолжить- нажмите: ДА. Выйте: нажмите НЕТ. Я не понял , что произошло и решил выйти и всё осмыслить и повторить. Но как только я вышел мой компьютер заработал и все данные на компьютере сохранились. Я ничего не потерял. А специалисты могут прокоментировать, что всё это было? И второе, диск С полный , как быть с этим?

На Windows xp слетела система Windows root \system 32\ntoskrn1.exe и очень жаль.Загрузить не могу -купил комп на рынке. Проработал 3 года,но данных потерял уйма.За 3 месяца не восстаноить. И скачать не удаётся. Везде одни коментарии.Я не расстроился. Может мне кто- то с большим опытом по компьютерам поможет дать мне ссылку для скачивания Windows roota? Заранее благодарен этому человеку.

А если просто переставить винт в другой комп и скачать данные?
Если же винт мертвый (а частенько так оно и есть), то надо обращаться к спецам по восстановлению данных.

Почему столь мрачный прогноз? Просто появляется она в силу двух причин (криворукость пользователя не будем рассматривать):

Как я уже сказал, быстрых способов устранения проблемы нет.

Способ первый

Для начала можно попробовать сделать то, что предлагает Microsoft - загрузиться с установочного диска. Желательно иметь ОРИГИНАЛЬНЫЙ диск с Windows (сборки скорее всего не подойдут, т.к. в большинстве своем не имеют функции восстановления) и загружаемся с него.

Соответственно, после появления оболочки установщика нажимаем [ R ] для загрузки консоли восстановления. Обычно, Windows установлен на диске «С».

Даем команды fixboot и fixmbr - исправляем и перезаписываем загрузчик и главную загрузочную записьтна диске. На все вопросы отвечаем утвердительно. Но это не все, теперь запускаем проверку диска:

C:\WINDOWS>chkdsk C: /F /R

CHKDSK выполняет проверку указанного диска (если не указать диск явно, то проверяется текущий).

  • /F - проверка на наличие ошибок и их автоматическое исправление
  • /R - поиск поврежденных секторов и восстановление их содержимого. Требует обязательного использования ключа /F

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

Способ второй

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

Итак, нам понадобится загрузочный диск или флешка с файловым менеджером (совсем простой Live CD от Dr.Web). В следующей статье расскажу как сделать загрузочную флешку со всем необходимым софтом для восстановления компьютеров.

Сначала желательно проверить поверхность диска (например программой HDD Regenerator), но можно попытать счастья и сразу, что значительно сократит время восстановления в случае успеха (если жесткий диск в нормальном состоянии).

  • Загрузились с диска или флешки, получаем доступ к нашему жесткому диску, на котором находится система.
  • Содержимое папки C:\Windows\repair\system копируем в C:\Windows\system32\config\system и соглашаемся на замену.

Каталог \Windows\repair\system содержит резервные системные файлы. Перезагрузившись, вы можете получить работающую систему (если удача сегодня на вашей стороне). Если нет. ну тогда остается только полная переустановка.

Читайте также: