Перенос загрузчика windows xp на другой диск

Обновлено: 06.07.2024

После прочтения статьи «Фривольное клонирование ОС MS Windows XP / Server 2003 своими руками, средствами GNU/Linux» возникло естественное желание дополнить ее в соответствии с реалиями конца 2014 года.

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

MBR, таблица разделов и сигнатура диска

Начнем с копирования данных. Какие же данные нам нужно скопировать? Для Windows XP это MBR (446 байт в начале диска, основная таблица разделов и завершающая сигнатура 55AAh), данные о расширенных разделах и собственно данные системного раздела Windows. Для Vista и Windows 7 добавляется еще и 100-мегабайтный системный раздел (GPT не рассматриваем). При этом нужно помнить, что первый раздел в Windows XP по-умолчанию начинается с сектора 63, а в Windows Vista/7 — с сектора 2048. Естественно, все операции мы будем проводить на незапущенной Windows, загрузившись с System Resque CD.

Так вот, не стоит копировать MBR «в лоб», для этого в Linux существует утилита ms-sys, которая записывает загрузчик любой версии Windows от Win95 до Win7 в MBR. Для сохранения и восстановления структуры разделов есть утилита sfdisk.


Добавлено:
Для того, чтобы WIndows загрузилась, необходимо также сформировать подпись диска (disk signature). Для этого нужно прочитать содержимое ключа реестра HKLM\SYSTEM\MountedDevices\<\DosDevices\«Имя раздела на диске с двоеточием»>, и выделить первые 8 байт (в шестнадцатеричной записи), например: 4F BE 4F BE. Сделать это на смонтированном в Linux NTFS-томе можно с помощью описанной ниже утилиты reged. Следует учесть, что в reged имя ключа, содержащее слеш, нужно указывать через двойной слеш, например: \\DosDevices\\C:. Затем указанные 8 байт следует записать на диск начиная со смещения 0x01B8 утилитой hexedit. После этого диск готов к загрузке.

Данные разделов NTFS

После копирования MBR и структуры разделов можно копировать собственно данные разделов с помощью partclone. Инструмент partclone позволяет создавать образы разделов ext2/3/4, fat, ntfs, xfs, btrfs, reiserfs и т. д., анализируя внутреннюю структуры ФС и включая в образ только используемые сектора. Создадим на эталонном ПК образ раздела с помощью partclone, размер образа будет равен размеру используемого на томе места.

а на целевом компьютере развернем его

или
К сожалению, внутреннее сжатие в образе не поддерживается.

Возможно также прямое копирование данных с одного устройства на другое с помощью ключа -b:

Теперь рассмотрим вопрос восстановления данных на раздел размера, меньшего, чем эталонный. Для этого нужно смонтировать partclone-образ и либо скопировать с него файлы на целевой том с сохранением атрибутов, разрешений, hardlink-ов и прочих свойств NTFS, либо уменьшить размер раздела NTFS внутри образа partclone, а уже затем скопировать этот уменьшенный раздел на целевой том командой partclone.ntfs с ключом -b.

Мне не известны инструменты, которыми можно было бы в Linux скопировать файлы и hardlink-и с одного тома NTFS на другой со всеми атрибутами и потоками (если кому-нибудь они известны, прошу в комментарии), так что у нас остается только вариант с уменьшением размера тома. К счастью, существует инструмент imagemount, который экспортирует partclone-образ как блочное устройство nbd и поддерживает монтирование образа в том числе и на запись, при этом изменения сохраняются в отдельном файле (ключ -с). Экспортируем том на запись

Теперь изменим размер ФС на томе NTFS. Сначала будет сделан тестовый прогон (ключ -n)

а затем — реальный:

Imagemount, даже последней версии — 0.3.1, не работает с дисками на запись на архитектуре x86_64 (зависает намертво) и практически не работает на архитектуре i386 (записывает образ с ошибками), поэтому изменение размера раздела на данный момент невозможно. Буду писать в багртекер partclone-utils.

К сожалению, partclone не поддерживает сжатие образов, но эту проблему можно обойти с помощью так любимых в Linux костылей и подпорок. Создадим пустой образ формата qcow2 с виртуальным размером, заведомо превышающим наши потребности (например, 1 Tb). Его реальный объем будет увеличиваться в зависимости от количества данных, которые мы туда запишем.

