Windows 2000/XP/2003を別パーティションに移動/コピーする

 すでにインストール済みのWindows 2000/XP/2003を別のパーティションに移動したい場合、あるいは、同じWindows 2000/XP/2003を別パーティションにコピーして、起動時に切り替えたい場合に、単純にWindows 2000/XP/2003のパーティションの中身をまるごと移動あるいはコピーしても、異動先のあるいはコピー先のWindows 2000/XP/2003がまともに動作しません。
 その理由は、Windows 2000/XP/2003では、自身がインストールされている(=ログオン先)のドライブおよびパーティションをレジストリに記憶しており、起動時にはそのレジストリを参照してログオン先を決めているからです。そのため、移動先あるいはコピー先のパーティションがレジストリに記憶したパーティションと異なるため、異動先あるいはコピー先のパーティションではなく、移動元あるいはコピー元のパーティションにログオンしようとします。このとき、移動元/コピー元パーティションが残っていれば、移動先/コピー先パーティションから起動して移動元/コピー元のパーティションにログオンするといったおかしな動作になってしまいます。また、移動元/コピー元のパーティションが残っていないと、ログオン先が見つからず、強制的にログオフします。
 このような現象を回避する方法としては、移動/コピー前に、移動/コピー後のパーティション構成と同じレジストリ内容になるようにパーティション構成を変更しておいて、その後に移動/コピーを行うようにすればうまくいきます。レジストリでは、ドライブをMBR中の署名により識別し、パーティションをそのドライブのパーティション番号で識別しています。ここでは、同じドライブ内での移動/コピーを取り上げますので、ドライブの識別については考慮する必要はありません。したがって、あらかじめ移動/コピー後のパーティション番号と同じパーティション番号になるように、他のパーティションを削除あるいは作成して、それをレジストリに記憶させておいてから移動/コピーを行うようにすればよいことになります。

 具体的な例を次に示します。

移動の例
パーテーション1:基本パーテーション FAT32 4GB(Windows 98をインストール)
パーテーション2:基本パーテーション FAT32 4GB 空き
パーテーション3:基本パーテーション FAT32 4GB(Windows 2000をインストール)
パーテーション4:論理パーテーション FAT32 3.5GB
パーテーション5:論理パーテーション FAT32 3.5GB
ここでパーティション1のWindows 98とパーティション3のWindows 2000はMBMなどのOSセレクタツールを用いて選択起動しているとします。
この状態で、パーティション3のWindows 2000をパーティション2に移動する場合を説明します。

1) パーティション3のWindows 2000上でパーティション2を削除します。

2) パーティション3の「Boot.ini」のWindows 2000パーティションの記述を、multi(0)disk(0)rdisk(0)partition(3) からmulti(0)disk(0)rdisk(0)partition(2) に変更します。

3) フリーソフトの「MBM」あるいは市販ソフトのPartitionMagicなどのツールを使ってパーティション2を元の場所に再度作成します(パーティション3のWindows 2000から作成してはいけません)。

4) Windows 98でパーティション3の内容をまるごとパーティション2にコピーします(PartitionMagicのパーティションコピー機能を使えば3)と4)を同時に行うことができます)。

5) Windows 98の「FDISK」でパーティション3を削除します。

 これでパーティション2のWin2000を起動すると、問題なく起動/ログオンできます。つまり、パーティション3のWindows 2000をパーティション2に移動して正常に動作させるためには、あらかじめパーティション2が存在しない状態をWindows 2000に記憶させておくことと、移動後にパーティション3を削除することがポイントになります。

コピーの例
(移動の例と同様のパーティション構成)
パーテーション1:基本パーテーション FAT32 4GB(Windows 98をインストール)
パーテーション2:基本パーテーション FAT32 4GB 空き
パーテーション3:基本パーテーション FAT32 4GB(Windows 2000をインストール)
パーテーション4:論理パーテーション FAT32 3.5GB
パーテーション5:論理パーテーション FAT32 3.5GB
ここでパーティション1のWindows 98とパーティション3のWindows 2000はMBMなどのOSセレクタツールを用いて選択起動しているとします。
この状態で、パーティション3のWindows 2000をパーティション2にコピーする場合を説明します。

1) パーティション3のWindows 2000をバックアップします。これには専用のバックアップツールを使ってもよいですが、Windows 98でパーティション3の内容をまるごとパーティション4あるいはパーティション5にコピーすることもできます。

2) 移動の例の手順1) から5) 行います。

3) パーティション2のWindows 2000を起動して、パーティション3を同じ場所に再度作成します。

4) バックアップしておいたWindows 2000をパーティション3にリストアします。
 これで、パーティション2およびパーティション3のWindows 2000が共に正常に動作するようになります。