# Форум на русском языке  > Основы информационной безопасности  > Microsoft Windows  >  Не удаётся запустить Windows из-за испорченного или отсутствующего файла ntoskrnl.exe

## Апейрон

Изначально на компе стояла windows XP на одном единственном жёстком диске - C. Никаких проблем не было. Потом я установил 2-й жёсткий диск, разбив его на 2 раздела: D и E. На диск E была установлена ОС Win Vista (примечание: описываемые выше события относятся к 2007-2008 гг.)

После этого при загрузке компьютера стал запускаться загрузчик Висты (если не ошибаюсь, он называется bootmgr) и предлагать на выбор 2 системы для загрузки (собственно висту (по умолчанию) и "Предшествующую версию Windows" (соответственно, XP)). При выборе висты, происходил её запуск в штатном режиме. 

Однако, при выборе XP появилась проблема. Если выбрать Windows XP для загрузки сразу после включения компьютера, то выводится сообщение об ошибке:
"Не удаётся запустить Windows из-за испорченного или отсутствующего файла:
<Windows root>\system32\ntoskrnl.exe
Установите заново копию указанного выше файла."

Что интересно: если после включения компьютера изначально загрузиться в висту и после неё перезагрузиться в XP, то загрузка Win XP проходит в обычном режиме без каких-либо ошибок. То есть, с файлом ntoskrnl.exe на самом деле всё в порядке и проблема, видимо, в чём-то другом.

Ещё один момент: была пара случаев, когда эта ошибка появилась и после перезагрузки из висты, но после 2-3 перезагрузок с ошибкой, XP всё же загружалась.

Прилагаю файл C:\boot.ini и результат выполнения команды bcdedit в висте (кодировка 2-го файла ASCII). Может быть это чем-нибудь поможет.

----------

Надоело быть жертвой? Стань профи по информационной безопасности, получай самую свежую информацию об угрозах и средствах защиты от ведущего российского аналитического центра Anti-Malware.ru:

----------


## Iron Monk

> Изначально на компе стояла windows XP на одном единственном жёстком диске - C. Никаких проблем не было. Потом я установил 2-й жёсткий диск, разбив его на 2 раздела: D и E. На диск E была установлена ОС Win Vista (примечание: описываемые выше события относятся к 2007-2008 гг.)


А в БИОСе какой загрузочный диск стоит первым? Должен быть диск с Вистой.

Загрузитесь под Вистой и сконфигурируйте двойную загрузку:

В Висте эти команды необходимо выполнять в командной строке с повышенными правами.

Последовательно выполните следующие команды:


```
%windir%\system32\Bcdedit /create {ntldr} /d "Microsoft Windows XP"
```



```
%windir%\system32\Bcdedit /set {ntldr} device partition=C:
```



```
%windir%\system32\Bcdedit /set {ntldr} path \ntldr
```



```
%windir%\system32\Bcdedit /displayorder {ntldr} /addlast
```

----------


## Апейрон

> А в БИОСе какой загрузочный диск стоит первым?


В биосе
First boot device: floppy
Second boot device: hdd-0
Third boot device: CDROM




> Должен быть диск с Вистой.


Даже если все файлы загрузчика висты bootmgr, Boot/BCD и др. расположены в корне диска C?

----------


## Iron Monk

> Даже если все файлы загрузчика висты bootmgr, Boot/BCD и др. расположены в корне диска C?


 Нет, тогда нужно просто переконфигурировать загрузку - пост №3.

----------


## Апейрон

> Последовательно выполните следующие команды:
> 
> 
> ```
> %windir%\system32\Bcdedit /create {ntldr} /d "Microsoft Windows XP"
> ```


На эту команду отвечает



```
E:\Windows\system32>bcdedit /create {ntldr} /d "Microsoft Windows XP"
Ошибка при выполнении указанной операции создания.
Указанный элемент уже существует.
```

P.S. Сегодня уже несколько раз перезагружался в висту и обратно: в XP попасть не могу  :Sad:

----------


## Iron Monk

Почитайте здесь... о двойной загрузке.

----------


## Апейрон

> Почитайте здесь... о двойной загрузке.


Прочитал. У меня несколько иная ситуация, то есть более новая версия Windows ставилась после XP. Единственное, что предложенные там действия меняют, это название системы и её расположение в меню загрузки. Не знаю, как это поможет, хотя попробовать в принципе можно.

----------


## Апейрон

Выполнил команды из вашего второго сообщения. В загрузчике ОС XP и Vista поменялись местами. Когда после этого изменения первый раз включил комп и выбрал XP, она загрузилась сразу и без ошибки, я даже было подумал, что проблема решена. Оказалось - нифига  :Sad: 

За последние несколько месяцев пришёл к выводу, что собственно первоначальная загрузка/незагрузка компа под Висту на самом деле не связана с появлением ошибки при загрузке XP. Так как XP может успешно загрузиться и до Висты (правда не с 1 раза, а, например, раза со 2-го или 3-го). С другой стороны, ошибка при загрузке XP иногда появляется даже после часа работы включённого компа под Вистой. И ещё интересная зависимость: чем дольше работает комп после включения (не важно, будет ли загружена Виста, или просто на экране висит диалог выбора ОС), тем выше вероятность, что XP загрузится. Такое вот наблюдение. 

Кроме того, за последние полгода были 3 случая, когда при загрузке XP сразу после включения компа, упомянутая в первом сообщении ошибка не появлялось, а начиналась нормальная загрузка ОС (то есть появлялся логотип XP), но сразу после него появлялся синий экран с ошибкой "UNMOUNTABLE_BOOT_DEVICE".

Ещё из наблюдений: между выбором Win XP в загрузчике ОС и появлением ошибки про ntoskrnl.exe проходит много времени (секунд 20-30), в течение которых на чёрном экране ничего нет, а комп долго "думает" и суда по звуку активно общается с хардом. Если же ошибки не появляется, то как правило (но не всегда) время между выбором ОС и появлением внизу экрана белой строки-индикатора загрузки XP небольшое - секунд 10. А например, если комп работает после включения несколько часов, то этот интервал становится совсем небольшим - буквально пара-тройка секунд и начинается нормальная загрука XP.

Прошу ещё советов, можно ли что-то сделать?

----------

