## Linux+Win9x+Grub HOWTO

Joel
Rosen
千絵
中谷
日本語翻訳

           jeanne@mbox.kyoto-inet.or.jp

v1.0
2002-01-10
jr
Initial release.

この HOWTO は、インストール済みの linux に影響を与えずに、コンピュー タを、Windows と Linux のデュアルブートマシンに変更するため GRUB ブー トローダを使う方法について述べています。

## はじめに

### この方法で行う理由

私は、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 をインストールできるわけです。

### 著作権とライセンス

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 フリー文書利用許諾契約書」の日本語訳はこちらにあります。

## 必要なもの

### 何が必要か

下の手順を使うには、次のような条件を満たしていること：

- Linux がインストールしてあり、動作していること。

- Windows をインストールするパーティションを作成するのに十分な 余裕があること。

- GNU Parted GNU Partedのようなパーティションエディタを持っていること。

- GRUBの rpm パッケージまたはソースを持っていること。

- CDROM をサポートしている Windows/DOS ブートディスクと Windows 9x がインストールしてある CD、 または、起動可能な Windows 9x インストール CD があること。 あるいはブート可能なインストール CD があること。

- (あったほうがよいもの) Linux のブートディスク

## 手順

### 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 はあま りにもおばかさんなので、自分の好きなようにパーティションテーブルを書き 換えてしまいます。ですから、緊急事態発生の場合に備えて、自分のパーティ ションがどんな風になっていたかを知っておいたほうが良いでしょう。

### GRUB をインストールする

#### インストール

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" を利 用するように変更されているようです。お使いの環境に合わせて読み替えてくだ さい。

#### 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 をインストールできます。

### Windows をインストールする

コンピュータから、フロッピーディスクと CD をすべて外し、再起動します。 ドライブにインストールメディアを入れたまま、再起動してはいけません。そ の場合、BIOS は、直接的に Windows インストールを起動してしまい、GRUB はそのからくりを使うチャンスがなくなってしまいます。GRUB メニューが立 ち上がってから、インストールの方法によって、フロッピーディスクまたは CD を差し込み、DOS boot disk または、Windows install CD boot を選択し ます。Windows のインストールは、Windows から C: ドライブに見えるように 作ったパーティションを見つけるはずです。さあ、Windows をインストールし ましょう。

さあ、これで、あなたのコンピュータはデュアルブートマシンになります。

## 日本語訳について

翻訳に関するご意見は JF プロジェクト <JF@linux.or.jp> 宛に連絡 してください。

校正およびご意見を頂いた方々::

  日本語訳 Feb. 2002

  - 水原さん：mizuhara@acm.org

  - TAKAHASHI, Tamotsu さん：arms405@jade.dti.ne.jp

  - 谷さん：tani-yukio@yis.yamatake.co.jp

  - よしむらさん：ramsy@linux.or.jp

  - Konkiti さん：konkiti@lares.dti.ne.jp

  - Seiji Kaneko さん：skaneko@a2.mbn.or.jp

  - Yuji Senda さんysenda@pop01.odn.ne.jp (日本語訳 sgml のチェック)