注意: この文書はかなり以前に書かれたものなので、 いまどきの Linux 環境にはあてはまらない箇所があります。 (JF Project)
0. 免責事項
この HOWTO では、ご使用のコンピュータのブートローダを変更するような
作業をします。説明に間違いがあれば、途中で Linux や OS/2 あるいは DOS
のいずれかが起動出来なくなるかもしれません。また場合によって全く起動
出来なくなるかもしれません。作業を始める前に、手もとに Linux のブー
トディスクとルートディスク、OS/2 インストールディスク DISK 1 、そし
て DOS のセットアップディスクがあることを確かめておきましょう。著者
はこの文書で指示したことで起こるどんな事故にも責任を持てません。何が
起こっても保証は出来ません。
私が最初に Linux に関心を持ったのは 95 年 8 月頃です。その当時、 OS/2 ブートマネジャと Linux が共存出来るはずなのに、うまく動作しない と言われていました。実際には私が新品の PC に、OS/2 と Linux を共存さ せてインストールした時、それはちゃんと動作しそれほど難しいことではあ りませんでした。この mini-HOWTO はこれら2つを共存させて使用するため の助けとなるはずです。
NOTE: この文書中で、私は、OS/2 ブートマネジャから Linux を起動する ( LILO を経由で)方法について説明します。LILO ( Linux のローダであり、 ブートマネジャ) から OS/2 を起動する方法については、あとの節で簡単に 説明します。
この mini-HOWTO では、システムにすでに OS2 (そしてもし望むなら DOS も) をインストールされている場合について書きます。すでに Linux をイ ンストールしている場合、あるいは OS2 と Linux の両方をすでにインストー ルしているなら、4 節、5 節を見てください。
OS2 のブートマネジャを使用するなら次のことに注意してください。同 じ区画に OS2 と DOS をインストールし(そして DOS の起動*と、 OS2 の起 動*を選択している場合)OS/2 ブートマネジャではなく二重ブートを使って います。その場合は LILO 文書、あるいは、オペレーティングシステム上で 他の OS (Linux ではない OS )を起動させるための mini-HOWTO を読んでく ださい。この HOWTO は ブートマネジャに関することだけです。
訳注*:原文は(and you switch between them with BOOT /DOSand BOOT /OS2)。 二重ブートを使っている場合、DOS から OS/2 に切り替えるにはDOS コマン ドプロンプトで c:\os2\boot /os2 と入力する。
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 は非常に早くロー ドしますから、実際にやるのは難しいです。
すでに Linux をインストールしているなら、PC を起動させた時に、LILO プロンプトが出ます。これからOS/2 をインストールするのですね。本当な ら、 Linux をインストールする前に OS/2 をインストールするほうが簡単 だったかもしれないですけれど。
Linux を起動し、/etc/lilo.conf
ファイルを編集します。"
boot =
" の行をブートドライブ /dev/hda
のかわりに、
Linux 区画の名前、たとえば、/dev/hda6
に変更します。
それからもう一度 LILO をインストールするために、/sbin/lilo
を起動
します。これで Linux 区画のブートセクタに、LILO がインストールされ、
これで OS/2 は LILO を起動出来るようになります。
さて OS/2 をインストールしましょう。OS/2 の FDISK で OS/2 区画を作 成し、きちんと OS/2 のブートマネジャをインストールしましょう。 そし て OS/2 区画(そしてDOS) を確実にブートマネジャに加えます。さらに、メ ニューに Linux 区画(OS/2 の FDISK で Type 83 )を加えるのを忘れないで ください。( エンターキーを入れて Linux 区画に入り、そして " ブートマ ネジャメニューに加える " を選択します。そして、適当な名前を入力しま す)。これで OS/2 のブートマネジャメニューから、Linux と OS/2 を起動 するすべての準備が整ったはずです。
ブートマネジャメニューから Linux を選択した時、システムディスクが
ない、あるいはディスクエラー等のオペレーティングシステムエラーが表示
されるなら、たぶん Linux 区画のブートセクタに LILO をインストールし
ていないのでしょう。4.1 節で書いたように、lilo.conf
ファイルを編集す
るために、Linux のブートディスク(ルートディスクも必要かもしれません
が)を使い、/sbin/lilo
を起動します。( 3.5節でフロッピーから Linux を
起動する方法と、ハードドライブ上の Linux 区画にアクセスする方法につ
いての情報があります。
再起動した時、 OS/2 ブートマネジャではなく LILO が出るなら、ブート マネジャが適切にインストールされなかったのでしょう。再度、OS/2 イン ストールディスクで起動し、F3 キーで、コマンドプロンプトから抜けて、 FDISK を起動します。ブートマネジャがちゃんとインストールされているの を確認し、ブートマネジャ区画を起動可能にします。
LILO ( Linux のブートマネジャとローダ)と OS/2 ブートマネジャはいず れもシステムのマスターブートマネジャのようなものです。どちらのインス トールもデフォルトの状態で行ったなら、今のところ、これら2つのうちの ひとつを起動できないでしょう(最初にインストールされたひとつは起動可 能になりません)。OS/2 ブートマネジャはマスターブートマネジャになれま すが、LILO は Linux を起動することが目的であれば場所を変えることが出 来ます。
Linux を起動しましょう(必要ならブートディスクとルートディスクを使 います。boot/root ディスクからハードディスクの Linux 区画を起動する 方法については 3.5節を見てください)。
/etc/lilo.conf
を編集し、"boot =
"の行を、
ブートドライブ(/dev/hda
ではなく)、Linux 区画
(たとえば /dev/hda6
)に変更します。/sbin/lilo
を実行します(これらの詳細は3.5節 )。
OS/2 を起動し、FDISK を実行します。Linux 区画( Tye 83 )を選択し、 ポップアップメニューから、"ブートマネジャーメニュに加える" を選びま す。これでうまくいったはずです。
再起動しても、Linux がまだリストされない場合、最後の段階できちんと それを加えたかをチェックしてください。Linux はリストされているが、そ れを選択した時、システムがないというエラー、あるいは、システムディス クエラーが表示されるなら LILO がきちんとインストールしていないのでしょ う。5.1節の手順の最初の部分を見て下さい。
5.1 節を見てください。Linux は、ハードドライブから普通に起動するで しょう。OS/2 を起動するには、OS/2 のインストールディスクを使います。 そして、F3 キーで、コマンドプロンプトを抜けて、FDISK を実行します。
理論的には、LILO は OS/2 を起動出来ます。つまり、LILO プロンプトが
出たときに、Shift キーを入れ、そして、OS2 あるいは適当なコマンドを入
力すればいいのですが。私はこれを試しているのですが、動いてくれません。
しかし、私の OS/2 は /dev/hdb6
にあり、そのことが複雑にしているから
かもしれないです。
/etc/lilo.conf
に、以下の項目を加えます(OS/2 区画が
/dev/hdb5
にある場合です)。
other = /dev/hda5
label = os2
また次の項目も加えなければなりません。
table = /dev/hda
(OS/2 が /hdb?
にあるなら hdb
になりますが) これは、
Linux がその区画をチェックするのに必要ですが、私が /sbin/lilo
を実行した時、区画を認識してくれませんでした。
OS/2 が2つ目のドライブにあるなら、loader = /boot/os2_d.b
を加えな
ければいけません。そうしないと /sbin/lilo
はきちんと動作しません(2
つ目のハードディスクからOS/2 を起動する特別なローダを必要とし、
os2_d.b
がそれに当たります)。
うまく出来たらどうぞ私に教えてください。
ご意見、提案、質問(最新の報告について)を聞かせてください。
moffatt@yallara.cs.rmit.edu.au
この mini-HOWTO の最新版は以下のところにあります。
http://yallara.cs.rmit.edu.au/ moffatt/linux-os2/
日本語訳は Linux-JF プロジェクトの多くの方々にサポート頂きました。 ありがとうございます。
訳:中谷千絵 jeanne@mbox.kyoto-inet.or.jp June 21,1996