1 台のハードディスクに複数の Windows をインストールすることは可能で、
後からインストールする Windows のインストーラが C:\ (既存 Windows のドライブ) にある boot.ini ファイルを書き換えてマルチブート (OS の選択) を可能にする。
また、Linux のブートローダとして多く使用されている grub も複数の OS を選択・起動することが可能で、
特にハードディスクのパーティション テーブルに記述されているアクティブ フラグの制約を受けない。
さらに grub には、パーティション テーブルのデータを一部操作できるコマンドも備わっている。
これらを考え併せると、1 台のハードディスクに複数の Windows と Linux をインストールして、トリプルブートにすることは可能だろう。
ならば、それぞれの Windows を C ドライブとして起動し、他 OS がインストールされているパーティションをドライブとして認識させないことは可能だろうか。
ここでは 3 種類の OS (Windows XP, Windows 2000 server, Red Hat Linux ES3) を使って、トリプルブートの環境を作成する。
そして次の項目をその目標に据える。
- 1 台のハードディスクに 2 種類の Windows (Windows XP, Windows 2000 server) と Linux をインストールする。
- インストールは、Windows XP, Windows 2000 server, Linux ES3 の順に行う。
- OS のブートローダには次の理由から grub を使う。
- Windows (XP, 2000 server) は、それぞれを C ドライブとして起動可能にする。
- それぞれの OS は他の OS に干渉しない。 干渉されない。
※ 実験用 Linux には Red Hat Linux ES3 を使用したが、Linux 7 や Linux 9 でもインストー
ル時の様子が変わるだけで問題はない(と思う)。
3つの OS をインストールするにはハードディスク容量はそれなりに必要だが、実際に運用するわけではないので 120GB のハードディスクを 1 台使うことにした。
もし、トリプルブート環境のまま継続使用することを考えているなら、各 OS で必要としている容量を考慮してそれなりの容量のハードディスクが必要になる。
【 137 GB の壁に注意 】
Windows XP および 2000 server のインストール (リカバリ) 用 CD/DVD は、製造時期によってサービスパックの適用状況が異なり、その状況によってハードディスク容量の認識に限界 (インストーラによって表示される数値は 132 〜 137 GB) がある。
認識可能な容量を超えたハードディスクでもインストール作業は開始できるが、認識可能な範囲を超えた領域にパーティションを作成 (領域確保) しようとすると失敗する。
用意したハードディスクの容量を認識するかどうかの確認は、ハードディスクの容量を確認してからインストール作業を開始し、インストール先パーティションの選択 (パーティション サイズ入力) 時に表示されるディスク容量をチェックする。
セットしたハードディスクの容量と違っていたら正常に認識できていないので、ハードディスクの容量を 120 GB 程度に減らすしかない。
作業開始に先立って Windows XP, 2000 server 両方の確認が必要だ。
以降では、MBR (パーティション テーブル) の確認と書き換えに Windows オプションの dskprobe.exe を使う。
dskprobe.exe は Windows XP 等の Support Tools として用意されていて、簡単にインストールできる。
インストールは以下のいずれかの方法で行う。
- C:\SUPPORT\TOOLS フォルダにある SETUP.EXE をダブルクリックする。
- 再インストール用 CD 等の \SUPPORT\TOOLS フォルダにある SETUP.EXE をダブルクリックする。
- Microsoft のサイトから Windows サポートツール をダウンロードして実行する。
しまうので注意を要する。
NTDETECT.COM
bootfont.bin
もし、Windows XP の後から Windows 2000 をインストールする場合は、上書きされるファイルをコピー等で退避して
おき、Windows 2000 をインストール後に書き変わったファイルを (Windows 2000 側から) 復元する措置が必要。
(これら 3 つのファイルは、インストール CD の i386 フォルダにもある)