Смонтируем его как блочное устройство

Теперь скопируем на виртуальное устройство файловую систему

размонтируем устройство и в результате получим файл qcow2 с размером чуть больше, чем размер исходного NTFS-тома. Теперь к файлу можно применить внутреннее сжатие:

Легко заметить, что этот способ требует удвоенного места на диске для хранения исходного и сжатого образов, а также дополнительное время на сжатие. Если мы применим еще один костыль, то избавимся и от этих недостатков. После монтирования образа qcow2 (командой qcow-nbd -c /dev/nbd0 <файл образа>) отформатируем его в файловую систему btrfs

а теперь смонтируем со сжатием:

и создадим образ файловой системы NTFS

После этого размонтируем все.

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

Мне, например, удалось уменьшить размер образа со свежеустановленной Windows XP c 2,7 Gb до 587 Mb. При этом можно смонтировать образ без распаковки и просмотреть файлы внутри.

Гораздо лучше, чем набившие оскомину dd | gzip, не так ли?

Запуск Windows на новом оборудовании

Теперь перед нами стоит вторая задача — сделать так, чтобы установленная на том NTFS Windows смогла запуститься. В случае Windows 7 копируем еще и загрузочный раздел, для Windows Vista — дополнительно делаем (с Windows Vista Live CD) перезапись BCD, чтобы данные в этой области соответствовали серийному номеру жесткого диска, проверяем, чтобы у загрузочного раздела стояла соответствующий флаг boot (можно сделать через parted) и перезагружаемся. После чего с некоторой вероятностью получаем синий экран с надписью 0x0000007B Inaccesseble boot device. В этом случае для Windows XP рекомендуется выставить правильный HAL, но вот незадача, я уже давно не встречал одноядерные ПК без APIC и тем более ACPI, так что наш эталонный образ скорее всего уже содержит правильный многопроцессорный HAL. Поэтому не стоит надеяться, что замена HAL сразу исправит нашу проблему. Скорее всего, причина в том, что Windows не распознала контроллер жесткого диска, и, соответственно, не смогла продолжить с него загрузку.

Допустим, мы не пользовались sysprep при создании эталона (а то получиться неспортивно, потому что sysprep сделает всю работу за нас). Попробуем разобраться, почему ОС Windows не находит контроллер диска на новом оборудовании, несмотря на то, что в случае «чистой» установки она этот контроллер видит. Дело в том, что на завершающем этапе установки Windows отключает (якобы для ускорения загрузки) все драйверы контроллеров дисков, на которых не расположено системных разделов. Получается как с сусликом в фильме «ДМБ»: система его не видит, но он есть.

Включаем IDE-контроллеры: патч MergeIDE

Для Windows XP существует известный патч MergeIDE, который, собственно, и включает в реестре драйверы IDE-устройств обратно, попутно копируя файлы драйверов из driver.cab в \system32\drivers. Проблема в том, что этот патч предназначен для запуска из-под Windows. Попробуем наложить его под Linux вручную. Пусть раздел с Windows XP смонтирован у нас в /mnt, тогда:

Для того, чтобы наложить патч MergeIDE.reg на реестр, нужно его отредактировать, убрав переводы строк с помощью символа «\» в последних строках файла, а затем воспользоваться утилитой reged с ключом -I

После этого можно перезагружаться. Надо сказать, в моей практике было несколько случаев, когда запустить образ на другом оборудовании не удавалось ни указанным выше способом, ни с помощью платных инструментов вроде Acronis Universal Restore.

Посмотрев содержимое файла MergeIDE.reg можно увидеть, что вся магия запуска загрузочного драйвера состоит в добавлении записей в две ветви реестра — HKLM\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase и HKLM\SYSTEM\CurrentControlSet\Services.
Ветвь CriticalDeviceDatabase содержит список устройств, необходимых для успешной загрузки системы и задает соответствие между классом устройства и той службой (драйвером), который за нее отвечает, а ветвь Services содержит параметры работы конкретных драйверов. Особенно интересен параметр Start — уровень запуска:
0 — загрузка до старта ядра загрузчиком ОС
1 — загрузка в момент инициализации ядра
2 — загрузка в процессе запуска ОС
3 — загрузка по требованию
4 — не загружать
очевидно, если у нашего драйвера уровень запуска будет отличаться от 0, то соответствующего контроллера в момент загрузки мы не увидим.

