Восстановление загрузчика Windows. Как сделать восстановление загрузчика Windows XP? Пошаговая инструкция Восстановление загрузчика windows xp без диска

  • 22.03.2024

Bootmgr и ntldr – это стандартные загрузчики, но предназначены они для разных ОС. B ootmgr – это более свежая версия загрузчика, которая используется начиная с виндовс 7. Она характерна более быстрой обработкой данных и способностью загружать максимальную версию операционной системы. Кроме того, является новым поколением реализации интерфейса между оборудованием компьютера и операционными системами, и в недалеком будущем, полностью заменит просуществовавшую несколько десятилетий модель BIOS.

В свою очередь, ntld использовался на старых версиях ОС (Виста и ХР). Данный загрузчик отличался медленной обработкой данных и способностью обрабатывать несложные задачи.

Новый диспетчер загрузки bootmgr ориентирован на использование специального хранилища конфигурации загрузки BCD (Boot Configuration Data), а также специально разработанных приложений и данных спецификации EFI . Для совместимости с версиями Windows, предшествующим Windows Vista, новый диспетчер BOOTMGR обеспечивает поддержку загрузки операционных систем предыдущего поколения компьютеров на базе BIOS.

Восстанавливаем загрузчик в Windows XP

На сегодняшний день еще многие пользователи используют на своих персональных компьютерах виндовс ХР и в силу того, что данная версия ОС уже устарела, могут млучаться сбои в работе загрузчика, исправить которые, можно следующим образом:

Если, при повторной загрузке Windows выдает сообщение NTLDR is missing , то причина неполадок связана с тем, что загрузочная запись была полностью удалена . Для решения данной проблемы потребуется :

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

Исправляем загрузчик в Windows 7

В виндовс 7 используется загрузчик нового типа, отчего существует несколько способов его восстановления.

Используем загрузку с диска или флешки:


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

Использование bootrec :

Устраняем неисправность в Windows 8, 10

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

Автоматическое восстановление

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

Иногда случаются непредвиденные ситуации, когда операционная система отказывается нормально загружаться. В такие моменты мы можем наблюдать бесконечную загрузку Windows XP, когда на экране отображается логотип ОС или, вообще, система выдаёт ошибку загрузки, так как повреждён загрузочный сектор. Это может быть следствием вирусной атаки, неумелой настройки и оптимизации системы самим пользователем. Такое может произойти из-за неправильной установки драйверов или каких-либо утилит. Может произойти сбой во время некорректного отключения компьютера, когда вилку извлекают из розетки, не выключив компьютер предварительно через меню Пуск. Или при неожиданном отключении света.

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

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

  • Записываем образ и загружаемся с диска или флешки. Для этого нужно попасть в Boot Menu - в зависимости от модели материнской платы компьютера или ноутбука, чтобы попасть в меню загрузки ОС нужно нажимать одну из клавиш: Esc, F1, F2, F8, F9, F11, F12 и др. Здесь выбрать наш съёмный носитель.

  • Далее, следует подождать пока установочный диск полностью загрузится и в окне установки нужно нажать клавишу (R ). Это действие нужно для того, чтобы открыть консоль восстановления.

  • После чего нужно выбрать операционную систему (если она одна, тогда жмём цифру (1 )).

  • В консоли восстановления пишем команду fixmbr – это действо запишет новый загрузчик Windows XP, подтверждаем свой выбор клавишей (y ) что значит Yes – то есть «Да».

  • Теперь нужно записать код загрузки на системный раздел диска жесткого диска. Для этого опять пишем команду, только теперь это будет команда (fixboot ) и снова (y ) и Enter для окончательного подтверждения.

Статья рассчитана на пользователей, знакомых с такими понятиями, как, например, работа в командной строке с правами администратора и умеющими включать отображение скрытых и системных файлов и папок. Желательно знание процесса установки и особенностей . Статья не претендует на универсальность, то есть в ней рассматриваются операционные системы компании Microsoft: от Windows XP до Windows 7.

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

Введение

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

Немного теории

Загрузка операционной системы происходит с активного раздела жесткого диска. В диспетчере дисков такой раздел называется системным . На этом разделе находятся файлы загрузки операционных систем. Также определить активность раздела можно как с помощью сторонних программ типа (активный раздел будет помечен так называемым "флагом активности"), так и воспользоваться имеющейся в Windows программой DiskPart .

Diskpart
sel disk 0
sel part 1
detail part

