Linux+Win9x+Grub HOWTO Joel Rosen 中谷千絵 - 日本語翻訳 jeanne@mbox.kyoto-inet.or.jp Revision History Revision v1.0 2002-01-10 Revised by: jr Initial release. この HOWTO は、インストール済みの linux に影響を与えずに、コンピュータ を、Windows と Linux のデュアルブートマシンに変更するため GRUB ブートロ ーダを使う方法について述べています。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Table of Contents 1. はじめに 1.1. この方法で行う理由 1.2. 著作権とライセンス 2. 必要なもの 2.1. 何が必要か 3. 手順 3.1. Windows 用のパーティションを作る 3.2. GRUB をインストールする 3.2.1. インストール 3.2.2. grub.conf(日本語訳注:環境によっては/boot/grub/menu.lst) を編集する 3.3. Windows をインストールする 4. 日本語訳について 1. はじめに 1.1. この方法で行う理由 私は、Microsoft製品でないものをひいきにしてますので、コンピュータを新規 購入したとき、Linux がプリインストールされたものにしました。すばらしい デスクトップマシンでしたが、Windows のゲームができないのはやはり悲しい ですし、GIMP は思ったように動いてくれません。結局のところ私が折れて、マ シンをデュアルブートするように決めました。デュアルブートにする方法につ いて文書を探したのですが、私が見つけたものは、あとで Linux をインストー ルする方法についての文書ばかりでした。つまり、すでに windows がインスト ールされているなら、Loadlin でブートするという方法です。残念なことに、 loadlin は DOS から動作しますから、システムをデュアルブートにするため loadlin を使う方法では、一つ目のハードディスクの最初のパーティションに windows をインストールしなければいけません。Windows は、 Windows が世界 の中心で、別のシステムはその周辺にあるべきだと信じているからそうなるの です。すでにそのパーティションに Linux をインストールしていて、windows をインストールするために Linux を消してしまいたくないのならこれは問題で す。 こんなとき GNU GRUB が使えます。 GRand Unified Bootloader の略です。 LILO のようなブートローダーとは違って、Windows をだまして、たとえ windows が最初のパーティションになくても、最初のパーティションに windows がインストールされているのだと windows を信じこませることができ ます。そうすれば、現在お使いの Linux システムをそのままにして、別の場所 に Windows をインストールできるわけです。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2. 著作権とライセンス Copyright (c) 2002 Joel Rosen. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with the no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license may be found here . 著作権は Copyright (c) 2002 Joel Rosen にあります。この文書のコピー、配付あるい は修正は、GNU Free Documentation License Version 1.1 または Free Software Foundation から発行された最新版;(変更不可部分のないもの、表紙 テキストのない、裏表紙テキストがない)の条項のもとに許可されています。ラ イセンスのコピーはこちら にありま す。 日本語訳注:「GNU フリー文書利用許諾契約書」の日本語訳はこちら にあります。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2. 必要なもの 2.1. 何が必要か 下の手順を使うには、次のような条件を満たしていること: ・ Linux がインストールしてあり、動作していること。 ・ Windows をインストールするパーティションを作成するのに十分な余裕が あること。 ・ GNU Parted GNU Parted のような パーティションエディタを持っていること。 ・ GRUB の rpm パッケージまたはソー スを持っていること。 ・ CDROM をサポートしている Windows/DOS ブートディスクと Windows 9x が インストールしてある CD、または、起動可能な Windows 9x インストール CD があること。あるいはブート可能なインストール CD があること。 ・ (あったほうがよいもの) Linux のブートディスク ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3. 手順 3.1. Windows 用のパーティションを作る Windows をインストールするために、すでに空きパーティションやディスクを 確保しているなら、この項はとばしてください。そうでない場合は、お使いの ディスクをデフラグして、Windows のための新しいパーティションを作るため にパーティションエディタを使わなければいません。そのあとで、Windows の ために新しいパーティションを作ります。私は GNU Parted を使いました。 sfdisk でも十分でしょう。 fdisk を使ってはいけません。 fdisk はあなたのデータを壊します。さらに注 意しますが、この作業には保証はありませんから、重要なファイルをちゃんと バックアップしてから始めてください。 次の表は、インストールする前の私のパーティションテーブルがどうなってい るかを示したものです。 Device Start End System /dev/hda1 1 3 Linux /dev/hda2 4 1222 Extended /dev/hda5 4 36 Linux swap /dev/hda6 37 1222 Linux /dev/hda1 は私の /boot パーティションです(この文書を読んでいるあなたも 同じように独立した Linux の boot パーティションを用意しているかもしれま せんし、していないかもしれませんが)。/dev/hda2 は/dev/hda5 と /dev/hda6 という二つの論理ドライブがある拡張パーティションで、 Linux の swap パー ティションと Linux をインストールしたパーティションがあります。 root で、パーティションエディタを使います。どれだけ縮小するかを決めて Linux パーティションの大きさを変更します(このサイズは、お使いのディスク 上にあるデータの量よりも小さくならないように気を付けてください)。プログ ラムは十分に時間をかけてデフラグし、それから、パーティションテーブルを 変更します。同様に、Linux パーティションがある拡張パーティションのサイ ズを変更します。これで、ディスク上に Windows 用のプライマリパーティショ ンを作るのに十分な未使用領域ができたはずです。では、そこに Win95 FAT32 (LBA) ファイルシステムでパーティションを作成しましょう。すると、パーテ ィションテーブルは次のようになります。 Device Start End System /dev/hda1 1 3 Linux /dev/hda2 4 905 Extended /dev/hda3 906 1222 Win95 FAT32 (LBA) /dev/hda5 4 36 Linux swap /dev/hda6 37 905 Linux ここで fdisk を起動し、メモ用紙にパーティション情報を書き出しておくこと を強くお勧めします。インストール作業で間違いをすると、Windows はあまり にもおばかさんなので、自分の好きなようにパーティションテーブルを書き換 えてしまいます。ですから、緊急事態発生の場合に備えて、自分のパーティシ ョンがどんな風になっていたかを知っておいたほうが良いでしょう。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.2. GRUB をインストールする 3.2.1. インストール GRUB にある GRUB の RPM またはソース パッケージをディスクの好きな場所に置きます。お使いのシステムに合うイン ストール作業を行います。さて、GRUB はインストールされているはずですが、 ロードされていません。root で次のようなコマンドを実行します。 # /sbin/grub-install /dev/hda これで、お使いのディスクのマスターブートレコードに GRUB がロードされま す。次に、GRUBのブートメニューを設定するために、 /boot/grub/grub.conf を編集しなければいけません。 日本語訳注:英語原文では、GRUBのブートメニューの設定ファイルの名称は "/ boot/grub/grub.conf" になっています。オリジナルでは "menu.lst" なのです が、Red Hat Linux 7.2 等のディストリビューションでは "grub.conf" を利用 するように変更されているようです。お使いの環境に合わせて読み替えてくだ さい。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.2.2. grub.conf(日本語訳注:環境によっては/boot/grub/menu.lst)を編集す る default=0 timeout=10 splashimage=(hd0,0)/grub/splash.xpm.gz title Red Hat Linux (2.4.7-10) root (hd0,0) kernel /vmlinuz-2.4.7-10 ro root=/dev/hda6 initrd /initrd-2.4.7-10.img title Windows 98 map (hd0,0) (hd0,2) map (hd0,2) (hd0,0) rootnoverify (hd0,2) chainloader +1 title DOS Boot Disk map (hd0,0) (hd0,2) map (hd0,2) (hd0,0) chainloader (fd0)+1 全部を通して内容を見ていきましょう。 ''default=0'' と ''timeout=10'' は、何もしなければ 10 秒後に Linux を起 動します。''splashimage''は文字通り、画像を表示するための指定です。重要 ではありません。 ''title'' は各々の起動環境の宣言の開始を示し、引き続くテキスト部分が始 動時にメニューとして現われます。''root'' には、お使いの Linux の kernel イメージがあるパーティション (実際の root (/)パーティションとは違ってい るかもしれません)を指定します。つまり、''root (hd0,0)'' と書いてあるの は、カーネルが /dev/hda の最初のパーティションにあることを GRUB に教え ているのです。 GRUB は少し不思議な番号付けの方法を使うように見えるかも しれませんが、基本パーティションに対して 0-3 を使い、論理パーティション に対して、4 以上を使います。次の行は、お使いのカーネルがある場所と、 Linux システムがある実際の root パーティションがどこかを GRUB に伝えま す。''initrd'' は、お使いの init ramdisk イメージがある場所を GRUB に伝 えます。これら数行は、独立した /boot パーティションを置いていないなら、 幾分違ったものになることにご注意ください。もっと詳しく知りたいなら、 GRUB の info ページを見てください。 Windows 98 部分の下にある ''map'' という行はインストール作業をするのに とても大事なものです。これらの行は、最初のディスクの第一パーティション に Windows インストールするのだと Windows をだますためのおまじないのよ うな行です。Windows パーティションを (hd0,0) に map しておかないと、 Windows はパーティションテーブルを壊し、何もブートできなくなってしまい ます。 ''rootnoverify'' は、Windows パーティションからブートし、マウントは試み ないようGRUB に伝えます。さらに、''chainloader +1'' が、Windows を始動 する Windows のブートローダに橋渡しするよう GRUB に伝えます。 ''DOS boot disk'' の部分は、Windows をインストールする時にフロッピーか らブートする予定なら必要なものですが、インストール後もいつか何らかの理 由で DOS のブートディスクを使いたくなったときに役立つでしょう。お手もと の Windows のインストール CD がブート可能なら、 CDROM デバイスが呼ばれ た時にはいつでも続いて呼び出せるように ''Windows boot disk'' という部分 が必要になります。 grub.conf を保存し、テキストエディタから抜けます。LILO とは違って、 GRUB はブート設定を変更したあとで起動可能にする作業はなにも必要ありませ ん。緊急用 Linux ブートディスクを手もとにおいて、コンピュータを再起動し てみましょう。システムが始動すると、三つの選択肢を持つ GRUB メニューが 見えるでしょう。Linux を選択してみましょう。うまくいけば、Linux はいつ も通りに起動するでしょうし、GRUB はちゃんとインストールされています。う まくいかないなら、ありがたいことに Linux のブートディスクがありますから 、Linux をブートさせて、grub.conf を修正します。GRUB がうまく Linux を 起動できるなら、Windows をインストールできます。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3. Windows をインストールする コンピュータから、フロッピーディスクと CD をすべて外し、再起動します。 ドライブにインストールメディアを入れたまま、再起動してはいけません。そ の場合、BIOS は、直接的に Windows インストールを起動してしまい、GRUB は そのからくりを使うチャンスがなくなってしまいます。GRUB メニューが立ち上 がってから、インストールの方法によって、フロッピーディスクまたは CD を 差し込み、DOS boot disk または、Windows install CD boot を選択します。 Windows のインストールは、Windows から C: ドライブに見えるように作った パーティションを見つけるはずです。さあ、Windows をインストールしましょ う。 さあ、これで、あなたのコンピュータはデュアルブートマシンになります。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4. 日本語訳について 翻訳に関するご意見は JF プロジェクト 宛に連絡してくだ さい。 校正およびご意見を頂いた方々:: 日本語訳 Feb. 2002 □ 水原さん: □ TAKAHASHI, Tamotsu さん: □ 谷さん: □ よしむらさん: □ Konkiti さん: □ Seiji Kaneko さん: □ Yuji Senda さん (日本語訳 sgml のチェッ ク)