まず最初に世紀末型の窓を /dev/hda1 にインストールしました。 何故これが最初かというと他の OS を入れてから窓系 OS を入れると、 MBR(Master Boot Record)を壊してくれる(上書きする)からです。 復旧手段はあるのですが余計な手間は省きたいためです。
次に一番終端つまり OS 8用の領域に Slackware 7.0 をインストールしました。 終端にしたのは8.4GB を超えた領域の OS をブートできるか?ということをいち 早く試してみたかったからです。
ここでの注意点は、以下の通りです。Slackware 7.0 以外の Linux でも似たような ものだと思います。
続いて 3 番目の OS として Linux Mandrake 6.1JP をインストールします。 注意点は、以下の通りです。
ここで LILO のインストール先が、先にインストールした Slackware は MBR で、 後からインストールした Mandrake は /dev/hda5 となっている点に注意して 下さい。マシン起動時に選択できる OS の種類は、MBR に書き込まれた内容で決 まるのでこのままでは、Mandrake が選択できません。 そこで、Slackware 7.0 の /etc/lilo.conf を以下のように編集します。
boot = /dev/hda
message = /boot/boot_message.txt
prompt
delay = 300
vga = normal
image = /vmlinuz
root = /dev/hda9
label = slack70
read-only
other=/dev/hda1
label="win2k"
table=/dev/hda
other=/dev/hda5
label="mand61"
最後の 2 行が Mandrake を起動するために必要な部分です。上から 2行目の message = /boot/boot_message.txt という行は LILO の起動時に表示される メッセージファイルの指定です。このファイル (/boot/boot_message.txt) は 下記のような内容で新規に作成しました。
Welcome to the LILO Boot Loader!
Please enter the name of the partition you would like to boot
at the prompt below. The choices are:
slack70 - Linux Slackware 7.0 (/dev/hda9)
mand61 - Linux Mandrake 6.1 (/dev/hda5)
win2k - Windows 2000 RC2 (/dev/hda1)
この2 つのファイルを編集したら、root 権限で
# /sbin/lilo
と入力して LILO をインストールします。
マシンをリブートすると LILO が起動し、上記の OS 選択メニューが表示され
boot:
と表示されたところで、slack70, mand61, win2k のどれかを入力すると、それに
対応した OS が起動することを確認します。
lilo.conf の記述方法とか LILO のしくみについては、man lilo.conf で man
ページを見るとか参考文献をご覧下さい。
4 番目の OS として Strom Linux 2000 を入れてみました。注意点は前の 2 つと 同様なので省略します。Partition Type Selection で Custom を選択して /dev/hda6 と /dev/hda11 に割り当てます。
インストール中に、Boot Manager Configuration のところで起動する OS として /dev/hda1 (win2k), /dev/hda5 (mand61), /dev/hda9 (slack70) を指定したら
Error: There seems to be a problem with your lilo configuration.
Added storm2k *
Added win2k
Partition entry not found.
というエラーが出ました。「LILOの設定に問題がある、パーティションエントリが
見つからない」といってます。storm2k と win2k は Added となっているので良い
のですが mand61 と slack70 がまずいようです。
インストールする OS を Windows 以外は全て Linux だと仮定した場合、最終的に は各パーティションに計 7 つの /etc/lilo.conf が存在することになります。 MBR に書き込むのは、そのうちのどれか 1 つです。私はこれを Slackware に して、他の 6 個はそれぞれの Boot パーティションの先頭セクタに LILO をイン ストールするつもりでいました。
つまり、Strom Linux の LILO のインストール先も、Boot パーティションの先頭 セクタにしたいのですが、Mandrake 6.1 の時のように LILO のインストール先を 選択する場面がありません。しかたがないので、ここでは Boot Manager で選択で きるのは storm2k と win2k のみとし、mand61 と slack70 の 2 つはインストー ルが終ってから設定することにして先に進むことにしました。
インストールが終ってマシンをリブートすると、Strom Linux の派手なブート マネージャの画面が表示されました。Strom Linux の LILO が MBR にインストー ルされたようです。
そこで最初の計画を変更して、Strom Linux の /etc/lilo.conf に他の OS を追加 定義して MBR に書き込むことにしました。以下にこれを編集した内容を示します。
boot = /dev/hda
root = /dev/hda6
install = /boot/boot.b
map = /boot/map
vga = normal
timeout = 300
message = /boot/message
prompt
image = /vmlinuz
label = "storm2k"
read-only
other=/dev/hda1
label="win2k"
table=/dev/hda
other=/dev/hda5
label="mand61"
other=/dev/hda9
label="slack70"
このファイルを編集してから、
# /sbin/lilo
とすると hda9 does not have a valid boot signature というエラーが表示
されました。そこで上記の最後の 2 行の先頭に # を付けてコメントアウトした
らエラーは出なくなりました。
#other=/dev/hda9
# label="slack70"
マシンをリブートすると、ブートメニューから storm2k, win2k, mand61 を選択
してブートできます。mand61 を選択するとさらに LILO のメニューが表示され
その中から slack70 を選んでブートできます。
これで一応 4 つの OS を選択してブートできるのですが、slack70 をブートする ために LILO を 2 回も表示させるのはスマートではありません。そこで、先ず最 初に Slackware 7.0 (/dev/hda9) の /etc/lilo.conf の先頭の部分を下記のよう に編集します。
boot=/dev/hda9
元は boot=/dev/hda (つまり MBR) となっていたのを hda9 (Boot パーティション
の先頭セクタ)に変えるだけです。編集後、lilo コマンドを忘れずに実行しましょ
う。lilo.conf を編集しただけでは何も変わりません。lilo コマンドを実行して
初めて LILO がインストールされるということをしっかり覚えておきましょう。
次に、先ほど Storm Linix 2000 (/dev/hda6) の /etc/lilo.conf で、エラーが 出たときにコメントアウトしたところを元に戻します。つまり
other=/dev/hda9
label="slack70"
のように編集します。編集後の lilo コマンドを忘れずに。くどいと思うでしょ
うが、実によく忘れるのです、これが。
Added storm2k *
Added win2k
Added mand61
Added slack70
とエラー無しで表示されれば OK です。リブートすると 4 つの OS の中から選択
してブートできるようになりました。
現時点では、ここまでです。目標 8 個のうち半分の 4 つの OS しかインストール していません。しかしあとはこれまでと同じことの繰り返しだろうと思っています。
Free Solaris 7 はインストールに失敗しました。これは今回の実験に PC CHIPS 社 の M741LMRT という、グラフィックス、サウンド、モデム、LAN が全て内蔵されて いるマザーボードを使ったのですが、これに載っている SiS620 というグラフィッ クスのチップが新しいので Solaris 7 がまだ対応していなくて認識できないため ではないかと推測しています。別のパソコンでは正常にインストールできました。 なお XFree86 はバージョン 3.3.5 からこのチップに対応しています。
Free の Unixware 7.1 は、まだ試していませんがこれも同じ理由でうまくいかない かもしれません。