Windows98とWindows2000とLinuxをliloを使ってトリプルブート

First Edition 2001.9.9

3つのOSをliloでトリプルブートさせるのはインストールする順番にこつが必要です。
  1. 設定する構成例(対象:全て)(2001.9.9)
  2. インストールする順序(対象:全て)(2001.9.9)
  3. liloを設定する(対象:全て)(2001.9.9)
  4. liloをFDに書き込む(対象:全て)(2001.9.9)
  5. liloをハードディスクに書き込む(対象:全て)(2001.9.9)

設定する構成例

設定する構成例としてfdiskを使ったパーティーション情報を示します。
# fdisk /dev/hda
ディスク /dev/hda: ヘッド 240, セクタ 63, シリンダ 1559
ユニット = シリンダ数 of 15120 * 512 バイト

 デバイス ブート   始点      終点  ブロック   ID  システム
/dev/hda1   *         1       271   2048728+   b  Win95 FAT32
/dev/hda2           272       949   5125680    b  Win95 FAT32
/dev/hda3           950       952     22680   83  Linux
/dev/hda4           953      1559   4588920    5  拡張領域
/dev/hda5           953      1542   4460368+  83  Linux
/dev/hda6          1543      1559    128488+  82  Linux スワップ
  • /dev/hda1にはWindows98をインストールすることにします
  • /dev/hda2にはWindows2000をインストールすることにします
  • /dev/hda3にはLinuxの/bootをインストールすることにします
  • /dev/hda5にはLinuxの/(ルートパーティーション)をインストールすることにします
以上のような構成で、Windows98とWindows2000とLinuxをトリプルブートさせます。
Windows98、2000をインストールするときにLinux用のパーティーション領域を残すことを忘れないようにしましょう。

/dev/hdaとは、IDE接続のハードディスクのプライマリマスターという意味です。その他のドライブは以下のようになっています。

/dev/hdaIDEプライマリマスター
/dev/hdbIDEプライマリスレーブ
/dev/hdcIDEセカンダリマスター
/dev/hddIDEセカンダリスレーブ
/dev/sdaSCSI1台目
/dev/sdbSCSI2台目
/dev/sdcSCSI3台目
/dev/sddSCSI4台目

インストールする順序

3つのOSをトリプルブートさせるには、インストールする順序を注意しなければなりません。
注意するのはWindows98とWindows2000のインストールする順番です。Windows98の方を先にインストールしましょう。

インストール順番例
(例1.) Windows98→Windows2000→Linux
(例2.) Windows98→Linux→Windows2000
(例3.) Linux→Windows98→Windows2000

などがあげられます。順序の他に注意する点は以下の項目が上げられます。
  • Windows98は/dev/hda1にインストールする
  • Windows98の後にWindows2000をインストールする
  • Windows98、Windows2000、Linux共に起動ディスクを必ず作る
  • Linuxをインストールするときには、liloをMBRにインストールせずにLinuxのルートパーティーション にインストールする。

liloを設定する

Windows98、Windows2000、Linuxのインストールが終わったら、Linuxをインストールした時に作成したブートディスクでLinuxを起動しましょう。
スーパーユーザーになって、/etc/lilo.confを修正します

/etc/lilo.conf
boot=/dev/fd0
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
append="apm=on"
default=linux
image=/boot/vmlinuz-2.2.18-0vl4.2
   label=linux
   initrd=/boot/initrd-2.2.18-0vl4.2.img
   read-only
   root=/dev/hda3
other=/dev/hda1
   label=win

それでは要点を見てみましょう。
  • boot=/dev/fd0:liloを書き込む場所を指定します。ここでは、フロッピーディスクにします
  • timeout=50:起動時、LILO:のプロンプトが出ている時間を0.1秒単位で設定します。5.0秒経ったら、 linuxのラベルが付いたところを起動します
  • other=/dev/hda1:この2行を追加します。Windows2000のブートローダーのある場所を指定します。Windows98とWindows2000 のインストールする場所によって変わってきます。Windows98の後にWindows2000をインストールしたのであれば、Windows98 をインストールしたパーティーションにブートローダーがあるはずです。

liloをFDに書き込む

以上のように、Windows2000のブートローダーの場所の指定を追加したら、フォーマット済のフロッピーディスクをドライブに入れ、 以下のコマンドを実行します。
# /sbin/lilo
これを実行すると、フロッピーディスクのブートセクタにliloが書き込まれます。liloを書き換える時は、 このように、一旦フロッピーディスクで試してから、ハードディスクに書き込みましょう。
フロッピーディスクをドライブに入れたまま再起動し、liloの動作を確認します。

liloが起動したら、

Windows98を起動したいとき→win Windows2000を起動したい時→win
Linuxを起動したい時→linux

を選択してリターンします。winを選択した場合、Windows2000のブートローダーの画面になりますので、Windows98かWindows2000を選択し、もう一度 リターンします。
両方とも正常に起動するのが確認できたら、liloをハードディスクに書き込みましょう。

liloをハードディスクに書き込む

lilo.confを修正します

/etc/lilo.conf
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
append="apm=on"
default=linux
image=/boot/vmlinuz-2.2.18-0vl4.2
    label=linux
    initrd=/boot/initrd-2.2.18-0vl4.2.img
    read-only
    root=/dev/hda3
other=/dev/hda1
    label=dos

赤くなった部分をハードディスクのMBRを指定します。修正したら
# /sbin/lilo
として、liloをハードディスクのマスターブートレコードに書き込みます。
これでWindows98とWindows2000とLinuxのトリプルブートが出来るようになりました。


[HOME]
since 2001.4.22