Перед любыми действиями позаботьтесь о резервной копии важных данных.

У нас и так много работы! =)

В данной статье я опишу наиболее распространённые причины появления сообщения «NTLDR is missing»  и способы устранения ошибок в этих случаях.

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

Итак, часть первая, почему это произошло

Вы получили сообщение об ошибке вида:

Windows XP could not start because the following files were missing or corrupted: WINDOWSSYSTEM32CONFIGSYSTEM NTLDR MISSING.

You can try to repair this file by starting the Windows Setup program from original floppies or boot from CD-ROM. Select ‘r’ at first screen to repair.

или

NTLDR is missing

Press CTRL+ALT+DEL to restart.

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

1)  В корне раздела NTFS, с которого производится загрузка, создано большое количество файлов. После перезагрузки получено сообщение «NTLDR is missing». Попытка исправить ситуацию путём удаления файлов проблему не решает.

Это связано с особенностями построения файловой системы. При росте числа файлов в корневой папке таблица MFT может стать сильно фрагментированной; при этом будет создан дополнительный индекс размещения. Т.к. в индексах размещения файлы перечислены в алфавитном порядке, то файл NTLDR может попасть во второй индекс. Загрузчик же может обрабатывать файлы, расположенные только в первом индексе, что и приводит к ошибке «NTLDR is missing».

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

Для решения проблемы советую воспользоваться инструкциями из пункта C раздела «Устранение неисправности». Если же это не помогло, то стоит обратиться к пункту A.

2)  Другая причина появления этой ошибки может крыться в особенностях совместной работы  Windows NT и XP. Системы, созданные на базе Windows NT, имеют более простой загрузчик, который не определяет дополнительные средства запуска Windows XP.  Поэтому проблема может возникнуть, если поставить NT в качестве второй операционной системы на машину с XP.

В этом случае можно воспользоваться B, A или E.

3)  Ntldr и Ntdetect.com могут быть банально удалены или повреждены в результате действий пользователя или ошибок в работе программного обеспечения.

Это также, как и при установке NT, см. пункты B, A или E.

4)  Также сообщение об ошибке «NTLDR Is Missing» может появиться после смены активного раздела. Для нормальной работы загрузчика Windows необходимо, чтобы системные файлы, которые он использует, располагались на активном разделе.

Решение описано в пунктах A, D или E.

5)  Ну и наконец, причины появления ошибки «NTLDR Is Missing» могут быть не только программные, но и аппаратные. Это и сбой в работе жесткого диска, и устаревшая версия BIOS на материнской плате, и подключение к компьютеру ещё одного диска с уже установленной ОС.

По этому поводу написан пункт F второй части статьи.

Устранение неисправности

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

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

Теперь приступим к непосредственному решению.

A)  Чтобы вернуть компьютер в рабочее состояние, требуются заменить файлы Ntldr и Ntdetect.com на загрузочном разделе Windows XP. Сделать это поможет консоль восстановления. Чтобы ей воспользоваться, следует загрузиться с установочного диска Windows XP, и при появлении экрана «Установка Windows» нажать клавишу «R». Далее надо выбрать загрузочный раздел и ввести команду fixboot.

B)  Второй вариант замены файлов загрузчика на корректные — запустить компьютер с загрузочного диска Windows, Live CD или загрузочной флешки в режиме эмуляции MS-DOS (если на активном разделе стоит NTFS, следует запустить утилиту NTFSDOS.EXE) и просто скопировать файлы Ntldr и Ntdetect.com из папки i386 на CD в корневую папку загрузочного диска. Если файловая система загрузочного раздела является системой FAT, можно использовать загрузочный диск MS-DOS.

Во время вышеприведенных операций в MS-DOS не забудьте снять с файлов атрибуты «Системный», «Только чтение», «Скрытый» с помощью команды attrib. Поясню как это сделать:

attrib ntdetect.com -r -s –h

attrib ntldr -r -s –h

С)  Компанией Microsoft была разработана небольшая утилита, Bcupdate2. Получить ее можно, обратившись в саппорт Microsoft, либо поискать у тех, кто ее уже скачал. После получения данной программы можно приступить к процессу исправления ошибки.

