デュアルブートWindows XP / 7ボックスのクローンを作成してハードドライブをより小さなものに交換する必要があるという不幸がありました。起動するのに苦労しました。何が起こっているのか、もっとうまくやれるかどうかを知りたいです。
背景:マシンには、3つのパーティションを持つ750Gbドライブがあります。
- Windows XP
- Windows 7
- データ
元のインストールは、個別のWindows 7リカバリパーティションが存在しないような方法で行われました。この事実が物事をいくらか簡素化することを願っています。
80Gbドライブに交換しています。パーティションは、より小さなディスクに収まるようにWindows 7内から既に縮小されています。
私が使用GParted
(からPartedMagic
全体にパーティションをコピーするには、LinuxのLiveCDを)。Windows XPパーティションをアクティブパーティションとしてマークします(元のディスクと同じ)。
CloneZilla
大きいディスクから小さいディスクに移行したため、ディスクコピー全体を使用または実行できませんでした。
パーティションをコピーした後、ブートローダーを手動でコピーしました(パーティションテーブルをコピーしないように注意してください):
$ dd if=/dev/sda of=/dev/sdb bs=446 count=1
元のディスクを削除し、元のディスク(IDEチャネル1マスター)と同じ物理的に接続されるように新しいディスクを設定して、起動を試みました。これにより、ブートメニューは正常に表示されましたが、いずれかのオプションを選択すると失敗しました(XP用とWin7用の2つがあります)。
Windows 7のブート構成データに必要なものがすべて含まれていないことを認識できるように、かなりの研究を行いました。元のディスクと新しいディスクのBCD出力を比較し、後者のデバイスエントリがunknown
。だから私は手動で元のものに一致するように変更しました-このように:
$ bcdedit /set {ntldr} device partition=C:
$ bcdedit /set {default} device partition=D:
$ bcdedit /set {default} osdevice partition=D:
そして再起動しました。今回は、XPとWin7の両方を起動できました。2つのBCDには他の違いがあるように見えるので、さらにテストを行う必要がありますが、上記の変更を行うことで、少なくともブートを実行できました。
私の質問は、クローンパーティション上のBCDが元のパーティションとは異なるように見える理由を尋ねることです。
そして、それへのフォローアップは、私がこれを別の方法で行うべきかどうかを尋ねることでしょうか?
bcdboot
ブートエントリを再作成する簡単な方法を提供していますが、私はそれがXP / W7デュアルブートのシナリオでは適しているだろうか分かりません。