У меня было несчастье, когда мне нужно было клонировать Windows XP/7 с двойной загрузкой, чтобы заменить его жесткий диск меньшим. У меня были большие проблемы с загрузкой, и я хотел бы понять, что происходит, и могу ли я сделать что-то лучше.
Справочная информация: на машине установлен накопитель на 750 Гб с 3 разделами:
- Windows XP
- Windows 7
- Данные
Первоначальная установка была сделана таким образом, что нет отдельного раздела восстановления Windows 7. Я надеюсь, что этот факт несколько упрощает вещи.
Я заменяю его на диск 80 Гб. Разделы уже были сокращены в Windows 7, чтобы они помещались на меньший диск.
Я использовал GParted
(из PartedMagic
Linux LiveCD) для копирования разделов. Я отмечаю раздел Windows XP как активный раздел (такой же, как на исходном диске).
Я не смог использовать CloneZilla
или сделать полную копию диска из-за перехода с большего на меньший диск.
После копирования разделов я вручную скопировал загрузчик (стараясь не копировать таблицу разделов):
$ dd if=/dev/sda of=/dev/sdb bs=446 count=1
Я удалил исходный диск, установил новый, чтобы он был физически подключен так же, как и исходный (ведущий IDE-канал 1), и попытался загрузиться. Это успешно представило меню загрузки, но не смогло выбрать любую из этих опций (их две: одна для XP и одна для Win7).
Я провел немало исследований, которые позволили мне понять, что данные конфигурации загрузки Windows 7 не содержат всего, что должно. Я сравнил вывод BCD с оригинального и нового дисков и отметил, что записи устройства на последних были unknown
. Поэтому я вручную изменил их, чтобы они соответствовали оригиналу - вот так:
$ bcdedit /set {ntldr} device partition=C:
$ bcdedit /set {default} device partition=D:
$ bcdedit /set {default} osdevice partition=D:
и перезагрузился. На этот раз я мог загрузить как XP, так и Win7. Мне нужно провести больше тестов, потому что между двумя BCD, похоже, есть и другие различия, но внесение вышеуказанных изменений, по крайней мере, позволило загрузке произойти.
Поэтому мой вопрос на самом деле состоит в том, чтобы спросить, почему BCD на клонированном разделе выглядит иначе, чем оригинал, и настолько, чтобы предотвратить загрузку?
И последующим шагом было бы спросить, должен ли я делать это по-другому?