Loadlin+Win95 mini-HOWTO Chris Fischer, v1.3.4 Revised: September 15 1997 中野 正剛, v1.3.4j, March 28 1998 Windows 95 で Loadlin を使って Linux を起動する方法 1. まえがき この文書は、Windows 95 のブートメニューと Loadlin.exe を組み合わせるこ とで、ブート時に F4 キーを押すだけで自動的に Linux に切り替え、ブート を行わせるやり方について述べたものです。ここにあげた手順は Windows 95 バージョン 4.00.950 および 4.00.950a と、Loadlin をサポートする全ての バージョンの Linux の組み合わせならうまく行くはずです。もし Loadlin で はなく LILO を使おうと思う方は、この文書ではなく、Linux+Win95 mini- HOWTO を参照してください。 この mini-HOWTO は、最初は Linux+Windows 95 Reference ページに投稿され ます。したがって、あなたのお持ちのものが最新版かどうかはそのページを チェックして確認してください。 [訳注: Linux+Windows 95 Reference の置いてあるサイトの URL は、 です。なお、次に出てくる Windows 95 OSR2 FAQ も、このページに置かれています。 Linux FAT32 Support という文 書もありますので、興味ある方は見てみてはいかがでしょうか。ちなみにどれ も英語ですが、役に立つかもしれません。] ** Windows 95 OSR2 (バージョン 4.00.950b) ユーザーへの特別な注意 ** Windows 95 OSR2 FAQ を読まずに Windows 95 とのデュアルブートに設定する ことは決して*しないで*下さい。その FAQ からは、FAT32 に関する非常にた くさんの情報を得ることができます。ただ、簡単に言ってしまうと、あなたの マシンが OSR2 であったとしても、ファイルシステムが FAT16 であれば F4 ファンクションキーでデュアルブートに設定することは可能です。 *注意*: もしあなたが使っているのが Windows 95 OSR2 で、ファイルシステ ムに FAT32 を使用しているのであれば、この mini-HOWTO で紹介している デュアルブート方式は使うことができません。また、試してみることも止めて ください。 しかし、FAT32でも使用可能な、立ち上げ時に Linux に自動的に切り替えるた めの別の方法がいくつかあります。それらについては 9章で述べます。 2. 前提となる条件 o A. Windows 95 が正しくインストールされていること。 o B. Windows 95 は、ドライブ C にインストールされていること。 o C. Linux が正しくインストールされていること。 o D. Linux がどのパーティションにインストールされているか知っているこ と。 o E. ハードディスクに LILO がインストールされて*いない*こと。 o F. もし、使用しているのが Windows 95 OSR2 (バージョン 4.00.950b) な ら、Windows 95 OSR2 FAQ をきちんと読んでいること。 3. 始める前に必要なもの o A. DOS 5.0 か DOS 6.0 のシステムファイル (io.sys, msdos.sys, command.com) と config.sys の入ったブート可能なフロッピー。 DOS 5.0 のブートディスクを使用する場合は、さらに autoexec.bat が必要。ま た、Windows 95 OSR2 を使用している場合は、ドライブ C のルートディレ クトリに Winboot.sys という名前のファイルをテキストエディタを使って 作成しておきます。Winboot.sys は中身が無くてもかまいません。その名 前のファイルがありさえすればよいのです。 *注意*: ハードディスクの中に autoexec.dos, config.dos, io.dos, msdos.dos, command.dos という名前のファイルがあれば、上記のフロッピ ーは不要です。これらのファイルは、ドライブ C のルートで、 dir およ び dir /ah と入力することで存在しているかどうか確認できます。 o B. Loadlin.exe プログラム。 o C. カーネルイメージファイル。通常は zImage または vmlinuz という名 前になっています。 (詳しくは FAQ を参照してください) o D. 「メモ帳」のような単なるテキストエディタ。 4. 始めましょう o A. あなたの使用している Windows 95 のバージョンを確認します。 Windows 95 を立ち上げて、「マイコンピュータ」のアイコンを右ボタンで クリックします。出てきたメニューの中の「プロパティ」を左ボタンでク リックします。「情報」のタブのページの「システム:」と書いてある下 にバージョン番号が表示されています。 *注意*: あなたのお使いの Windows 95 のバージョンが 4.00.950bであっ たなら、ファイルシステムが FAT32 *でない* ことを必ず確認してくださ い。「マイコンピュータ」アイコンをダブルクリックして、ドライブ C の アイコンを右クリックしてください。メニューの中の「プロパティ」を左 クリックしてください。「情報」タブのページにある「種類」の部分をみ ると、ファイルシステムが FAT32 なのかどうかが分かります。もし、ここ に FAT32 と表示されていたら、この先は飛ばして 9章に進んでください。 それ以外であれば、次の B. に進んでください。 o B. エクスプローラを立ち上げます。 [訳注: インターネットエクスプロー ラではありません。念のため] o C. メニューバーで「表示」をクリックし、続いて「オプション」をクリッ クします。「表示」タブのページを開き、「全てのファイルを表示」が チェックされていること、また、「登録されているファイルの拡張子は表 示しない」がチェックされていないことを確認してください。設定されて いなかったら、それぞれを正しく設定して下さい。確認(設定)が終わった ら OK ボタンを押してください。 *注意*: 前に 3章の A.で注意事項として述べた *.dos ファイルがすでに ハードディスクに入っていたら、この先の F と G の間の「注意:」に飛ん でください。そうでなければ、次の D に進んでください。 o D. ドライブ A に DOS 5.0 または DOS 6.x のブート可能なフロッピーを 挿入してください。ドライブ A のアイコンをクリックするとフロッピーの 中身が見られます。 o E. それぞれのファイルの拡張子を、.dos に変えてください。名前の変更 を行うには、まず変更したいファイルをシングルクリックし、続いて F2 キーを押します。現在のファイル名が反転表示になるので、そこへ新しい 名前を入力します。そのフロッピーが動かなくなってしまうという心配す る必要はありません。この一連の作業が終わったらファイル名を元に戻せ ばよいのですから。 [訳注: 拡張子だけの変更であれば、反転表示になったところで右矢印 (カ ーソル)キーを一度押すと、元ファイル名が編集できるようになりま す。Backspaceキーなどを使って必要な部分を修正してください] o F. *特に重要:* これらフロッピー上のファイル名の変更は、必ず、ドライ ブ C にコピーする*前に*行ってください。手順を間違えると、 Windows 95 のシステムファイルを上書きしてしまうことになります。 *警告しまし たよ*。 次に、全てのファイルをドライブ C のルートにコピーします。ここに挙げ るやり方は 1つの例です。まず、エクスプローラを開き、ドライブ A のア イコンをクリックし、 Ctrl+A を押します。次に Ctrl-C を押してから、 ドライブ C のアイコンをクリックし、Ctrl+V を押してやれば、ドライブ A にあるすべてのファイルがドライブ C にコピーされます。 *注意:* Windows 95 OSR2 (バージョン 4.00.950b) *以外*の場合は、 G はスキップしてください。 o G. もし Windows 95 のバージョンが 4.00.950b であったら(その時だけ は) 先の 3章でも触れたとおり、ドライブ C のルートディレクトリに Winboot.sys という名前のファイルがあることを確認してください。 Winboot.sys がドライブ C のルートディレクトリにないと、初期のバー ジョンの DOS ではブート時にハングしてしまう恐れがあります。 *注意:* DOS 6.x のブートディスクを使用する場合は、5章へ進んでくださ い。それ以外は、次の H に進んでください。 o H. メモ帳を開きます。メニューバーの「開く」をクリックします。 「ファイルの種類」を「すべてのファイル (*.*)」に変更します。「ファ イルの場所」をデスクトップからドライブ C に変更します。次に、エクス プローラから Config.dos をダブルクリックして開きます。全部の行を削 除します。これで OK ファイルのできあがりです。これについては後で説 明します。次にこのファイルを保存します。 o I. メモ帳を使って、 Autoexec.dos に Loadlin コマンドを書き込みま す。なお、Loadlin コマンドは、必ず次の書式で書いてください。 Loadlin ドライブ文字:\Linuxカーネルファイル root=/dev/Linuxブートパーティション ro [訳注: 桁数の関係で2行に分けましたが、実際には途中で改行せずに必ず1行 で書いてください。なお、root= の前にはスペースが必要です] 以下に、例として私の環境での Autoexec.dos を示します。 Loadlin f:\vmlinuz root=/dev/hdc2 ro [訳注: 説明は不要と思いますが一応。原著者の場合は、カーネル (vmlinuz) はドライブ F のルートにあり、Linux はセカンダリマスタのIDEドライブ の2つ目のパーティションということになります] *注意:* Loadlin.exe と同様に、カーネルはハードディスクのどこに置いても かまいません。ただし、その場合はカーネルのあるパスを正しく指定してやら なければなりません。例として、カーネルが e:\linux\kernels に、また Loadlin.exe が c:\utils に存在しているとすると、指定の仕方は次のように なります。 c:\utils\loadlin e:\linux\kernels\vmlinuz root=/dev/hdc2 ro ファイルを保存します。 ここまできたら、5章は飛ばして、6章に進んでください。 5. *** この章は、DOS 6.x のブートディスクを使っている人*だけ*参照して ください。*** o A. メモ帳を開きます。メニューバーの「開く」をクリックします。「ファ イルの種類」を「すべてのファイル (*.*)」に変更します。「ファイルの 場所」をデスクトップからドライブ C に変更します。次に、エクスプロー ラから Config.dos をダブルクリックして開きます。全部の行を削除しま す。次に、下記のような書式でシェルコマンドを書き込んでください。 shell=loadlin.exe Linuxカーネルファイル root=/dev/Linuxブートパーティション ro [訳注: 桁数の関係で2行に分けましたが、実際には途中で改行せずに必ず1行 で書いてください。なお、root= の前にはスペースが必要です] 以下に示す例は、私の環境での Config.dos の内容です。 shell=f:\loadlin.exe f:\vmlinuz root=/dev/hdc2 ro *注意:* Loadlin.exe とカーネルはハードディスクのどこに置いてもかまいま せん。ただし、その場合はカーネルのあるパスを正しく指定してやらなければ なりません。例として、Loadlin.exe が f:\utils に、カーネルが e:\linux\kernels にそれぞれ存在しているとすると、指定の仕方は次のよう になります。 shell=f:\utils\loadlin.exe e:\linux\kernels\vmlinuz root=/dev/hdc2 ro [訳注: 桁数の関係で2行に分けましたが、実際には途中で改行せずに必ず1行 で書いてください。なお、root= の前にはスペースが必要です] o B. 書き込み終わったファイルを保存します。 6. 作業も終盤です。 o A. あと 1つファイルを書き換えれば作業は終わりです。メモ帳を使っ て、Msdos.sys を書き換えます。[Options] と書かれているところを探し てください。次に、そこのセクションにある BootMulti= と書かれている 個所を探してください。もし見つからなかったら、自分で書き加えてくだ さい。いずれの場合も、等号の右辺の値を 1 にします。以下に示したよう になるはずです。 [Options] BootMulti=1 o B. 他にもいくつかの項目が書かれているかもしれません。もし書かれてい ても、それらはそのままにしておいてください。変更が終わったらファイ ルを保存します。 7. 作業はここまで終わりです。 あとやらなければいけないのは、マシンをリブートすることだけです (フロッ ピーを抜いておくのを忘れないように)。"Starting Windows 95..." と表示さ れている間に F4 キーを押すと、Linux が立ち上がってくるはずです。 8. どういうしくみで動いているのか。 Windows 95 には、ブートメニューが組み込まれています。デフォルトでは、 立ち上げ時には見えないようになっています(変更することも可能です)が、 "Starting Windows 95..." と表示されている間に F8 キーを押すと現れてき ます。このメニューには、いくつかのオプションが存在します。このメニュー を表示させると、中にいくつかのオプションがあるのがわかります。一番下の オプションが "以前のバージョンの MS-DOS" で、"Starting Windows 95..." が表示されている間に F4 キーを押すことで、このオプションを選択したのと 同じことになります。Windows 95 が、以前のバージョンの MS-DOS [訳注: Win95 をインストールする前にインストールされていた DOS。したがって、プ リインストールの場合は存在していないはずです] をブートするときに は、.dos という拡張子のファイルを使用します。これが、Autoexec.dos で Linux の初期設定をする場合に OK Config.dos [訳注: 前に作成した (``4章H 参照'')、ダミーの(中身が空の) Config.dos ファイル] が重要である理由で す。 Windows 95 は、「以前のバージョンの OS」をブートさせようとする過程で .dos という拡張子を持ったファイルを探しに行きます。これらが見つからな いと、代りに Windows 95 のスタートアップファイルをロードしてしまいま す。このようなメカニズムになっているため、Config.dos が見つけられな かった場合、 Windows 95 は、代りに Config.sys を開き、そこに記述されて いるドライバ類を全てロードしてしまいます。これらのドライバが Linux を ロードする上で影響がなかったとしても、立ち上げに余計な時間がかかること になってしまいます。OK Config.dos ファイルを作っておくことで、Windows 95 が「以前のバージョンの MS-DOS」をロードする際に Config.sys を読みに 行くのを防ぐことができるようになります。 9. Linux を自動ブートさせるための別の方法。特に FAT32 を使用している ユーザー向け。 この章で紹介している方法は、全てのバージョンの Windows 95 で動作しま す。ファイルシステムが FAT32 であるかどうかも関係ありません。この章で は、2つの方法について述べます。最初に紹介するのは、一番シンプルな方法 です。 9.1. 方法1 これは、Autoexec.bat を使って、ブート中に Linux.bat を名づけられたファ イルを呼ぶという方法です。 o A. EDIT もしくはメモ帳のようなテキストエディター [訳注: 保存する形 式がテキストファイルであるもの。ワープロ類(含ワードパッド) は不可] を使用して、Linux.bat という名前のファイルを作成します。ファイルに 記述する内容は以下に示すようにします。 @echo off cls echo. echo. echo. echo. choice /t:y,5 "Do you wish to boot Linux? " if errorlevel 2 goto End c:\loadlin c:\vmlinuz root=/dev/hdc2 ro :End このバッチファイルで行っていることは、以下のとおりです。まず、画面を消 去し、4行の空行を作り、引用符で囲まれた文字列のあとに [Y,N] を付けたも のを表示し、キーが押されるまで 5秒間待ちます。 ここで 5秒以内にキーが押されなかったら、デフォルトである Y が選択され たとみなされ、Linux が立ち上がります。もし Y もしくは N が選択された場 合は、それぞれに応じた処理がなされます。たとえば、 N が選択された場 合、このバッチファイルは即終了し、 Autoexec.bat の残りの部分が実行され ます。また、Y が選択された場合は、もちろん Linux がロードされます。 4行の空白行が気に入らなければ、echo. と書かれている行の数を変更してく ださい。画面の消去が不要であれば、cls と書かれた行を削除して下さ い。choice コマンドについている /t スイッチの部分は、キー入力を 5秒間 待ち、その間入力がなかった場合に使用される値を Y にするということを表 わしています。 5秒のタイムアウトの後に Windows 95 が立ち上がってくるよ うにしたければ、この y と書かれているところを n と書きかえて、次のよう にして下さい。 choice /t:n,5 また、待ち時間を 0 から 99秒までの範囲で変更することができます。 choice コマンドについて詳しく知りたければ、 c:\windows\command に移っ て、コマンドプロンプトから choice /? と打ち込んでみてください。 *注意:* あなたの構成に合うように、 Linux を起動する部分の行を書き換え る必要があります。Linux をうまくブートさせるために Loadlin をどのよう に設定すればよいかの例については、4.I 章を参照してください。 o B. 次に、Autoexec.bat ファイルが存在していなければ、テキストエディ ターを使用して作成します。それから*最初の*行を次の通りにしてくださ い。 call c:\linux Linux.bat が、Autoexec.bat と異なるディレクトリにあるなら、そのディレ クトリを示すように書き換えてください。この例を挙げます。 Linux.bat が C:\batch にあるとすると、Autoexec.bat の最初の行は下記のようになりま す。 call c:\batch\linux ファイルを保存して、エディタを終了させます。あとはリブートをするだけで す。 Linux をブートするかどうか問い合わせるようになるはずです。 9.2. 方法2 こちらは少し手間はかかるけれども、ずっと応用の利く方法です。この方法で は独自にブートメニューを作成します。ただし、このメニューは、Windows95 の元のブートメニューに置き換わるものではありません。この作業には、 Config.sys と Autoexec.bat が必要になります。 o A. 最初に、Config.sys を、スタートアップメニューを表示するように書 き換えます。(なお、このようにカッコで囲んだ部分はコメントです。実際 には入力しないで下さい。) [menu] menuitem=Linux, Boot to Linux (メニューブロックを定義し、表示する文字列を指定します) menuitem=Win95, Boot to Windows 95 menucolor=15,1 (背景色を青、文字を白に設定します) menudefault=Linux, 15 (デフォルトの項目およびタイムアウトの時間を設定します) [linux] shell=f:\loadlin.exe f:\vmlinuz root=/dev/hdc2 ro (文法および例については5章を参照のこと) [win95] (いつもの Config.sys の内容はここ以降に置きます。もともと Config.sys が無かったのなら何も書かないでかまいません。) Config.sys ファイルを保存し、エディタを終了します。 Config.sys に設定 する内容については、まずは上に挙げた例を元に、必要な部分を変更して動か してみるというのもよいでしょう。 o B. 次に、Autoexec.bat を書き換えます。(先ほどと同様に、カッコ内はコ メントです。入力しないように) goto %config% :linux (ここはブランクのままにしておく。Config.sys 内ですでに設定されています) :win95 (元の Autoexec.bat の内容をここに置きます。もともと Autoexec.bat が無かったのであれば、これ以降はブランクのまま にしておきます。) Autoexec.bat ファイルを保存し、エディタを終了します。 Autoexec.bat に 設定する内容については、まずは上に挙げた例を元に、必要な部分を変更して 動かしてみるというのもよいでしょう。ここまでが必要な作業です。次にマシ ンをリブートすると、スタートアップメニューが現れて、Linux と Windows 95 を選択して立ち上げることができるようになっているはずです。 10. よくある質問と答え 10.1. A. Q: Loadlin についての詳しい情報はどこにありますか。 A: Slackware 96 であれば、CD-ROM の \slackware\A5 というディレクトリに loadlin.tgz という名前のファイルがあります。このファイルを展開し て、\docs というディレクトリの下にある manual.txt を読んでください。そ れ以前の Slackware に関しては、私はわかりません。 [訳注: JFに、翻訳された Loadlin のマニュアルがあります。] RedHat 4.2 の CD-ROM であれば、\dosutils ディレクトリの下に loadlin16.tgz というファイルがあります。このファイルを展開して、 \docs というディレクトリの下にある manual.txt を読んでください。 manual.txt は、以下の場所からダウンロードすることもできます。 o それ以外の情報源としては、以下の場所を参照してください。 o [訳注: この文書も JF に日本語訳があります] 10.2. B. Q: Linux がどのパーティションにインストールされているのが分 かりません。 どうすれば知ることができるのでしょうか。 A: Linux のシェルプロンプトで、fdisk を実行して、"p" (p の1文字のみ) キーを押して下さい。そうすれば分かります。fdisk についてもっと知りたけ れば、man で調べてください (man fdisk)。 10.3. C. Q: カーネルイメージというのはどこにあるんでしょうか。 どうす れば、それを MS-DOS パーティションにコピーできるのでしょうか。 A: Linux カーネルファイルを見つけるためには、Linux シェルプロンプトで 以下のように打ち込んでください。 find / -name vmlinuz すると、全ての Linux パーティションの中から探し出された vmlinuz (カー ネルファイル) が表示されます。vmlinuz ファイルが複数存在する場合は、必 ず適切なものを選ぶようにしてください。どれが適切なものなのか分からない ときは、日付の一番新しいものを選ぶのが一番安全な方法でしょう。 Linux カーネルファイルを DOS パーティションにコピーするためには、コピ ー先の DOS パーティションが Linux から見えるようになっていなければなり ません。まだ見えるように設定していなければ、マウントしてください。通常 は、Linux をインストールしたときに DOS パーティションが見えるように なっていると思います。あとは、vmlinuz のあるディレクトリに移動し、cp コマンドで DOS パーティションにコピーしてやるだけです。 もし、Linux が DOS パーティションを認識できるようにセットアップされて いなかった場合は、vmlinuz ファイルをフロッピーにコピーしてする方法が使 えます。まず、DOS でフォーマットされたフロッピーを用意します (カーネル をコピーするのに十分な空き容量を確保しておくこと)。このフロッピーをド ライブに入れ、Linux シェルプロンプトから次のように打ち込みます。 mount /dev/fd0 /tmp 次に、カーネルイメージファイルのあるディレクトリに移動し、以下のように 打ち込みます。 cp vmlinuz /tmp これで vmlinuz が DOS から読める形でコピーされます。Linux を終了し、 DOS をブートします。そして vmlinuz をあなたが置きたいディレクトリにコ ピーします。なお、この先カーネルを再コンパイルすることがあれば、新しく 作成したほうのカーネルを DOS パーティションにコピーするのを忘れないよ うにしてください。なお、その場合、それまで使用していたカーネルが上書き されてしまうことになります。そこで、新しいカーネルがうまく動かなかった ときのことを考えて、まず古いほうのカーネルの名前を変えて保存しておくと よいと思います。 [訳注: (少なくとも) slackware 3.1 以上もしくは RedHat 4.2 (以上?)であ ればフロッピーのコピーには mcopy というコマンドも使用できます。書式は DOS の COPYコマンドに似ています。詳しくは man 等で調べてください。な お、他のディストリビューションについては訳者は知識がありません] 10.4. D. Q: Linux, Windows 95 のどちらを先にインストールするか 決まり はあるのでしょうか。 A: 技術的には、ありません。しかし、Win95 を先にインストールしておいた ほうが*ずっと*楽だとはいえます。そうすれば、Linux のインストール時 に、DOS パーティションを認識するように指定してやることが簡単にできます から。 10.5. E. Q: すでに Windows 95 と Windows 3.x のデュアルブートを使って います。 この文書の方法で、さらに Linux もブートできるようにできます か。 A: 率直に申し上げて、この場合は、LILO を使うことをお勧めします。しか し、どうしても LILO を使いたくないのであれば、まず Win 3.x をブートし て Loadlin コマンドを使うようにしなければいけません。(ここで注意しなけ ればいけないのは、Win 3.x を走らせてはいけないということです。 Win 3.x を走らせる前の DOS 5.0 もしくは 6.x から Loadlin コマンドを使用してく ださい) 10.6. F. Q: Windows 95 のデスクトップから Linux を起動することはでき ますか。 A: 可能です。まず、Linux.bat というバッチファイルを作ります。このファ イルを、例えば以下のように Loadlin コマンドを実行するように書きます。 loadlin f:\vmlinuz root=/dev/hdc2 ro そして、このファイルを \windows\desktop ディレクトリに保存します。次 に、Linux.bat アイコンを右クリックします。そして「プロパティ」を左ク リックします。「プログラム」タブをクリックし、「詳細設定」ボタンをク リックします。「MS-DOSモード」と書いてあるとなりの四角をチェックしま す。ここで、「MS-DOSモード実行前の警告」と書いてあるところがチェックさ れていることを確認してください。OK をクリックし、もう一度 OK をクリッ クします。後は、Linux アイコンをダブルクリックすると、 MS-DOS モードに 移行することを警告する画面が表示されるようになります。 Yes をクリック すると、Windows は MS-DOS モードに移行し、 Linux.bat ファイルを実行し ます。 *注意:* Loadlin を実行するためには、必ず MS-DOS モードに移行しなければ いけません。より詳しく知りたい方は、この文書の FAQ の項の 質問A で触れ ている manual.txt を参照してください。 10.7. G. Q: この文書のテキストファイル版はどこで入手できますか。 A: テキストファイル版は下記の場所から入手可能です。 o [訳注: 日本語版は、「これ」が、まさにテキスト版ですね :-)] 11. 謝辞 Fred Harris と Norm Jacobowitz に感謝します。彼らのおかげで Windows 95 OSR2 でのみ起こる問題について記述することができ、この mini-HOWTO をよ りよいものにすることができました。 質問やコメント、提案がありましたら是非お知らせください。 連絡先: Chris Fischer Protek Computer Solutions protek@brigadoon.com or praxis@eskimo.com 11.1. 日本語訳について 日本語版に関してお気づきの点等ありましたら、中野 正剛 までお知らせください。 Copyright ゥ 1997 Protek Computer Solutions. [日本語版の謝辞: この文書の作成に当たっては、有益なご助言をいただいた 川岸 良治さん ほか、JF の皆さんに感謝いたします。 ]