Miałem nieszczęście, że muszę sklonować podwójnie ładujący się system Windows XP / 7, aby wymienić dysk twardy na mniejszy. Miałem wielki problem z uruchomieniem go i chciałbym zrozumieć, co się dzieje i czy mógłbym zrobić coś lepszego.
Tło: maszyna ma napęd 750 GB z 3 partycjami:
- Windows XP
- System Windows 7
- Dane
Oryginalna instalacja została wykonana w taki sposób, że nie ma oddzielnej partycji odzyskiwania systemu Windows 7. Mam nadzieję, że ten fakt nieco to uprości.
Zastępuję go dyskiem 80 Gb. Partycje zostały już zmniejszone z poziomu systemu Windows 7, aby zmieściły się na mniejszym dysku.
Użyłem GParted
(z PartedMagic
Linux LiveCD) do skopiowania partycji. Zaznaczam partycję Windows XP jako partycję aktywną (taką samą jak na oryginalnym dysku).
Nie mogłem użyć CloneZilla
ani skopiować całej płyty z powodu przejścia z większego na mniejszy dysk.
Po skopiowaniu partycji ręcznie skopiowałem program ładujący (uważając, aby nie skopiować tabeli partycji):
$ dd if=/dev/sda of=/dev/sdb bs=446 count=1
Usunąłem oryginalny dysk, ustawiłem nowy tak, aby był fizycznie podłączony tak samo jak oryginalny (IDE kanał 1 master) i spróbowałem uruchomić komputer. To z powodzeniem pokazało menu rozruchu, ale nie powiodło się po wybraniu jednej z opcji (są dwie: jedna dla XP i jedna dla Win7).
Przeprowadziłem sporo badań, które pozwoliły mi stwierdzić, że dane konfiguracji rozruchu systemu Windows 7 nie zawierają wszystkiego, co powinny. Porównałem wyjście BCD z oryginalnych i nowych dysków i zauważyłem, że wpisy urządzeń na tych ostatnich były unknown
. Więc ręcznie zmieniłem je, aby pasowały do oryginału - tak:
$ bcdedit /set {ntldr} device partition=C:
$ bcdedit /set {default} device partition=D:
$ bcdedit /set {default} osdevice partition=D:
i ponownie uruchomiony. Tym razem mogłem uruchomić zarówno XP, jak i Win7. Muszę wykonać więcej testów, ponieważ wydają się istnieć inne różnice między dwoma BCD, ale wprowadzenie powyższych zmian przynajmniej pozwoliło na uruchomienie.
Tak więc moim pytaniem jest naprawdę pytanie, dlaczego BCD na sklonowanej partycji miałby wyglądać inaczej niż oryginał i wystarczająco, aby uniemożliwić uruchomienie?
I następstwem tego byłoby pytanie, czy powinienem robić to w inny sposób?
bcdboot
zapewnia łatwiejszy sposób na odtworzenie wpisu rozruchu, ale nie jestem pewien, czy byłby odpowiedni w scenariuszu podwójnego rozruchu XP / W7.