Multiboot with GRUB Mini-HOWTO Ivan Kanis (ivank@juliva.com) v1.0, 2001-01-15 翻訳:中谷千絵 (jeanne@mbox.kyoto-inet.or.jp) 日本語訳: Mar.27,2001 この文書は GRUB を利用して、Windows 98、Windows 2000、DOS そして Linux をインストールする方法を説明したものです。 ______________________________________________________________________ 目次 1. この文書を書いた理由 2. インストール方法 2.1 ブートフロッピーを用意する 2.2 linux をインストールする 2.3 GRUB をインストールする 2.4 windows 2000 をインストールする 2.5 DOS をインストールする 2.6 Windows 98 をインストールする 2.7 仕上げ 3. 参考文献 4. フィードバック ______________________________________________________________________ 1. この文書を書いた理由 私は、複数のメニューを順番に通過しないで、すべてのオペレーティングシス テムをブートできるようにしたいと思いました。DOS の上に Win9x を、さら にその上に NT をインストールできることがわかっています。このような場 合、まず NT のメニューを通り抜け、さらに DOS をブートするために win9x のメニューを使わなければいけません。ひとつのメニューの操作だけで、すべ てのオペレーティングシステムをブートできるようにしたいと考えました。 [訳注:GRUBとは、GRand Unified Bootloader の略で、多機能のブートローダ です。 GRUBについては、GRUB の日本語のページ 等を参照してください。] これはなかなかやっかいなことになりそうだとわかりました。Microsoft の オペレーティングシステムには、どのオペレーションシステムもブートのため に、第一パーティション(Cドライブ)を要求するという問題があります。そこ で GRUB の出番です。すると、GRUB は基本パーティションを隠すことができ ますから、 Microsoft のオペレーティングシステムをインストールするた め、三つのパーティションを使うことができるようになります。GRUB はその 他 2 つの基本パーティションを隠しますから、そのオペレーティングシステ ムからは見えなくなります。そこで、DOS、Win9x そして、Windows 2000 の間 でデータを共有するために、別のパーティションが必要になりますが、4 番目 のパーティションを拡張パーティションとして使えます。 メニューシステムも必要でしたし、GRUB はとてもよいメニューを持っていま す。 GRUB のもうひとつの良い点は、reiserfs をサポートしているので、ext2 の /boot パーティションを別に持つ必要がないということです。 [訳注:reiserfs は、Hans Reiser氏が開発した File Systemの略です。] 2. インストール方法 2.1. ブートフロッピーを用意する 3枚のフロッピーディスクが必要です。始めに DOS を起動するフロッピーディ スクを作ります。 このディスクに、fdisk.exe と sys.exe をコピーします。 FORMAT /S A: COPY FDISK.EXE A: COPY SYS.EXE A: Windows 98 の緊急起動ディスクを作るため、2 枚目のフロッピーディスクを 使います。3 枚目のフロッピーディスクを GRUB 用に使います。 2.2. linux をインストールする お好みの linux ディストリビューションをインストールします。fdisk を 使ってハードディスクにパーティションを確保しなければいけません。お使い になるオペレーティングシステムにそれぞれにどれくらいのディスクを割り当 てるかをあらかじめ計算しておきます。 私のハードディスクは次のようになっています。 Device Boot Start End Blocks Id System /dev/hda1 1 6 48163+ 16 Hidden FAT16 /dev/hda2 7 19 104422+ 16 Hidden FAT16 /dev/hda3 20 593 4610655 1b Hidden Win95 FAT32 /dev/hda4 594 3737 25254180 5 Extended /dev/hda5 594 848 2048256 6 FAT16 /dev/hda6 849 2123 10241406 7 HPFS/NTFS /dev/hda7 2124 2140 136521 82 Linux swap /dev/hda8 2141 2523 3076416 83 Linux 最初のパーティションは Windows 2000 を起動するためのものです。 48MB あ れば十分なはずです。最初のパーティションには boot.ini 、ntldr, ntdetect.com などのような NT を起動するために必要なファイルだけを置い ています。私の例では、パーティション 6 に NT を入れます。これらのパー ティションは隠しFAT16 になっています。 [訳注:windows NT/2000のdevice driverの中には NTFS が認識できないもの がありますので、device driver のために、約50MByte 用意することをお勧め します。] 2 番目のパーティションは DOS 用です。 100M もあれば十分です。これもま た FAT16 です。 [訳注:日本語の DOS 用アプリケーションをたくさん持っている方は、 500MByte程用意したほうが、良いでしょう。] 3つ目のパーティションは Win9x 用です。5G を割り当て、パフォーマンスの ために FAT32 にしています。 次にハードディスクの残りに拡張パーティションを作ります。 fdiskで は、4つ目のパーティションとして表示されます。 2GB のパーティションを作ります。このパーティションはすべてのオペレー ティングシステムでデータを共有するために使います。ともあれパーティショ ンは 8GB 以下にします。これは DOS の限界です。 次に Windows 2000用のパーティションを作ります。windows は豚のようにど んどん太るものなので、10G をこれに当てています。HPFS または NTFS にし ます。 次にスワップパーティションと linux 用パーティションを作ります。/boot に別のパーティションを当てていないかもしれません。ルートパーティション に /boot を置いているなら、GRUB にはより都合がよいようです。 linux をインストールしてから、fat16 パーティションをフォーマットしま す。 mkdosfs /dev/hda1 mkdosfs /dev/hda2 mkdosfs /dev/hda6 2.3. GRUB をインストールする GRUB の最新版を持っているかを確かめてください。私は、バージョン 0.5.96.1 を使っています。私が使用したディストリビューションに添付され ていたバージョンはもう古くなっていて、うまくいかないことがたくさんあり ました。http://www.fsf.org から最新版をロードできます。 ところで、フロッピーディスクに GRUB をインストールしたくないかもしれま せんが、 Windows 2000 が上書きしてしまいますから、いまはまだハードディ スク上にはインストールしないほうがよいでしょう。 grub-install '(fd0)' 次に示すようにGRUB の menu.lst を作ります。このファイルは、/boot/grub に置きます。 # # ブートメニュー設定例 # # 1分後に自動的にブート timeout 60 # デフォルトで、2番目の登録をブートする。 default 1 # 最初の登録に戻す。 fallback 0 title Windows 2000 unhide (hd0,0) hide (hd0,1) hide (hd0,2) rootnoverify (hd0,0) chainloader +1 makeactive # Linux をブートする title Linux root (hd0,7) kernel /boot/vmlinuz-2.2.17 root=/dev/hda8 video=matrox:vesa:261 #[訳注:この部分はお使いのシステムに合わせてください。] title Windows 98 hide (hd0,0) hide (hd0,1) unhide (hd0,2) rootnoverify (hd0,2) chainloader +1 makeactive title DOS 6.22 hide (hd0,0) unhide (hd0,1) hide (hd0,2) rootnoverify (hd0,1) chainloader +1 makeactive # Linux をブートする title Linux (single user) root (hd0,7) kernel /boot/vmlinuz-2.2.17 root=/dev/hda8 video=matrox:vesa:261 single title Partition 2 (floppy) hide (hd0,0) unhide (hd0,1) hide (hd0,2) chainloader (fd0)+1 title Partition 3 (floppy) hide (hd0,0) hide (hd0,1) unhide (hd0,2) chainloader (fd0)+1 フロッピーディスクで linux をブートできるのを確かめてください。何か問 題があれば、GRUB のコマンドに抜けて、何が問題になっているかを見つけ出 すことができます。GRUB にはとてもよい文書があります。何かトラブルがあ れば、文書を見てください。 2.4. windows 2000 をインストールする windows 2000 をインストールする前にまずパーティションを初期化しなけれ ばいけません。DOS の起動ディスクをいれて、コンピュータを再起動します。 DOS のプロンプトが出たら、次のコマンドを入力します。 FDISK /MBR SYS C: そのまま続行して、 windows 2000 をインストールします。しばらくすると、 Windows 2000 はインストールしたいパーティションでプロンプトを返すで しょう。fdisk で作成したパーティションは壊れたもの、あるいは、フォー マットされていないパーティションとして表示するはずです。続行して、そこ を選択します。 Windows 2000 のメニューを隠すために、C ドライブにあるはずの boot.ini という名前のファイルを編集します。 timeout の値を 30 から 0 に変更しま す。 [boot loader] timeout=0 default=multi(0)disk(0)rdisk(1)partition(1)\WINNT [operating systems] ... 2.5. DOS をインストールする GRUB のディスクを差し込みます。メニューが出たら、DOS の起動ディスクを いれます。メニューから、パーティション2 (floppy) を選択し、Enter キー を押します。これでフロッピーディスクから起動して、パーティション 1 と 3 を隠します。 FDISK を起動し、C ドライブがパーティション 2 であることを確認します。 そして DOS をインストールします。 SYS C: 2.6. Windows 98 をインストールする GRUB ディスクをいれます。メニューが出たら、Windows 98 の起動ディスクを いれます。メニューからパーティション3 (floppy) を選択し、Enter キーを 押します。これでフロッピーディスクから起動し、パーティション 1 と 2 を 隠します。 FDISK を起動し、C ドライブがパーティション3 であることを確かめてくださ い。それから、Windows 98 をインストールします。 SYS C: 2.7. 仕上げ GRUB からすべてのものが動くことをテストします。 GRUB をインストールしたフロッピーディスクから、4種類のオペレーティン グシステムをブートすることができるはずです。 すべてがきちんとなっているなら、続行して、ハードディスクに GRUB をイン ストールします。Linux から次のように入力します。 grub-install /dev/hda GRUB メニューから4つのオペレーティングシステムをブートできるでしょう。 おめでとう! 3. 参考文献 o GNU GRUB o The Linux-DOS-Win95-OS2 mini-HOWTO 4. フィードバック この文書での私の体験(是非)についてご意見を聞かせて頂きたいと思います。 あなたがさらに別の OS を追加するための何か助言をお持ちなら、私宛 meお 知らせください。追加しましょう。 校正: o Okayama Yoichi" o Tsutomu Kawashima o TAKEI Nobumitsu