Windows 2000 の Service Pack 2 以前、および初期の Windows XP は、28 ビット LBA (28 ビットでハードディスクのセクタを指定する) を採用しているため 137 GB が限界となる。
これは、137 GB を超える領域は認識 (アクセス) できないということであり、大容量のハードディスクであっても 137 GB より手前の領域なら、インストールやアクセスは可能である。
Big LBA と呼ばれる 48 ビット LBA は Windows 2000 の Service Pack 3 以降、および Windows XP の Service Pack 1 以降からサポートされるようになった。
ここでは 48 ビット LBA 未対応の Windows を、137 GB 以上のハードディスクにインストールする方法を探る。
トリプルブートが目的なので、例として 250 GB のハードディスクに、3 つの OS をインストールすることを目指す。
それぞれの OS へのディスク容量の割り当ては次のようにする。
Windows XP | 120 GB |
Windows 2000 server | 70 GB |
Linux ES 3 | 60 GB |
以下では 48 ビット LBA 未対応の 2 つの Windows (XP, 2000 server) を、250 GB のハードディスクにインストールする。
ここで問題としている OS のインストーラは 137 GB 以降のハードディスク領域を認識しないが、インストール後に適切な Service Pack を当てた OS であれば 137 GB を超える領域を認識できるようになる。
したがって 137 GB の壁を回避するには、137 GB 以前の領域にインストールした後でパーティションの操作を行うことになる。
Service Pack 適用済みの Windows を、Partition Wizard を使って 250 GB のハードディスクに展開する方法は色々考えられるが、ここでは比較的簡単な方法を試みる。
用意するのは目的とする 250 GB のハードディスク 1 台 (
Ⅵ.3.ハードディスク1 台による回避手順) で可能だが、ハードディスクを 2 台使う方法 (
Ⅵ.4.ハードディスク 2 台による回避手順) も検証する。
ハードディスクを 2 台使うと、MBR の編集をしないで済む。
パーティションのコピー、移動、リサイズといった操作に、フリーウェアの Partition Wizard Home Edition を使う。
Partition Wizard Home Edition は
こちらのサイトにアクセスし、[ Download ] ボタンをクリックしてダウンロードしておく。
あらかじめ次の Service Pack を用意しておく。
- Windows XP Service Pack 2
- Windows XP Service Pack 3
- Windows 2000 Service Pack 4
ハードディスクに 2 つ目の Windows をインストールする際の MBR 編集に用いる。
250 GB のハードディスク 1 台に 2 つの Windows をインストールし、Service Pack 適用後に Partition Wizard を用いてパーティション サイズを大きくする。
- 用意したハードディスクをセットし、Windows XP のインストーラを起動する。
- 未使用領域に 10 GB の新規パーティションを作成し、NTFS でフォーマットする。
- 新規パーティションに Windows XP をインストールする。
- Service Pack 2 を適用する。
- ついでに Service Pack 3 も適用する。
- Partition Wizard Home Edition をインストールする。
- dskprobe を導入 (コピー) する。
- MBR のパーティション テーブルを編集する。
- dskprobe を起動し PhysicalDrive0 を READWRITE で open する。
- アクティブ フラグを 0x00、パーティション タイプを 0x83 に変更する。
- 変更データを MBR に書き戻す。
- シャットダウンまたは再起動する。
- Windows 2000 server のインストーラを起動する。
- 未使用領域に 10 GB の新規パーティションを作成し、NTFS でフォーマットする。
- 新規パーティションに Windows 2000 server をインストールする。
- Service Pack 4 を適用する。
- レジストリを編集し、48 ビット LBA のサポートを有効にする。
- レジストリ エディタ (regedit) を起動する。
- 次のキーを開く。
- レジストリの値を次の内容で追加する。
値の名前 | EnableBigLba |
データ型 | DWORD 値 |
値のデータ | 0x1 |
- レジストリ エディタ (regedit) を終了し、PC を再起動する。
- dskprobe を導入 (コピー) する。
- MBR のパーティション テーブルを再編集する。
- dskprobe を起動し PhysicalDrive0 を READWRITE で open する。
- パーティション 1 のアクティブ フラグを 0x80、パーティション タイプを 0x07 に戻す。
- パーティション 2 のアクティブ フラグを 0x00 に変更する。
- 変更データを MBR に書き戻す。
- シャットダウンまたは再起動する。
10 GB のサイズでインストールした 2 つの Windows を、それぞれ 120 GB と 70 GB に拡大する。
しかしパーティション 1 (XP) の直後にパーティション 2 (2000) が続いているので、このままではパーティション 1 を拡大する余地がない。
パーティション 1 を拡大可能とするには、拡大する大きさの空き領域をパーティション 1 の後方に確保する必要がある。
そこでパーティション 2 を後方に移動 (同時に拡大) し、空けた領域を利用してパーティション 1 を拡大する。
- Windows XP を起動する。
- Partition Wizard を起動する。
- パーティション 2 (Windows 2000 server) を選択し、[Move/Resize] をクリック。

- 左端にあるパーティション 2 のイメージをドラッグ、または直接数値を入力して [Unallocate Space Before] 欄を 110000 (11GB) にする。

- [Partition Size] 欄に 70000 (70 GB) を入力して [OK] をクリック。

- パーティション 1 と 2 の間に確保した空き領域と、パーティション 2 (2000) のサイズ拡大を確認して [Apply] をクリック。

確認入力 (下図) で [YES] をクリックするとパーティションの移動と拡大が始まる (右図)。

- 終了時のメッセージでは [OK] をクリックする。

- パーティション 1 (Windows XP) を選択し、[Move/Resize] をクリック。

- パーティション イメージの右枠を右端 ([Unallocate Space After] の値が 0 になる) までドラッグして [OK] をクリック。

- パーティション 1 のサイズ拡大と、パーティション 1, 2 間の空き領域が無くなったことを確認して [Apply] をクリック。

確認入力 (下図) で [YES] をクリックするとパーティションの拡大が始まる (右図)。

- 終了時のメッセージでは [OK] をクリックする。

- Partition Wizard を終了する。
前項までの作業で 2 つの Windows の boot.ini およびパーティション タイプは Linux ES3 をインストールできる状況まで終了している。
引き続き
Ⅳ.2.Linux ES3 のインストール 以降を実施すればトリプル ブートは完成する。