OS/2 を使用しているなら、DOS はインストールされているでしょう。(こ の HOWTO での例は DOS もインストールされています)。パーティションテー ブルはだいたい次のようなものになっているでしょう。
Device Boot Begin Start End Blocks Id System
/dev/hda1 1 1 254 512032+ 6 DOS 16-bit >=32M
/dev/hda2 256 256 786 1070496 5 Extended
/dev/hda3 * 255 255 255 2016 a OS/2 Boot Manager
/dev/hda5 * 256 256 509 512032+ 7 OS/2 HPFS
/dev/hda6 * 510 510 763 512032+ 83 Linux native
/dev/hda7 * 764 764 786 46336+ 82 Linux swap
ここで、hda1
は DOS、hda3 はブートマネジャ、hda5
は
OS/2(ブート可能)、hda6
は Linux (ブート可能) 区画です。OS/2 区画が
HPFS ではなく FAT でもかまいません。その場合もこの解説は適用出来ます。
また、OS/2 ブートマネジャは /dev/hda
のどこかになければなりませんが、
OS/2 とLinux は /dev/hdb
、hdc
、あるいは IDE ハードディスク
上にあればいいです( OS/2 ブートマネジャは 2つ目のディスクから OS2 を起動
出来ますから、Linux も2つ目のディスクから問題なく起動出来るはずです。
私は2つ目のディスクから起動するために DOS を使うことは出来ませんでしたが)。
さて、これから Linux をインストールします。OS/2 の FDISK を使って、 DOS と OS2 (必要なら拡張区画も) 区画を作成し、それから Linux の fdisk で Linux 区画を作成するのが一番いいでしょう。 OS/2 は時々パーティショ ンテーブルが壊れていると判断して、OS/2 のブートマネジャメニューにあ とで Linux を追加させてくれないという報告があります。その場合は、 OS/2 FDISK で必要なすべての区画を作成してから、あとで Linux の fdisk を使って区画を適切な ID に変更したらいいでしょう。区画の ID の変更に ついての詳細は fdisk の文書を見てください。 (bubeck@informatik.uni-tuebingen.de (Till Bubeck). に感謝します。)
Linux のインストールプログラムは、LILO のインストールについて質問 してくるはずです。Slackware プログラムはそうします。LILO をインストー ルするようにします (OS/2 のブートマネジャは、Linux のファイルシステム のフォーマットを認識出来ないので、Linux を直接的には起動できません。 また、LILO を加えることで、 Linux の違ったバージョンを選択出来るよう になります。また、起動パラメータを与えることで、Linux はすべてのハー ドウエアやその他のものを認識出来るようになります)。
Slackware は LILO をどこにインストールするかを尋ねます。 たとえば、
SuperBlock (パーテョションテーブル、マスターブートレコード MBR など)
や、Linux 区画にあるブートセクタなどです。SuperBlock にあるブートマ
ネジャがマスターのブートマネジャになります。これを OS/2 のブートマネ
ジャにしたいのですから、 LILO ( Linux のブートマネジャ)は Linux 区画
のブートセクタにインストールする必要があります。上述のパーティション
テーブルの例では、 /dev/hda6
になります。( /dev/hda
ではありません。/dev/hda
は MBR で、 そこには OS/2 の
ブートマネジャがあります。)
Linux のインストールを終えます。インストールの過程で、/sbin/lilo
が起動しなかったなら、/sbin/lilo
を起動します。もしかしたら LILO の
コンフィギュレーションファイルである /etc/lilo.conf
を自分で作成しな
いといけないかもしれません。ハードドライブ上で Linux カーネル(オペレー
ティングシステムそのもの)がどこにあるかを LILO に教えてやらないとい
けません。単純なものとしては以下のようになります。
boot = /dev/hda6
delay = 50
vga = normal
ramdisk = 0
image = /vmlinuz
root = /dev/hda6
label = linux
read-only
boot の行には、 LILO がどの区画にインストールされているかを明記します。
これは /dev/hda
(あるいは hdb
)ではなく、
/dev/hdax*
になります。
訳注 * : boot=/dev/hdax としておけば、LILO は /dev/hdax のブートセク タに書かれる。
さて、Linux をインストールし、動作させる準備が出来ました。しかし、 再起動しても Linux を起動することはできません。OS/2 ブートマネジャに Linux を教えてやらないといけません。再起動し、そして、OS/2 ブートマ ネジャメニューから OS/2 を選択します。(ブートマネジャのかわりに、 LILO プロンプトが起動してしまうなら、3.5節 を読んでください。)
OS/2 を起動し、FDISK を実行します。Linux 区画に移動します( Type 83 とリストされている部分。OS/2 は Linux 区画を認識することが出来ません)。 エンターキーを入力し、"ブートマネジャメニューに加える" をメニューか ら選択します。たとえば Linux のような適当な名前を書き込み、F3 キーを 入力して、セーブし、終了します。
再起動すると、OS/2 ブートマネジャメニューには Linux という項目が入 るでしょう。それを選択すれば、5秒後に LILO が出るはずです。それから Linux が起動します。そうなればもうすべて完了していますから、あとはど うぞお楽しみください。
再起動した時に、OS/2 ブートマネジャより先にLILO が起動してしまうな
ら、あるひとつの区画(たとえば /dev/hda6
など) ではなく、
superblock(/dev/hda) に LILO をインストールしてしまったのでしょう。
これを修正するのは、それほど難しいことではありません。OS/2 インストー
ルフロッピーから起動させ、コマンドプロンプトに入ります。FDISK を起動
し、セーブし、抜けます。再起動すれば OS/2 ブートマネジャはもとに戻る
はずです。しかし、今度は Linux を起動できなくなります。Linux のブー
トディスクとルートディスクを使って、Linux 区画をマウントします。ディ
スクからの起動が完了したら、
mount /dev/hda6 /mnt
と入力します。
使用している Linux 配布物にもよりますが、ログインしてしまえば、ルー トフロッピーのかわりにハードディスクをマウント出来ます。Slackwareで は、LILO プロンプト がでた時に次のように入力すると、
mount root=/dev/hda6
ブートディスクから起動したのと同じほど早くマウント出来るでしょう。
さて、LILO config を編集します(上述のどの方法で起動したかによりま
すが、ログインしてマウントしたなら /mnt/etc/lilo.conf
、
LILOプロンプトでマウントしたなら /etc/lilo.conf
になります)。"
boot =
" の行を /dev/hda
から /dev/hda6
(あるいは他のいずれか) に変更します。そして
/mnt/sbin/lilo -C /mnt/etc/lilo.conf
あるいは
/sbin/lilo
として lilo を実行します。
どちらになるかは、使った方法のいずれかによります。もう一度再起動する
と、OS/2 ブートマネジャが戻ってきます。3.4節の"OS/2 ブートマネジャメ
ニューに Linux を追加する"を見てください。
起動する間の数秒を節約したいなら、/etc/lilo.conf
にある 50 のかわ
りに、 "delay = 0
" とします。 delay
を使うことで、
他のオペレーティングシステムを選択出来るようになりますが、
OS/2 ブートマネジャを使うならその必要ないでしょう。
(しかし、LILO を使えば、違った Linux カーネルの起動を選択出来る
ようになります)。
実際には、ブートマネジャメニューから Linux を選択した直後に shift キーを押していれば、 LILO プロンプトが現れます。LILO は非常に早くロー ドしますから、実際にやるのは難しいです。