Saya mengalami kemalangan untuk perlu mengkloning kotak Windows XP / 7 dual-boot untuk mengganti hard drive dengan yang lebih kecil. Saya mengalami kesulitan besar untuk mem-boot dan ingin memahami apa yang terjadi dan jika saya bisa melakukan sesuatu yang lebih baik.
Latar Belakang: mesin ini memiliki drive 750Gb dengan 3 partisi di atasnya:
- Windows XP
- Windows 7
- Data
Instalasi asli dilakukan sedemikian rupa sehingga tidak ada partisi pemulihan Windows 7 yang terpisah. Saya harap fakta ini agak menyederhanakan banyak hal.
Saya menggantinya dengan drive 80Gb. Partisi telah menyusut dari dalam Windows 7 sehingga mereka masuk ke disk yang lebih kecil.
Saya menggunakan GParted
(dari PartedMagic
Linux LiveCD) untuk menyalin partisi. Saya menandai partisi Windows XP sebagai partisi aktif (sama seperti pada disk asli).
Saya tidak dapat menggunakan CloneZilla
atau melakukan salinan seluruh disk karena transisi dari disk yang lebih besar ke yang lebih kecil.
Setelah menyalin partisi, saya menyalin boot loader secara manual (berhati-hatilah agar tidak menyalin tabel partisi):
$ dd if=/dev/sda of=/dev/sdb bs=446 count=1
Saya menghapus disk asli, mengatur yang baru sehingga secara fisik terhubung sama seperti aslinya (IDE saluran 1 master) dan mencoba boot. Ini berhasil menyajikan menu boot tetapi gagal saat memilih opsi (ada dua: satu untuk XP dan satu untuk Win7).
Saya melakukan sedikit riset yang membuat saya menyadari bahwa data konfigurasi boot Windows 7 tidak berisi semua yang seharusnya. Saya membandingkan output BCD dari disk asli dan baru dan mencatat bahwa entri perangkat pada yang terakhir adalah unknown
. Jadi saya mengubahnya secara manual agar sesuai dengan aslinya - seperti ini:
$ bcdedit /set {ntldr} device partition=C:
$ bcdedit /set {default} device partition=D:
$ bcdedit /set {default} osdevice partition=D:
dan reboot. Kali ini saya bisa mem-boot XP dan Win7. Saya perlu melakukan lebih banyak pengujian karena tampaknya ada perbedaan lain antara dua BCD, tetapi membuat perubahan di atas setidaknya memungkinkan booting terjadi.
Jadi pertanyaan saya adalah menanyakan mengapa BCD pada partisi yang dikloning akan tampak berbeda dari aslinya, dan cukup untuk mencegah booting?
Dan tindak lanjutnya adalah bertanya apakah saya harus melakukan ini dengan cara lain?
bcdboot
menyediakan cara yang lebih mudah untuk membuat ulang entri boot, tapi saya tidak yakin itu akan cocok dalam skenario dual-boot XP / W7.Menurut dokumentasi tidak resmi tentang internal BCD ini , partisi di toko BCD sebenarnya diidentifikasi oleh tanda tangan disk dan offset partisi. Anda menyalin tanda tangan disk (MBR byte 440-443), tetapi kemungkinan besar mengubah offset partisi ketika meletakkan partisi pada disk yang lebih kecil, karena itu BOOTMGR tidak lagi dapat menemukan partisi ini.
sumber
bcdedit
). Saya menyukai Editor Visual BCD sendiri. Jika Anda bisa masuk ke lingkungan Windows, Visual BCD membuatnya cukup mudah untuk mengatur perangkat boot. Anda dapat melakukan hal yang sama dari DVD boot dengan membuka command prompt (saya pikir itu F11 atau sesuatu) dan menggunakannya dibcdedit
sana. Saya akan merekomendasikan terhadap Perbaikan Sistem jika Anda merasa memperbaikinya secara manual, karena saya telah Perbaikan Sistem menghapus lingkungan pemulihan on-disk sebelumnya.