Результатом выполнения команд будет отчет, на котором будет указано состояние активности. Если выбранный раздел не будет активным, нужно выполнить две последние в списке команды, но выбрать следующий раздел - 2

Рисунок 1 - работа с программой DiskPart

Кроме этого для успешной загрузки необходимо:

  • наличие Главной Загрузочной Записи (Master Boot Record - MBR ) и загрузочного сектора, совместимых с файлами загрузки операционной системы (ntldr - для Windows XP и bootmgr - для Windows 7/Vista);
  • наличия в корневом каталоге активного раздела других файлов загрузки: для Windows XP - файлов ntdetect.com и boot.ini , для Windows 7/Vista - хранилища загрузки - Boot Configuration Data (BCD ), которое расположено в скрытой системной папке BOOT ;
  • в случае, когда на компьютере установлены две операционные системы (Windows XP и Windows 7), на активном разделе должны находиться файлы загрузки их обеих.

Невыполнение хотя бы одного из этих условий
сделает загрузку одной или нескольких операционных систем
невозможной !

Рисунок 2 - файлы загрузки Windows XP и Windows 7 на активном разделе

Красным подчеркнуты файлы загрузки Windows 7, синим - файлы загрузки Windows XP

Необходимые инструменты

  1. Установочный диск с операционной системой Windows XP;
  2. Установочный диск с операционной системой Windows 7;
  3. Утилита bootsect.exe , которая находится в папке BOOT на дистрибутивном диске с Windows 7. В случае отсутствия такового, её можно взять здесь .

Часть 1. Переустановка операционной системы, находящейся на неактивном разделе

Конфигурация 1: Windows 7 на активном разделе, переустанавливаем Windows XP

  1. Утилиту bootsect.exe поместите на раздел с Windows 7;
  2. Загрузитесь с установочного диска Windows XP. После появления приглашения установить систему, выберите тот, на котором она раньше находилась, выполните его форматирование и установку;
  3. После установки возможность выбора операционных систем для загрузки пропадет. Для того, чтобы вернуть такую возможность, в командной строке выполните:
  4. X:\bootsect /nt60 All

    где Х - буква раздела с Windows 7, или

    X:\BOOT\bootsect /nt60 All

    где Х - буква привода DVD-ROM с установленным в него дистрибутивным диском Windows 7;

  5. Перезагрузитесь

Конфигурация 2: Windows XP на активном разделе, переустанавливаем Windows 7

  1. Создайте на разделе с Windows XP папку BCDREZ
  2. bcdedit /export X:\BCDREZ\bcd

    где X - буква раздела с Windows XP

    Если вы не можете загрузиться в Windows 7, то данную команду можно выполнить в Windows XP:

    Y:\Windows\System32\bcdedit /export X:\BCDREZ\bcd

    где Y - буква раздела с Windows 7, X - с Windows XP;

  3. Выполните установку Windows 7, при необходимости отформатируйте раздел, в который будет выполняться установка.
  4. После установки в меню загрузки появится новая запись о загрузке. Откорректировать меню можно различными средствами, но мы воспользуемся одним: вернем сохраненную запись.

  5. В Windows 7 в командной строке с правами администратора выполните:
  6. bcdedit /import X:\BCDREZ\BCD

где Х - буква раздела с Windows XP.

После перезагрузки вы получите прежнее загрузочное меню.

Часть 2. Переустановка операционной системы, находящейся на активном разделе

Конфигурация 1: переустанавливаем Windows 7 на активном разделе, Windows XP - на неактивном

Возможны два варианта:

Первый: при установке Windows 7 скрытый раздел System Reserved не образовался.

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

  1. На разделе с Windows XP создайте папку BOOTREZ ;
  2. Откройте отображение скрытых и системных файлов, скопируйте файлы загрузки XP: ntldr, ntdetect.com, boot.ini , желательно дополнительно скопировать файл bootfont.bin для корректного отображения кириллицы в меню загрузки;
  3. Экспортируйте BCD командой:
  4. bcdedit /export X:\BOOTREZ\bcd

    где X - буква раздела с Windows XP

  5. Установите Windows 7;
  6. После установки откройте отображение скрытых и системных файлов, скопируйте из созданной папки BOOTREZ файлы загрузки XP: ntldr, ntdetect.com, boot.ini, bootfont.bin на активный раздел;
  7. Импортируйте сохраненные данные загрузки командой:
bcdedit /import X:\BOOTREZ\bcd