MergeIDE.reg оперирует идентификатором класса 4d36e96a-e325-11ce-bfc1-08002be10318 — дисковые контроллеры ATA/ATAPI. Идентификаторы ClassGUID для различных классов устройств известны, их можно найти, например, здесь.
Таким образом можно заставить систему запускать в момент загрузки ядра в память любой драйвер, например, для сетевой карты, если вы загружаетесь через AoE или iSCSI.

Для Windows Vista/7 можно просто пройтись по ветви Services в поисках драйверов, содержащих в названии слово IDE, а потом изменить тип запуска (ключ Start) с «3-отложенный запуск» на «0-загружать в момент загрузки ядра». Для этих ОС есть еще один способ — находим в ветви Services записи msachi и iaStorV (универсальный драйвер AHCI и драйвер AHCI для устройств Intel) и так же изменяем тип запуска с «3» на «0», а потом идем в BIOS и меняем там тип контроллера дисков на AHCI. С Windows XP такой фокус, к сожалению, не прокатит, по причине отсутствия встроенного универсального драйвера AHCI.

Загружаемся с любого IDE или SATA-контроллера: драйвер UniATA

Поэтому обратим внимание на совершенно волшебный драйвер контроллера дисков UniATA от Александра Телятникова aka Alter. Этот драйвер инициализирует любой контроллер, считающий себя IDE- или AHCI-совместимым, а поэтому отлично подходит для наших целей. Порядок установки точно такой же — скопировать файл драйвера, прописаться в CriticalDeviceDatabase и в Services.


Теперь интегрируем в образ файл my_uniata_inst.reg следующего содержания

Здесь ven_8086&dev_2922 — идентификатор установленного SATA-контроллера. Мы также считаем, что CurrentControlSet у нас нет и используем активную ветвь — ControlSet001, номер которой указан в HKLM\SYSTEM\Select\Current.

Возникла следующая ситуация:

Т.е.,
Primary с загрузчиком,
Extended,
Logical с данными.

Вопрос - почему для восстановления загрузчика потребовалось устанавливать вторую копию Windows? Почему не хватило консоли восстановления?

Вторая.
Второй вопрос - как мне перенести загрузчик с перевого раздела диска на второй, логический, чтобы можно было отформатировать первый раздел (и установить туда Linux)?

Ответы

В общем, стёр я Windows совсем:)

Все ответы

  • Предложено в качестве ответа osr_ MVP 30 мая 2009 г. 14:26

Второй вопрос - как мне перенести загрузчик с перевого раздела диска на второй, логический, чтобы можно было отформатировать первый раздел (и установить туда Linux)?


А зачем? всегда можно легко восстановить загрузчик Windows. А так какая разница с чего загружаться lilo, grub или ntldr?

Причём в консоли восстановления сделать раздел активным нельзя, fixboot и fixmbr опять не помогли - пришлось опять запускать установку Windows на первый раздел и после копирования файлов запускать консоль восстановления и там bootcfg /rebuild.

Конечно, Linux можно установить на Virtual PC. Но мой вопрос не в этом. Давайте вообще не будем обращать внимания на Linux. МЕня просто интересует, как перенести загрузчик на другой раздел.
Про статьи - они к темк относятся, но решения там нет.
Про команды - я их выполнял:)

Конечно, Linux можно установить на Virtual PC.

Pozhaluysta, esli ne znaete pro perenos zagruzchika - ne pishite. Mne nuzhno perenesti zagruzchik, a obshuzhdat' zachem, pochemu i t. p. ya ne sobiralsia. Pro linux - tozhe ne rasskazhu, u menia vopros ne pro Linux.
Второй вопрос - как мне перенести загрузчик с перевого раздела диска на второй, логический, чтобы можно было отформатировать первый раздел (и установить туда Linux)?

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

На данный момент у меня на первом разделе стоит Linux (загрузчик - grub)

