こんなに簡単だったとは...
1台のパソコンにWindowsとLinuxを同居させる - これだけで1冊の本が書かれているほどたいへんなことでした。 それも過去の話、いまではなんでもありません。 ...というのは最近知ったことでした。
Windowsがインストールされているところに Linuxをインストールすると、 たいていのインストーラーに任せればデュアルブート、すなわち起動のときに WindowsとLinuxを選択できる機構が組み込まれます。 しかしその後Windowsをふたたびクリーンインストールすると Linuxは起動できなくなってしまいます。
これまで Linuxのレスキューディスクを使ったりして復帰させていたのですが、 Grub4Dosを使うと簡単にWindowsからLinuxを起動できるのでした。
Windowsは起動するので、 WindowsからLinuxを起動する方法があればよいわけです。 もう少し正確に言うとWindows 2000 または XP を起動する NTローダ (ntldr)が正常に動いているならば、 それから Linuxを起動させる手段を講じれば良いということになります。
Grub4dos のダウンロード・サイト からzipファイルをダウンロード(執筆時の最新版は grub4dos-0.4.4.zip)。 展開した中から grldr を見付け、C:\に移動。他は要らない。
Windowsを再インストールした直後だと、果してインターネットにつながるのか、 zipファイルが展開できるのかという問題はあるのですが、 別のパソコンで grldr (220kB程度のファイル)だけ USBメモリやフロッピーで運ぶとか、 システムとは別にデータ用のパーティションがあれば、そこにあらかじめ準備しておくと良いですね。
boot.iniはシステムファイルとして隠しファイルかつ書き込み禁止になっているので、ちょっと手間が要ります。 @IT:Windows TIP で解説されているとおり。 Windows 2000 なら Microsoft サポート オンライン、 XPでは こちらの方法 のほうが簡単かも。
追加するのは次の最後の1行です。前のほうには手を触れません。 C:の次の字は(日本の)Windowsでは¥と表示されているものです。
[boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect C:\grldr="Linux"
この2つだけです。これで再起動すると、WinodwsとLinuxの2行の選択が出てきて、 Linuxのほうを選ぶと、 あ〜ら不思議、Linuxが設定した起動メニューが現れ、たいてい無事に起動します。
Windows起動時にNTローダー(ntldr)が走り、boot.iniを参照し、最初の2行のメニューを出します。 下の行を選択されると grldr を起動します。 grldrはその設定ファイル menu.lstを見付けようとします。 C:にはそれが無いので、他のパーティションを探しに行き、 かって Linuxをインストールしたときに作られた menu.lst を発見します。
最近のLinuxはブートローダーとして Grubを使うのが一般的なので、これができてしまうわけです。 もしLinuxがGrubを使わずにインストールされていたならば、C:\menu.lstを新たに(Windows上で)作成する。 あるいは、ちょっとやっかいですが、 GrubのコンソールでLinuxを起こすということもできます。
Widowsが NTFSフォーマットだと昔の Grubではできなかった。 現在の Grub4DosはNTFSフォーマットからでも起動できるようになりました。