Создаем загрузочную дискету и грузимся с нее. В командной строке запускаем «BCUpdate2.exe C: /f», где C: — загрузочный раздел. Нажимаем «y», тем самым даем согласие на работу данной программы. Получаем сообщение об успешно проделанной операции, перезагружаемся. Либо просто пишем «Run a:bcupdate.exe c: »

D)  Проблему, возникшую в результате смены активного раздела можно решить следующими способами:

1) С помощью загрузочной дискеты можно сменить активный раздел:

  • Загрузитесь при помощи дискеты.
  • В командной строке введите fdisk и нажмите клавишу «ВВОД».
  • В ответ на вопрос о включении поддержки больших дисков выберите Y (да).
  • Выберите команду «Выбор активного раздела», нажмите клавишу с номером раздела, который нужно сделать активным, а затем — клавишу «ВВОД»

2) С помощью консоли восстановления Windows можно скопировать необходимые файлы на текущий активный раздел:

  • Загрузитесь с компакт-диска Windows XP (может потребоваться модификация порядка загрузки в BIOS и проверка перемычек на приводе CD).
  • При появлении надписи «Вас приветствует мастер установки» нажмите клавишу F10 или R, чтобы начать процесс восстановления.
  • Введите «cd ..», чтобы перейти в корневой каталог загрузочного диска.
  • Введите букву устройства чтения компакт-дисков.
  • Введите cd i386.
  • Введите Copy ntldr «буква Вашего загрузочного диска»:
  • Введите Exit.

Если раздел не был отформатирован с помощью Windows, может также понадобиться запустить команду fixboot консоли восстановления. Данная команда переопределяет параметры по умолчанию, которые записываются в загрузочный раздел системы. Fixboot перезаписывает загрузочный сектор жесткого диска, что делает активный раздел загрузочным. Понимает единственный аргумент — букву устройства, на которое производится запись. Как это сделать, было описано выше.

Также возможно повреждение главной загрузочной записи (MBR). Для ее восстановления воспользуйтесь командой «fixmbr имя_устройства».

Внимание! Команда fixmbr может повредить таблицу разделов, если система заражена вирусами или имеются проблемы с оборудованием. Тогда есть риск получить недоступные разделы. Рекомендуется заранее проверить систему антивирусной программой и сделать резервную копию важных данных, временно подключив диск к другому компьютеру.

Не будет лишним проверить файл boot.ini, насколько правильно в нем прописаны «пути» к Вашей ОС и правильно ли определены разделы.

E)  Еще один вариант решения проблемы – это подключение диска к компьютеру с рабочей ОС Windows ХР или Windows 2003 Server. Через оснастку «Управление дисками» можно проверить, насколько корректно созданы разделы и логические диски, а также сделать активным первый раздел диска. Затем скопировать туда два файла: NTLDR и NTDETECT.com с рабочей ОС. После таких манипуляций можно ставить ЖД обратно и грузиться с него. При этом желательно  сбросить установки BIOS по умолчанию и оставить диск на первом шлейфе IDE  мастером.

Если же под рукой нет другого компьютера с рабочей Windows, попробуйте просто параллельно поставить вторую ОС и проделать всё вышеописанное.

F)  Если вы подключили к компьютеру новый жесткий диск, и сразу после этого появилась ошибка NTLDR, убедитесь, что на этом диске не установлена ОС. Попробуйте отключить только что установленный жесткий диск и произвести повторную загрузку. Если проблема не решится, воспользуйтесь загрузочной дискетой, при необходимости используйте команду format. Не забывайте, что при этом все данные на ЖД будут удалены.

Затрагивая аппаратные проблемы, могу сказать, что самое простое, что можно сделать при подозрении на такой случай – обновить BIOS, переткнуть жесткий диск в другой разъём кабеля или заменить кабель. Следует проверить состояние литиевой батарейки на материнской плате. Севшая батарея (менее 3 В), или плохие контакты между ней и материнской платой — причина многих глюков, порой неожиданных.

Нередко к сбоям при загрузке приводит появление дефектов в областях, занятых системными файлами. А если на диске начали появляться «бэды», то пользоваться им нельзя: в скором времени накопитель полностью выйдет из строя. Необходимо отдать его в ремонт либо купить  новый диск.