Device Boot Start End Blocks Id System
/dev/sda1 1783 1913 1052257+ 82 Linux swap / Solaris
/dev/sda2 1914 9729 62781988+ 7 HPFS/NTFS
/dev/sda3 * 1 1782 14313883+ 83 Linux

в настройках граба я пробовал следующее:
menu.lst:

title Win2
rootnoverify (hd0,1)
savedefault
makeactive
chainloader /ntldr

title Windows
find --set-root /ntldr
chainloader /ntldr

title=Win3
rootnoverify (hd0,1)
chainloader +1

title Win21
rootnoverify (hd0,2)
savedefault
makeactive
chainloader /ntldr

title=Win31
rootnoverify (hd0,2)
chainloader +1


Но grub по-прежнему не хочет загружать ни один из пунктов меню.

либо Starting up. и мигающий курсов
либо error 15 file not found
либо error 17 cannot mount selected partition

Загрузиться с логического диска не получится, т.к только первичный раздел может быть активным.
Я сделал раздел primary и active, как мне перенести туда загрузчик с первого раздела?

Я бы сделал так:
Запустил комп - дождался меню GRUB - нажал esc и подтвердил действие - нажал c для выхода в командную строку.
( Если что не так , груб показывает на каждом этапе какие варианты возможны)
далее я бы выполнил

chainloader (hd0,0)+1
boot

chainloader (hd0,1)+1
boot

chainloader (hd0,2)+1
boot

Ничего не понятно. Сначала вы сказали что вы поставили вторую копию windows на свежеотформатированный первый раздел. Этого не может быть, потому что он только отформатирован: там ничего нет. Ну допустим вы имели ввиду что установили windows второй раз . Но потом вы добавляете в секцию boot.ini данные о windows на втором разделе. Откуда она?


P.S. Всё таки вы наверное поставили linux не туда , куда думали, потом преобразовали extended раздел. Из-за него изменилась нумерация в дисках (sda1, sda2) что ещё блее запутало ситуацию. А сейчас я впервые слышу про своп-раздел.

Исходя из этого рациональная стратегия, это во-первых - представить что где должно лежать и какие разделы быть и сначала рахобраться с ними. Потом решить что будет стоять lin, win или всё вместе. И потом уже ставить в соответсвии с намерениями.

- в первом посте написано что есть extended раздел, теперь его не видно.
Да, как я уже писал выше, я сконверировал раздел с Windows в primary. Да, бои действительно крупного масштаба:) Сейчас у меня загружается только Linux:)

Про рациональную стратегию я и сам догадывался, но теперь уже переустанавливать настроенные Win и LIn не буду.

chainloader hd0,0 0,1 0,2 сейчас попробую.

rootnoverify (hd0,0)
chainloader /ntldr
Error 17

chainloader +1
Error 13

rootnoverify (hd0,1)
chainloader /ntldr
Error 17 cannot mount selected partition

chainloader +1
nothing happens

rootnoverify (hd0,2)
chainloader /ntldr
Error 15

chainloader +1
Error 13

Попробуйте выполнить fixboot (но не fixmbr!) для раздела с windows. NTLDR и прочие должны быть там, где есть загрузочная запись. Всё таки я надеюсь это поможет. По идее просто обязано помочь.
Поскольку у вас рабочий linux, будем работать с ним, хоть и оффтопик для этого форума.
Запустите консоль.
Выполните su, введите пароль, нажмите enter
Далее
dd if=/dev/sda3 bs=512 count=16 of=/home/Mid/sda3.bootsector
chown Mid /home/Mid/sda3.bootsector
В вашем случае вместо Mid должно быть имя учётной записи.
Эта команда спишет загрузчик NTFS в файл. И ещё
dd if=/dev/sda bs=512 count=1 of=/home/Mid/harddisk.mbr
chown Mid /home/Mid/harddisk.mbr
Напомню ещё раз что регистр букв важен.
Эта команда считает MBR.
Если сами сможете, посмотрите что в этих файлах. Возможно слетела метка NTFS в boot секторе, возможно MBR корявый, вобщем там хорошо всё будет видно :)
Ну если не можете, то загрузите на хостинг и ссылки сюда.

P.S. Жёсткий диск один?

