Linux + OS/2 (+DOS) mini-HOWTO Hamish Moffatt, v0.2, May 20 1996 中谷千絵, v0.2j, June 21 1996 Linux と OS/2 と DOS を同時に使う方法 注意: この文書はかなり以前に書かれたものなので、いまどきの Linux 環境 にはあてはまらない箇所があります。 (JF Project) 0. 免責事項 この HOWTO では、ご使用のコンピュータのブートローダを変更するような作 業をします。説明に間違いがあれば、途中で Linux や OS/2 あるいは DOS の いずれかが起動出来なくなるかもしれません。また場合によって全く起動出来 なくなるかもしれません。作業を始める前に、手もとに Linux のブートディ スクとルートディスク、OS/2 インストールディスク DISK 1 、そして DOS の セットアップディスクがあることを確かめておきましょう。著者はこの文書で 指示したことで起こるどんな事故にも責任を持てません。何が起こっても保証 は出来ません。 1. はじめに 私が最初に Linux に関心を持ったのは 95 年 8 月頃です。その当時、 OS/2 ブートマネジャと Linux が共存出来るはずなのに、うまく動作しないと言わ れていました。実際には私が新品の PC に、OS/2 と Linux を共存させてイン ストールした時、それはちゃんと動作しそれほど難しいことではありませんで した。この mini-HOWTO はこれら2つを共存させて使用するための助けとなる はずです。 NOTE: この文書中で、私は、OS/2 ブートマネジャから Linux を起動する ( LILO を経由で)方法について説明します。LILO ( Linux のローダであり、 ブートマネジャ) から OS/2 を起動する方法については、あとの節で簡単に説 明します。 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 と入力する。 3. インストールの手順 3.1. 準備確認 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 を使うことは出来ませんでしたが)。 3.2. Linux をインストールする さて、これから 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 はすべてのハードウエ アやその他のものを認識出来るようになります)。 3.3. LILO をインストールする 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 のブートセクタ に書かれる。 3.4. OS/2 のブートマネジャメニューに Linux を追加する さて、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 が起動します。そうなればもうすべて完了していますから、あとはどうぞお楽 しみください。 3.5. 再起動した時に、OS/2 ブートマネジャではなく LILO が起動する時 再起動した時に、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 を追加する"を見てください。 3.6. 拡張オプション 起動する間の数秒を節約したいなら、/etc/lilo.conf にある 50 のかわり に、 "delay = 0" とします。 delay を使うことで、他のオペレーティングシ ステムを選択出来るようになりますが、 OS/2 ブートマネジャを使うならその 必要ないでしょう。 (しかし、LILO を使えば、違った Linux カーネルの起動 を選択出来るようになります)。 実際には、ブートマネジャメニューから Linux を選択した直後に shift キー を押していれば、 LILO プロンプトが現れます。LILO は非常に早くロードし ますから、実際にやるのは難しいです。 4. OS/2 ではなく、すでに Linux をインストールしている場合 4.1. OS/2 をインストールする すでに 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 を起動するすべ ての準備が整ったはずです。 4.2. トラブルシューティング ブートマネジャメニューから Linux を選択した時、システムディスクがな い、あるいはディスクエラー等のオペレーティングシステムエラーが表示され るなら、たぶん Linux 区画のブートセクタに LILO をインストールしていな いのでしょう。4.1 節で書いたように、lilo.conf ファイルを編集するため に、Linux のブートディスク(ルートディスクも必要かもしれませんが)を使 い、/sbin/lilo を起動します。( 3.5節でフロッピーから Linux を起動する 方法と、ハードドライブ上の Linux 区画にアクセスする方法についての情報 があります。 再起動した時、 OS/2 ブートマネジャではなく LILO が出るなら、ブートマネ ジャが適切にインストールされなかったのでしょう。再度、OS/2 インストー ルディスクで起動し、F3 キーで、コマンドプロンプトから抜けて、 FDISK を 起動します。ブートマネジャがちゃんとインストールされているのを確認し、 ブートマネジャ区画を起動可能にします。 5. すでに OS/2 と Linux をインストールしている場合 LILO ( Linux のブートマネジャとローダ)と OS/2 ブートマネジャはいずれも システムのマスターブートマネジャのようなものです。どちらのインストール もデフォルトの状態で行ったなら、今のところ、これら2つのうちのひとつを 起動できないでしょう(最初にインストールされたひとつは起動可能になりま せん)。OS/2 ブートマネジャはマスターブートマネジャになれますが、LILO は Linux を起動することが目的であれば場所を変えることが出来ます。 5.1. OS/2 は起動できるが、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.2. Linux は起動出来るが、OS/2 が起動出来ない場合 5.1 節を見てください。Linux は、ハードドライブから普通に起動するでしょ う。OS/2 を起動するには、OS/2 のインストールディスクを使います。そし て、F3 キーで、コマンドプロンプトを抜けて、FDISK を実行します。 6. LILO から OS/2 を起動するには... 理論的には、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 がそ れに当たります)。 うまく出来たらどうぞ私に教えてください。 7. おわりに ご意見、提案、質問(最新の報告について)を聞かせてください。 moffatt@yallara.cs.rmit.edu.au この mini-HOWTO の最新版は以下のところにあります。 http://yallara.cs.rmit.edu.au/ moffatt/linux-os2/ 7.1. 日本語訳について 日本語訳は Linux-JF プロジェクトの多くの方々にサポート頂きました。あり がとうございます。 訳:中谷千絵 jeanne@mbox.kyoto-inet.or.jp June 21,1996