Я имел несчастье нужно клонировать двойной загрузки Windows XP/7 окно, чтобы заменить его жесткий диск с меньшим. У меня были большие проблемы с загрузкой, и я хотел бы понять, что происходит, и если бы я мог сделать что-нибудь лучше.
Background: машина имеет диск 750 Гб с 3 разделами на нем:
- Windows XP
- Windows 7
- Data
первоначальная установка была сделана в таких способ, что нет отдельного раздела восстановления Windows 7. Надеюсь, этот факт несколько упрощает ситуацию.
я заменяю его на диск 80 ГБ. Разделы уже были сжаты из Windows 7, чтобы они поместились на меньший диск.
Я GParted
(от PartedMagic
Linux LiveCD) для копирования разделов. Я отмечаю раздел Windows XP как активный раздел (такой же, как на исходном диске).
Я не смог использовать CloneZilla
или сделайте всю копию диска из-за перехода от большего к меньшему диску.
после копирования разделов, я вручную скопировал загрузчик на (не копия таблицы разделов):
$ dd if=/dev/sda of=/dev/sdb bs=446 count=1
Я удалил исходный диск, установил новый, чтобы он физически был подключен так же, как и исходный (IDE channel 1 master), и попытался загрузиться. Это успешно представил меню загрузки, но не при выборе любой из вариантов (есть два: один для 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. Мне нужно сделать больше тестирования, потому что, похоже, есть другие различия между двумя BCDs, но внесение вышеуказанных изменений по крайней мере позволило выполнить загрузку.
Итак, мой вопрос в том, чтобы спросить, почему BCD на клонированном разделе будет отличаться от оригинала и достаточно, чтобы предотвратить загрузку ?
и вслед за этим можно было бы спросить, должен ли я делать это по-другому?