20050405 XPhomeSp2を新しいHDに移行
シリアルATAの新しいハードディスクを買ったので、XPhomeを新規に
インストールせずに、パーティションごと移動できないものかと考えました。
で、knoppixで起動し、移行先のHDのパーティションをptpartedで設定、今度は
BartPEで起動し、xcopyで中身を移動することにしました。
参考ページ
システムのバックアップ(1)-XCOPY
しかし、移行先のHDから起動してもうまくいきません。色々試したのですが、 どうしても起動の途中で止まってしまいます。
色々検索してみた結果、どうやらXpは新しいドライブが接続されるとそのドライブの
MBRに独自の署名(シグネチャ)を行い、その番号によってドライブを区別している
ようなのです。ドライブ文字(ドライブレター)も固定されてしまうようです。
なので、移行先のドライブを接続した状態で移行元のXPを起動した場合、移行先のドライブに
署名をして、しかもドライブ文字を固定してしまうため、Cドライブにインストール
していたXPを新しいドライブにそのままコピーして移行先のドライブから起動しても、
Cドライブにはならないということなのでしょう。XPはドライブ文字だけでなく
ログオンの場所までレジストリに記憶しているので、起動はしてもログオンできずに
とまってしまうということです。私の場合修復インストールやら新規インストールやら
色々やってしまったので、いつの間にかドライブに署名が行われてしまったのでしょう。
(コピー直後にそのまま回復コンソールでfixmbrと
fixbootをやっていればよかったようなのですが、homeは回復コンソールは
ノンパスワードで入れるのを知らなかった)
つまりドライブの署名をリセットできればいいんじゃねえか、と思ったのですが、 なんせシリアルATA接続のドライブなので起動ディスクによるfdisk/mbrができません。 回復コンソールのfixmbrもmbrは修復してもドライブ署名までは消してくれないようです。
なんとかドライブ署名を消すツールがないものか、と探し回ったあげく、
NTSigSetというソフトを発見しました。
ファイルのコピーをしてから 移行元のxpを起動して移行先のドライブの署名をこれでリセットし、すぐに終了して 移行元のドライブをはずして移行先のドライブで起動し、無事にログオンまで こぎつけることができました。
ようするに移行先のドライブをつないだままで移行元のxpを起動しなければいいので、
qtpartedでパーティション設定→BartPEで起動してxcopy→新しく買ったHDはmbrになにも
書き込まれていないので回復コンソールでfixmbr,fixboot。
次回からはこうしよう、、、。