где Х - буква раздела с Windows XP

Второй: при установке Windows 7 скрытый раздел System Reserved был создан.

Рисунок 3 - предложение выбрать для установки второй раздел

В этом случае активным является раздел System Reserved , поэтому если вы ограничитесь форматированием дискового пространства, ранее занятого Windows 7, то после перезагрузки ничего не потеряется. Единственное действие, которое вам придется выполнить - с помощью утилиты bcdedit изменить название "Ранней версии операционной системы", да и то по желанию:

Bcdedit /set {ntldr} description "Пишите, что хотите"

Конфигурация 2: Windows XP на активном разделе, Windows 7 - на неактивном

После форматирования активного раздела, вы потеряете не только меню загрузки операционных систем, но и саму возможность загрузки в Windows 7 даже после изменения MBR с помощью утилиты bootsect.exe , так как файл загрузки bootmgr и BCD будут удалены. Однако существует простой способ избежать трудностей.

  1. Создайте на разделе с Windows 7 папку для хранения копий файлов загрузки BCDREZ
  2. В Windows XP (это обстоятельство особенно важно, так как в Windows 7 вы не сможете выполнить подобную процедуру) скопируйте в созданную папку из корневого каталога активного раздела файл bootmgr и папку BOOT (не забывайте, что они скрытые и системные)
  3. Выполните переустановку Windows XP
  4. Откройте отображение скрытых и системных файлов, скопируйте из папки BCDREZ папку BOOT и файл bootmgr в корневой каталог активного раздела
  5. Выполните перезапись MBR и загрузочного сектора:
X:\bootsect /nt60 All

где Х - буква раздела с Windows 7 или

X:\BOOT\bootsect /nt60 All

где Х - буква привода DVD-ROM с установленным в него дистрибутивным диском Windows 7

После перезагрузки вы вновь получите возможность загружаться в обе операционные системы.

Заключение

Если вы прочитали эту статью уже после возникших проблем, воспользуйтесь дистрибутивным диском Windows 7, либо диском восстановления Windows 7. Как его создать, читайте в статье . Загрузившись с одного из них, в окне с предложением установить систему, выберите ссылку "Восстановление системы", а затем - "Восстановление запуска". После этого, при отсутствии других проблем загрузки, вы получите возможность загрузиться в Windows 7, а затем и организовать двойную загрузку. Если у вас еще есть вопросы, добро пожаловать на .

По терминологии Microsoft эти загрузочные файлы (ntldr, boot.ini, ntdetect.com, ntbootdd.sys и bootsect.dos для мультизагрузочных систем) находятся в системном разделе, загрузочный сектор которого содержит системный загрузчик Windows NT.

В то же время раздел диска или диск, на котором располагается папка Winnt и, соответственно, системные файлы, необходимые для работы ОС (в том числе ntoskrnl.exe, ядро Windows NT), вполне спокойно может не совпадать с системным разделом и поэтому при запуске ПК необходимо сделать так, чтобы загрузчик Windows NT без труда нашел системные файлы. Раздел же, на котором располагается папка Winnt, в Microsoft принято называть загрузочным, простим им эту путаницу - это далеко не самый тяжелый случай.

Таким образом, при включении ПК ход загрузки операционной системы проходит в несколько этапов: BIOS компьютера считывает и загружает в оперативную память главную загрузочную запись Master Boot Record (MBR), в которой находится таблица разделов диска и небольшая программа - эта программа находит начальный адрес системного раздела на диске и загружает в память копию его загрузочного сектора (сектор 0), а затем, если раздел помечен как "активный" в таблице разделов, передает управление другой программе - загрузчику Windows NT из только что перенесенного в память загрузочного сектора.

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

Правда, поскольку Windows NT может работать не только на платформе i386, следует оговориться, что мы рассматриваем применимые в нашем быту "персоналки", не касаясь особенностей загрузки NT на других платформах (на процессорах RISC, например, программа osloader.exe выполняет те же функции, что на PC выполняются файлами ntldr, ntdetect.com и bootsect.dos).

Если рассматривать работу начала начал операционных систем класса NT - загрузчика ntldr подробнее, то ее также можно разбить на несколько этапов: ntldr переключает процессор в режим 32-разрядной модели памяти с прямой адресацией запускает минифайловую систему для доступа к томам FAT, FAT32 и NTFS считывает файл boot.ini, также расположенный в корневом каталоге системного диска отображает меню выбора операционной системы (если выбирается ОС, отличная от Windows NT, то считывается файл bootsect.dos с копией загрузочного сектора предыдущей ОС и управление передается ему) запускает файл ntdetect.com, собирающий информацию о физических устройствах, подключенных к компьютеру в момент загрузки загружает и запускает ядро ОС - файл ntoskrnl.exe и передает ему информацию, собранную ntdetect.com.

