Shino's Bar

お家で使うLinuxtux


12 Apr 2009 (初出)

WindowsからLinuxを起動する

こんなに簡単だったとは...

1台のパソコンにWindowsとLinuxを同居させる - これだけで1冊の本が書かれているほどたいへんなことでした。 それも過去の話、いまではなんでもありません。 ...というのは最近知ったことでした。

Windowsがインストールされているところに Linuxをインストールすると、 たいていのインストーラーに任せればデュアルブート、すなわち起動のときに WindowsとLinuxを選択できる機構が組み込まれます。 しかしその後Windowsをふたたびクリーンインストールすると Linuxは起動できなくなってしまいます。

これまで Linuxのレスキューディスクを使ったりして復帰させていたのですが、 Grub4Dosを使うと簡単にWindowsからLinuxを起動できるのでした。

前提条件

  1. Windows 2000 または XPがインストールされている。 (Vistaの場合は少しだけめんどうらしい。)
  2. Windowとは別パーティション(別のディスクでもよい)に Linuxがインストールされている。
  3. かってどちらも起動できていたが、 現在Windowsは起動するがLinuxは起動しない状態。

Windowsは起動するので、 WindowsからLinuxを起動する方法があればよいわけです。 もう少し正確に言うとWindows 2000 または XP を起動する NTローダ (ntldr)が正常に動いているならば、 それから Linuxを起動させる手段を講じれば良いということになります。

手順

Windowsのシステムは ドライブCにインストールされているものとします。
  1. grldr を入手し、Windowsのシステムドライブに置く。
  2. Grub4dos のダウンロード・サイト からzipファイルをダウンロード(執筆時の最新版は grub4dos-0.4.4.zip)。 展開した中から grldr を見付け、C:\に移動。他は要らない。

    Windowsを再インストールした直後だと、果してインターネットにつながるのか、 zipファイルが展開できるのかという問題はあるのですが、 別のパソコンで grldr (220kB程度のファイル)だけ USBメモリやフロッピーで運ぶとか、 システムとは別にデータ用のパーティションがあれば、そこにあらかじめ準備しておくと良いですね。

  3. boot.ini に追記
  4. 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フォーマットからでも起動できるようになりました。

参考ページ


Shino's Bar goto [シノバー店内案内] [お家で使うLinux]