Я получил "NTLDR отсутствует" на Win XP и исправил его, но почему это произошло и как это исправление работало?
Итак, поверьте мне, я прочитал все соответствующие посты о том, как исправить проблемы "NTLDR отсутствует" в SuperUser, и это не тот вопрос. На самом деле мне удалось исправить мою проблему, но я не совсем понимаю, почему исправление сработало, и оно меня беспокоит. Я надеюсь, что кто-то там может заполнить пробелы для меня.
Фон
У моего друга есть старый ноутбук HP примерно 2006 года, работающий под управлением Windows XP Home SP2. Я исправлял несколько различных проблем, работал над общей медлительностью машины и устанавливал новое антивирусное программное обеспечение (AVG). Я был на ужасном интернет-соединении и должен был отменить установку AVG на полпути через загрузку (я сделал это чисто) и перезагрузился.
Когда компьютер снова запустился, все, что я получил, было сообщение
NTLDR отсутствует.... нажмите Ctrl-Alt-Del для перезагрузки
Я понимаю, что это значит, хотя, как это произошло в первую очередь, на основании того, что я делал, было несколько загадочно.
Вопрос 1: Есть идеи, как эта ошибка возникла в первую очередь?
Необходимое исправление
Поэтому самое интересное в этом ноутбуке заключается в том, что все его внешние накопители вроде как разорваны, поэтому мне пришлось взять кабель IDE-USB, вытащить жесткий диск ноутбука и подключить его к моему рабочему столу. Я знаю, что мне нужно заменить, возможно, поврежденные файлы NTLDR
а также NTDETECT.COM
файлы в корне диска, но независимо от того, какой тип поиска или листинга я делаю, я их вообще не вижу.
Единственный скрытый или системный файл в корне диска pagefile.sys. I couldn't find
boot.ini` тоже.
Вопрос 2: Несмотря на то, что показать скрытые файлы и показать системные файлы включены, я не смог найти NTDLR
, NTDETECT.COM
или же boot.ini
в любом месте. Почему я не вижу эти файлы на жестком диске ноутбука, когда он был подключен через USB на моем рабочем столе (мне трудно поверить, что они просто исчезли)?
Фактическое Исправление
В конце концов, я взял установочный диск Windows XP и просто скопировал поверх NTLDR
а также NTDETECT.COM
а также общий boot.ini
в корень диска ноутбука. У меня нет запросов на замену файлов или чего-то еще... Я просто переместил файлы простым перетаскиванием. Когда я вставил жесткий диск обратно в ноутбук и загрузил его, все заработало.
Вопрос 3: Почему в мире это исправление работало? Сделал NTLDR
просто прямо удалить как-то изначально? Или я просто не искал это правильно?
Мне нравится, что моя проблема решена, я ненавижу, что я не понимаю, почему. У кого-нибудь есть мудрость, которой можно поделиться? Большое спасибо!
2 ответа
Согласно ComputerHope.com причины сообщения об ошибке "NTLDR is Missing":
- Компьютер загружается из не загружаемого источника.
- Жесткий диск компьютера неправильно настроен в BIOS.
- Поврежденный файл NTLDR и NTDETECT.COM.
- Неправильная настройка файла boot.ini.
- Попытка выполнить обновление с компьютера Windows 95, 98 или ME, использующего FAT32.
- Новый жесткий диск добавляется.
- Поврежден загрузочный сектор / основная загрузочная запись.
- Серьезно испорченная версия Windows 2000 или Windows XP.
- Ослаблен или неисправен кабель жесткого диска IDE/EIDE.
- Не удалось включить поддержку клавиатуры USB в BIOS.
скопированы через NTLDR и NTDETECT.COM
Это, вероятно, устранило причину № 3, поврежденный файл NTLDR и NTDETECT.COM.
скопировано поверх... общий boot.ini
Вероятно, это устранило причину № 7, поврежденный загрузочный сектор / основная загрузочная запись.
Эти файлы отсутствовали, потому что этот раздел не был "загрузочным" разделом в то время. Другими словами, загрузочный сектор был затронут чем-то и больше не указывал на распознаваемое местоположение, отсюда и ошибка.
FIXMBR и FIXBOOT, вероятно, также сработали бы.
Вопрос в том, сможете ли вы сейчас получить доступ к разделу "Восстановление системы", помещенному туда MFR для аварийного восстановления.
PS: это также может произойти, если у вас есть флэш-накопитель, подключенный к компьютеру при запуске компьютера или перезагрузке. Некоторые BIOS просто пропускают его, большинство компьютеров эпохи XP не загружаются с тем же сообщением.