P.S. Я запутался что у вас с разделами. Скорее всего нужен /sda2 а не sda3. Короче нужен тот, где NTFS.
Разделы с linux и swap не интересны, у них всё нормально.

> P.S. Я запутался что у вас с разделами.

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


title Windows
root (hd0,1)
makeactive
chainloader +1

ntldr должен быть в корне раздела с Windows.

Да, естественно, было 2 раздела. Но когда я ставил линукс, я первый разбил на 2 части - 1 для линукса, 1- для swap.

sda2 Bootsector я посмотрел, вроде всё ок.
А MBR зачем смотреть? раз grub грузиться, значит тоже всё хорошо.

Как сейчас располагаются разделы?

Вы писали:
/dev/sda1 1783 1913 1052257+ 82 Linux swap / Solaris
/dev/sda2 1914 9729 62781988+ 7 HPFS/NTFS
/dev/sda3 * 1 1782 14313883+ 83 Linux

Но исходя из этого должно быть:
/dev/sda1 * 1 1782 14313883+ 83 Linux
/dev/sda2 1783 1913 1052257+ 82 Linux swap / Solaris
/dev/sda3 1914 9729 62781988+ 7 HPFS/NTFS

Т.е Windows нe на втором, а на третьем разделе.
Пропишите в menu.lst:

title Windows
root (hd0,2 )
makeactive
chainloader +1

У тебя всё правильно с разделами. Я посмотрел что у тебя сначала в МБР по смешению 1BEh идет своп-раздел, потом по смещению 1CEh идёт NTFS раздел, затем в 1DEh находиться root-раздел. В чётвёртой позиции всё пусто.
Просто обычно так не делается, разделы указываются в MBR по порядке расположения. А тут - хаотично.
Linux считывает разделы из МБР в порядке очереди, вот и получилась такая картина.
Однако так всё правильно, всё соответствует нормам, то это приемлемо.
Однако не это главное. В МБР указано что раздел с нтфс - активный ;) но грузится груб.

MBC явно грубовская, не от Microsoft. Видимо тот код и не смотрит кто у него активный, а кто нет. Потому что груб располгается не только в MBS но и дальше, вплоть до начала раздела. И он продолжает грузить свои куски с диска.
Так что указано в смещении 04 - хоть 00, хоть 80, хоть 160 - значения не имеет.
Но всё равно не понятно почему команда chainloader (hd0,1)+1 не помогает.
Попробуй chainloader(hd0,1)+x, где x - 2, 8, 16, или любое случайное число.
Всё таки попробуй выполнить ещё раз эту команду, но без rootnoverify, chainloader /ntldr и проч. Просто chainloader (hd0,1)+? и boot.
Я не получил ответ на вопрос один жёсткий диск или два: это часто является причиной проблем.

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

Это произошло потому, что перестало соблюдаться одно из трех условий успешной загрузки:

  • раздел, с которого выполняется загрузка, должен быть активным;
  • загрузочный сектор раздела должна быть совместим с bootmgr;
  • на активном разделе должны находиться файлы загрузки операционной системы. Для Windows 7 это файл bootmgr и хранилище данных конфигурации загрузки (BCD), находящееся в скрытой и системной папке Boot.

Рассмотрим решение проблемы на примере конфигурации, представленной на рисунке

На скриншоте "Управления дисками" видно, что диск C:, на котором установлена Windows 7, не активен. Активным является диск D:. Файлов загрузки Windows 7 (они скрытые и системные) на диске C: так же не обнаружится. Задача: перенести загрузчик с диска D: на диск C:, то есть обеспечить соблюдение вышеназванных условий.

Использование установочного диска или диска восстановления Windows 7

При наличии этих дисков перенос загрузочных файлов не составляет труда. Физически отключите "ненужный" жесткий диск, загрузитесь с диска, установив в BIOS привод CD-DVD первым загрузочным устройством, войдите в среду восстановления. После того, как закончится сканирование и поиск установленных операционных систем, выполните "Восстановление запуска". Программа восстановления подготовит нужным образом жесткий диск и скопирует на него необходимые файлы. После перезагрузки возможность загрузки будет восстановлена.

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

Перенесение файлов загрузки с использованием утилиты bcdboot.exe

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