NT Loader использует в процессе своей работы специальный текстовый конфигурационный файл boot.ini - один из важнейших системных файлов Windows NT / 2000 / XP, несколько напоминающий по своей сути файл msdos.sys из Windows 9x. Именно он позволяет системе находить папку Winnt, если она расположена не на системном разделе диска.

На файл boot.ini возложено несколько функций: управление содержимым меню выбора операционной системы во время загрузки ПК, управление самим процессом загрузки системы, а также задание некоторых параметров ее дальнейшего функционирования.

Файл составлен по привычному стандарту ini-файлов - разделы с названиями в квадратных скобках и параметры в каждом из разделов (в boot.ini предусмотрено два раздела можно добавить и еще какой-нибудь раздел, но системой он будет просто проигнорирован - это нередко используется для того, чтобы временно закомментировать тот или иной параметр).

И хотя в нем может находиться довольно много различных параметров, редактируется все это малопонятное простому пользователю хозяйство, к сожалению, самым простым и самым неудобным способом - в любом текстовом редакторе. А отредактировать это файл вполне может понадобиться любому пользователю, соблазнившемуся красивыми финтифлюшками сыроватой Windows XP (в конференции нашего журнала проблемы с этой операционкой - хит сезона), причем не только при его повреждении, случайном удалении и последующем воссоздании, но и, например, в случае добавления в систему или удаления из нее дисков или их разделов.

Разумеется, для работы с этим скрытым файлом, находящимся в корневой директории загрузочного диска, необходимо снять с него атрибут "только чтение", иначе текстовый редактор не сможет сохранить внесенные в boot.ini изменения.

Некоторые возможности по внесению изменений в этот файл дает, правда, меню "Загрузка операционной системы" (System Startup) диалога "Загрузка и восстановление" ("Startup and Recovery") свойств системы, а также появившаяся в Windows XP утилита msconfig.exe, однако полный доступ к его параметрам возможен только при ручном редактировании, либо при использовании небольшой дополнительной программы, предоставляющей понятный графический интерфейс - System Configuration Editor.
Эта программа предназначена для безопасного редактирования файлов конфигурации: Autoexec.bat, Config.sys, Win.ini, System.ini, Networks, Lmhosts, Hosts, Boot.ini.

В Windows XP, кстати говоря, появилось и еще одно не менее ценное дополнительное средство восстановления этого файла - команда bootcfg консоли восстановления, после выполнения которой с таким ключом - bootcfg /rebuild происходит сканирование жестких дисков в поисках инсталляций систем класса NT и восстановление файла boot.ini в соответствии с полученными результатами поиска. В более старых же системах альтернативой ручному восстановлению файла является только запуск программы переустановки системы.

Строение файла boot.ini в простейшем случае, с одной операционной системой на диске ПК Intel х86, выглядит следующим образом:


timeout=5
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows XP Professional" /fastdetect

При использовании двух операционных систем, например, Windows Me и Windows XP, содержимое файла будет примерно такое:


timeout=5
default=C:\
C:\="Windows Millennium Edition"
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Windows XP Professional" /fastdetect

Как можно заметить, в данных примерах раздел служит для задания двух параметров загрузки операционной системы, в частности, параметр timeout=5 определяет количество секунд, в течение которых пользователь имеет возможность выбрать либо загружаемую ОС, либо один из пунктов загрузочного меню (например, загрузить систему в режиме защиты от сбоев).

При timeout=0 загрузочное меню не отображается, а при timeout=-1 это меню будет находиться на экране неограниченное время в ожидании выбора пользователя.

Каждый пользователь волен выставить это время по своим вкусам - для меня удобной цифрой является 5 секунд. По умолчанию же задержка составляет 30 секунд, максимум - 999.

Параметр default определяет путь к загружаемой по умолчанию операционной системе. Путь этот в случае с Windows NT задается в формате ARC (Advanced RISC Computing), о правилах которого чуть ниже. Если же в мультизагрузочной системе ОС по умолчанию является, например, Windows 98 (или MS-DOS, Linux), то достаточно указать default=C:\, где С: - диск, на котором находятся системные файлы Windows 9x (вернее - образ ее загрузочного сектора bootsect.dos, а также io.sys, msdos.sys и т. д.).

Такой операционной системе и в следующем разделе будет соответствовать строка типа C:\="Windows Millennium Edition" или C:\bootsect.lnx="Linux" - то есть путь к файлу-образу ее загрузочного сектора (его название может быть любым, по выбору пользователя). Кстати, для создания такого файла-образа удобно использовать утилиту BootPart, предназначенную как раз для расширенной работы с загрузчиком NT.

В разделе находятся сведения об установленных операционных системах, на основании которых и формируется загрузочное меню. Так, в каждой строке этого раздела прописан ARC-путь к загрузочному разделу Windows NT плюс имя папки Windows и текст, отображаемый в соответствующей этой операционной системе строке загрузочного меню, плюс некоторые параметры, используемые при выборе данной системы.

Учтите, что ARC-путь (кроме имени папки и названия ОС) должен быть записан маленькими (строчными) буквами - по крайней мере, в Windows NT 4 заглавные буквы приводили к невозможности загрузить систему. Максимально возможное число строк в этом разделе - 10, следовательно, и операционных систем на своем ПК вы можете иметь одновременно аж 10 штук.

Если вы вдруг утратили файл boot.ini, то самое сложное при его ручном восстановлении - правильно воссоздать путь к загрузочному разделу в формате ARC. Путь этот может начинаться либо с метки multi(), либо с метки signature(). Метку multi() можно наблюдать в подавляющем большинстве случаев, применяется она для дисков IDE, ESDI, SCSI в тех случаях, когда ОС для своей загрузки использует механизмы системного BIOS (прерывание INT13).

При таком раскладе запись пути к загрузочному диску и к директории загружаемой операционной системы в файле boot.ini будет выглядеть следующим образом: multi(0)disk(0)rdisk(x)partition(y)\ имя_каталога_Windows = "Название_ОС, отображаемое_в_загрузочном_меню" / параметр

  • multi(0) указывает порядковый номер адаптера, с которого осуществляется загрузка и всегда имеет значение "0" (нумерация начинается с нуля, начиная с контроллера, расположенного ближе к слоту 0 на материнской плате);
  • disk(0) - всегда равен нулю, так как прерывание INT13 не может использоваться для идентификации нескольких дисковых контроллеров (для большинства BIOS);
  • rdisk(x) определяет порядковый номер жесткого диска, с которого производится загрузка, нумерация начинается с 0, и обычно x - число от 0 до 3;
  • partition(y) - порядковый номер раздела жесткого диска, с которого загружается ОС, нумерация начинается с 1 (соответствует диску С: в привычном обозначении), в первую очередь нумеруются первичные разделы, затем идут логические диски. Не нумеруются расширенные разделы MS-DOS (тип 5) и разделы типа 0 - неиспользуемые.

Формат записи, начинающийся с метки signature() - ранее, в NT для этого служила метка scsi(), теперь применяется signature(), поддерживающая работу с механизмами Plug-n-Play Windows 2000 / XP - встречается реже и используется при работе как со SCSI-дисками (если у контроллера SCSI отключен BIOS), так и с IDE-дисками в отсутствие поддержки INT13. В этом случае запись в boot.ini принимает такой вид: signature(x)disk(y)rdisk(z)partition(w)\имя_каталога_ Windows="Название_ОС, отображаемое_в_загрузочном_меню" /параметр

  • signature(x) указывает уникальную сигнатуру диска (шестнадцатеричное число - signature(8b467c12)), содержащуюся в его MBR. Сигнатура эта вписывается в главную загрузочную запись диска в процессе установки Windows, в начале ее текстового этапа;
  • disk(y) - идентификатор SCSI ID жесткого диска;
  • rdisk(z) - номер SCSI LUN (Logical Unit Number) жесткого диска, практически всегда это 0;
  • partition(w) - порядковый номер раздела жесткого диска, с которого загружается ОС, нумерация начинается с 1, в первую очередь нумеруются первичные разделы, затем идут логические диски. Не нумеруются расширенные разделы MS-DOS (тип 5) и разделы типа 0 - неиспользуемые.

Обратите внимание, что если используется формат signature(), то в корне системного диска должен находиться файл ntbootdd.sys - переименованная копия драйвера мини-порта SCSI, предназначенная для доступа к SCSI-адаптеру при загрузке.