ДОСТУП к СЕКРЕТАМ
системного
администрирования !
Что именно я получу ?
Количество подписчиков: 6622
ОТЗЫВЫ ПОДПИСЧИКОВ
Последние материалы !
Делаем печатные платы дома
Наложить музыку на видео
Телескоп системы Добсона
Новое занятие для души !
Ремонт камеры наблюдения
Не рабочий ADSL модем

Не удается запустить windows из за ntoskrnl


  Что делать, если при загрузке Вы видите сообщение: Не удается запустить Windows из-за испорченного или отсутствующего файла: windows root\system32\ntoskrnl.exe ?


 

  Сегодня мы попытаемся ответить на этот вопрос. Прежде всего, что такое есть файл ntoskrnl.exe? Его название можно разложить на несколько составляющих: NT OS kernel - «ядро операционной системы NT»). В данном случае - файл ядра операционных систем семейства Windows NT. Данный файл запускается загрузчиком ядра (NTLDR) в безопасном режиме. Также он интересен тем, что содержит в себе картинку, которую мы видим при загрузке Windows (boot screen).

  Примечание: Компания Microsoft расшифровывает аббревиатуру NT как «New Technology» (новая технология). По ней выпускаются все ОС, начиная с Windows 2000.

  Файл ntoskrnl.exe располагается сразу в нескольких местах ОС (стандартная практика Microsoft). В более поздних версиях операционных систем такой подход позволяет достаточно эффективно производить автоматическое восстановление загрузки системы при ее повреждении. Но - все по порядку!

  Давайте проведем поиск по каталогу Windows:


 

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

  В семействе ОС Windows различают четыре версии файлов ядра:

  1. ntoskrnl.exe - однопроцессорное ядро
  2. ntkrnlmp.exe (NT Kernel Multi-Processor version) - ядро ОС NT с поддержкой нескольких процессоров
  3. ntkrnlpa.exe - однопроцессорное ядро с более чем тремя гигабайтами оперативной памяти (режим PAE - Physical Address Extension)
  4. ntkrpamp.exe - многопроцессорное ядро с более чем тремя гигабайтами оперативной памяти

  В обычной Windows XP для однопроцессорных систем можно зайти по адресу: c:\\windows\system32 и убедиться в этом самому.


 

  На одном из этапов загрузки ОС, ее загрузчик (в данном случае - NTLDR) вызывает и передает управление системному процессу ядра Ntoskrnl. Процесс Ntoskrnl.exe инициализирует подсистему загрузки и запуск системных драйверов для устройств, а также подготавливает операционную систему для работы с прикладными программами и приложениями.

  Частью кода, который также выполняется в режиме ядра, является уровень аппаратных абстракций (HAL - Hardware Abstraction Layer),

  Код ядра ОС работает в наиболее привилегированном режиме работы процессора. Этот режим работы часто называют «нулевым кольцом защиты» (Ring 0). В x86-х процессорах подобный уровень привилегий предоставляет неограниченный доступ ко всем возможностям процессора, позволяет напрямую обращаться к периферии и аппаратным ресурсам всего компьютера.

  Различные вирусы (сетевые черви и руткиты) стремятся получить доступ к ядру, чтобы "дотянуться" до системных функций, работающих с памятью, файлами, сетевыми соединениями и процессами на самом низком уровне. При их перехвате, можно надежно замаскировать свое присутствие в системе или - выполнить любое другое действие.

  Сам факт вмешательства в ядро легко обнаруживается сравнением образа ntoskrnl.exe, постоянно находящимся в оперативной памяти, с файлом, расположенным на жестком диске компьютера по адресу c:\\windows\system32\ntoskrnl.exe


 

  Есть простой способ убедиться в этом: удалите файл ntoskrnl.exe (его копию - можете тоже) и увидите, как через секунд 10-20 он автоматически появится на том же самом месте! Он скопируется на винчестер прямо из оперативной памяти.

  У Вас может возникнуть вопрос: зачем файл ntoskrnl.exe вообще держать на диске, если его копия постоянно находится в ОЗУ компьютера? А затем, что эта копия как-то должна сначала записаться в память при старте системы. Оперативная память - энергозависимая (после каждого выключения ее содержимое обнуляется), вот и получается, что файл на диске нужен именно для того, чтобы считать с него информацию в память. А его образ в памяти гарантирует то, что файл на диске не будет удален, или модифицирован злоумышленником во время работы системы. Вот такая вот получается "круговая порука" :)

  Давайте убедимся в том, что файл ntoskrnl.exe действительно постоянно присутствует в памяти в виде отдельного процесса. Это хорошо видно на примере Windows 7.

  Запустим диспетчер задач и слева внизу отметим галочкой пункт "Отображать процессы всех пользователей". После этого в колонке "Имя образа" (процесса) мы увидим запись "System" и в поле его описания - "NT Kernel & System":


 

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


 

  Отмечаем галочкой пункт "Путь к образу" (процессу). Возвращаемся в диспетчер и видим, что в нем появился дополнительный столбец "Пут к образу", из которого четко видно, что процессом "System" является файл ntoskrnl.exe, находящийся по адресу c:\\windows\system32


 

  Причем, если мы попробуем принудительно завершить этот процесс, то у нас это не получится.

  Несмотря на все перечисленное выше, на практике (достаточно нередко) встречаются случаи когда мы видим при загрузке надпись: Не удается запустить Windows из-за испорченного или отсутствующего файла : windows root\system32\ntoskrnl.exe

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

  Перечислим наиболее распространенные причины неисправности:

  1. ошибки файловой системы винчестера (проверять командой chkdsk)
  2. некорректное завершение работы (внезапное отключение электроэнергии)
  3. возникновение сбойных секторов на диске

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

  Для этого нам понадобится обычный установочный диск с Windows XP (2000) и немного удачи! :) Итак, выставляем в bios с него загрузку и перезагружаемся. Если все сделали правильно, увидим, что запустился мастер установки Windows:


 

  Нам нужно дождаться когда появится следующее окно с предложением выбора опции восстановления системы:


 

  Нажимаем клавишу «R» и попадаем в консоль восстановления (о том, что это такое мы говорили в предыдущих статьях). Здесь нас спросят: в какую копию операционной системы мы хотим выполнить вход? Если ОС у нас на компьютере одна, то нажимаем клавишу «1» и - ввод (Enter).

  После этого, появится текстовое приглашение ввести пароль администратора установленной системы. Вводим пароль и снова нажимаем Enter (если пароля не было - сразу ввод). После этого, появится приглашение для ввода консольных команд: C:\\WINDOWS> , которое свидетельствует о том, что мы успешно вошли в консоль и можем приступить к восстановлению файла ntoskrnl.exe.


 

  После этого нам нужно написать всего одну команду:
expand d:\i386\ntoskrnl.ex_ c:\windows\system32


 

  Буквой «d» у нас здесь обозначен привод оптических дисков. Если у Вас по другому, - просто подставьте в строчку свою букву диска. Что есть команда «expand» и какую роль выполняет, мы с Вами разбирали в этой статье. Если коротко, то суть ее сводится к следующему: распаковать файл ntoskrnl.exe с оптического диска и записать в системную папку Windows.

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

  Теперь можно выходить из консоли: вводим команду «exit» (выход) и компьютер уйдет на перезагрузку. Не забываем в bios-е обратно выставить загрузку с жесткого диска и после еще одного ребута видим, что загрузка Windows успешно восстановлена!


 

  В Windows 7 восстановить файл ntoskrnl.exe проще. Точнее, там лично нам вообще ничего делать не придется! :) В новых версиях Windows присутствует система автоматического восстановления загрузки и работоспособности ОС. 

  Давайте, для начала, посмотрим на файлы наших ядер в системной директории:


 

  Как видите, у нас их здесь - два. Поскольку у меня на компьютере больше трех гигабайт оперативной памяти, то, в моем случае, Windows использует файл ядра ntkrnlpa.exe.

  Давайте сымитируем проблему с этим файлом. Каким образом? А просто возьмем удалим его, перезагрузимся и посмотрим что будет? :) После перезагрузки Windows автоматически запустит среду восстановления WRE (Windows Recovery Environment) и попытается сама устранить проблему:


 

  Знаете, замечательно, конечно, что WRE пытается делать за нас "грязную работу", но проблема состоит в том, что она абсолютно не показывает, что именно делается для восстановления работоспособности системы? Мол, вот исправили - радуйтесь!

  Лично меня, как сам себе админа, и просто человека, который хочет понять, как это работает, такой подход мало устраивает. Конечно, пройдя все те этапы, которые описаны в начале данной статьи, мы понимаем, что система просто копирует файл ntoskrnl.exe откуда-то из своих "закромов" на его прежнее место, но согласитесь, что с подобными нововведениями бразды правления несколько выскальзывают из наших трудовых администраторских рук :)

  Посокрушались и будет! После, без сомнения, героического восстановления файла ядра, Windows просит нас перезагрузить компьютер для применения исправлений.


 

  Если успеть нажать ссылку "Отобразить диагностику и описание исправления" до того, как закончится отсчет времени, то нам, так уж и быть, покажут что приблизительно делала Windows Recovery Environment. Прокрутим ползунок справа в самый низ и там найдем вот такую надпись:


 

  Что за файл? Какую функцию выполняет? - ни слова! Уже чувствуете незримое присутствие "Большого Брата"? :) Как бы там ни было, после перезагрузки мы увидим, что все в порядке и Windows восстановлена, а это - главное!


 

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



Понравилась статья? Нажмите на кнопки ниже или
оставьте свой комментарий внизу страницы !
 

Олег
У меня виндовс 7. Но восстановление не происходит. Есть загрузочный диск ХР. Пытался установить, не выходит. Останавливает процесс.

[Ответить]
Кахович Андрей
Возможно что-то не так делаете? Хотя, на домашнем ПК иногда проще переустановить систему заново, чем пытаться ее восстановить   !;)

[Ответить]
Алена
Как восстановить этот файл на НЕТБУКЕ??? Там нет дисковода и он у меня просто выводит эту надпись:Не удается запустить Windows из-за испорченного или отсутствующего файла: windows root\system32\ntoskrnl.exe ?

[Ответить]
Кахович Андрей
USB CD/DVD-Rom или дисковод на 3,5 дискеты, флешка, usb внешний жесткий диск, LiveCD... Да вариантов - куча, на самом деле  =)

[Ответить]
Mansur
А как это все сделать если на экране бывает то что на самой первой картинке этого сайта???

[Ответить]
Кахович Андрей
Сделать то, что на следующих картинках этой статьи   !;)

[Ответить]
Алексей
У меня пишет отказанно в доступе

[Ответить]
Кахович Андрей
Где пишет? Что делаете?

[Ответить]
Андрей
Помогите если я с телефона попробую через USBкабель фаел ntoskrl.exe.
восстановить у меня получится если да то как

[Ответить]
Кахович Андрей
С телефона Вы Windows не восстановите (если я правильно понял вопрос). Да и зачем здесь телефон использовать?!

[Ответить]
valeriy
А мне статья понравилась,всё понятно и доступно написано да и ошибку исправил.СПАСИБО ЗА ПРАВИЛЬНЫЙ СОВЕТ.

[Ответить]
Кахович Андрей
Спасибо за отзыв! Мы рады, что статья Вам помогла!  :)

[Ответить]
Николай
Не удается переустановить винду с диска статус 0хс0000098.Дисковод целый,но не даёт систем32 перебить даже винду,что делать?

[Ответить]
Кахович Андрей
Попробуйте полностью удалить системный диск, а затем создать его заново. Потом уже - устанавливайте ОС.

[Ответить]
Николай
как его удалить,если ошибка даже не дает зайти в виндовс там где форматирование и.т.д.Подскажи пржалуйста

[Ответить]
Кахович Андрей
Удалить любой логический диск можно на одном из начальных этапов установки Windows или подключив диск к другому ПК. Как вариант, загрузиться с подходящего LiveCD/DVD.

[Ответить]
Геннадий
Уточнение.
Win2000 - это NT5.0
WinXP - NT5.1, то есть 5-ка 1-й модификации.
До Win2000 были NT 1.0 и т.д.
Реально использовались NT3.5 и NT4.0. Именно в 4-ке впервые была использована NTFS.

[Ответить]
John
Угу, мы в курсе, и что из этого следует? И NTFS были разные и несовместимые. Вывод то какой?

[Ответить]
Санька
а что делать если вставил диск с виндой а он не грузится???

[Ответить]
Кахович Андрей
Бывает. Возьмите другой диск.

[Ответить]
John
Или просто поставьте в BIOS'е загрузку с CD.

[Ответить]
XP_expert
Странно, что в статье не упомянуто, что данная ошибка может возникать, если попытаться запустить XP x64, используя ntldr от XP x86 (а они разные). У меня так было, когда я мультизагрузку делал из 2-ух XP разной разрядности, скопировав не тот ntldr.

[Ответить]
Кахович Андрей
Ну, нюансов много, все не опишешь. Подобную возможность не рассматривал (заменять системные файлы операционных систем разной разрядности). В любом случае: спасибо за дополнение, коллега!  :)

[Ответить]

Страницы: [1] | [2] | [3] | [4] [Следующая] | [Последняя]

Оставить комментарий

Ваше имя:

Комментарий:
Введите символы: *
captcha
Обновить


Поиск по сайту

ФОРУМ нашего сайта !

Ресурсы по теме !