Первый: войдите в оснастку "Управление дисками" (Win + R, в строке "Выполнить" наберите diskmgmt.msc и нажмите OK) и посмотрите, какая буква присвоена первому слева разделу диска, который планируется оставить. Именно этот раздел мы сделаем загрузочным и активным: щелкните правой кнопкой мыши по выбранному разделу и выберите пункт контекстного меню "Сделать раздел активным". Учтите, что этот раздел должен иметь атрибут "основной".

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

где X - номер диска, который предполагается оставить, в списке дисков (команда list disk).

Для этого понадобится утилита bootsect.exe, которую, при отсутствии установочного диска, можно взять здесь. Заранее скачайте и распакуйте ее, например, в корневой каталог раздела C:.

примечание: опыт показывает, при наличии в конфигурации 2-х и более HDD ключ /force необходим.

- ключ /l - выбор языковых параметров менеджера загрузки. Если ваша система не русскоязычная, используйте другие значения этого ключа, например, для английского языка - en-Us, для немецкого - de-DE, и т.д.

- ключ /s - определяет букву тома, назначенную целевому системному разделу, в который копируются файлы среды загрузки. Это раздел, который мы сделали активным. Так как микропрограмма команды по умолчанию использует текущий системный раздел (до извлечения жесткого диска - это раздел D:), применение этого ключа с буквой предполагаемого загрузочного раздела - обязательно!

  1. Делаем диск активным. Есть два способа сделать нужный раздел активным.
  2. Перезаписываем загрузочный сектор (делаем его совместимым с bootmgr):
  3. Переносим BCD и файл bootmgr на новый активный раздел:

Проверяем и редактируем BCD

По результатам выполнения команды проверьте параметры (подчеркнуты на скриншоте):

  • в секции "Диспетчер загрузки Windows" параметр device должен быть равен букве нового активного раздела, в нашем случае - C:.
  • в секции "Загрузка Windows" параметры device и osdevice должны быть равны букве раздела, на котором сейчас расположены каталоги Windows. В нашем случае, это тоже C:.
  • в случае несоответствия внесите необходимые изменения с помощью команд:

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

Таким образом, перенесение файлов загрузки на другой диск - не такая сложная задача.

Вместо заключения, или "Русскоязычное меню мультизагрузки"

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

Выполнить ее нужно уже после перенесения файлов загрузки в новый раздел.

Статья опубликована в рамках конкурса "Наш выбор - Windows 7!". Оригинальный стиль автора сохранен.


Скажите, как правильно произвести восстановление загрузчика Windows XP , у меня было установлено две операционные системы и менеджер загрузки Acronis OS Selector. Одну систему и Acronis я удалил, теперь у меня проблемы, сначала в начальной фазе загрузки появлялась надпись Bootmgr is missing, применил команды Fixmbr и FixBOOT в консоли восстановления, теперь выходит другая ошибка NTLDR is missing. Убил два дня на изучение этой консоли, но Win XP так и не грузится, что я неправильно сделал? DRIVE.

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

  1. Рассматриваем возможные причины повреждения загрузчика Windows XP, проверяем настройки BIOS в пункте Boot Device Priority.
  2. Применение команд Fixmbr и FixBOOT в консоли восстановления.
  3. Копирование файлов boot.ini, NTDETECT.COM, ntldr с установочного диска Windows XP в консоли восстановления и успешная загрузка.
  4. Если после прочтения статьи вы так и не сможете восстановить загрузку Windows XP, тогда читаем другую нашу статью "Восстановление системы через меню установки Windows XP или Восстановление поврежденной копии Windows XP"

Кстати не всегда при подобных проблемах нужно проводить восстановление загрузчика Win dows XP , давайте рассмотрим некоторые причины возникновения этой ошибки, с которыми сталкивался лично я. Первое самое простое, при наличии нескольких жёстких дисков в системе, нарушились настройки Bios, а именно например в AMI Bios, во вкладке BOOT, пункт Boot Device Priority, далее Hard Disk Drives, в качестве винчестера с которого нужно производить загрузку выставлен совсем не тот, который нужен. Устранение данной неисправности и причины её возникновения хорошо описаны в нашей статье Bootmgr is missing в Windows 7.


Если был пароль вводим его, если нет нажимаем Enter .

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

Читайте также: