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 <http://www.gnu.org/copyleft/fdl.html>. 著作権は
Copyright (c) 2002 Joel Rosen にあります。この文書のコピー、配付あるい
は修正は、GNU Free Documentation License Version 1.1 または Free
Software Foundation から発行された最新版；(変更不可部分のないもの、表紙
テキストのない、裏表紙テキストがない)の条項のもとに許可されています。ラ
イセンスのコピーはこちら <http://www.gnu.org/copyleft/fdl.html>にありま
す。

日本語訳注：「GNU フリー文書利用許諾契約書」の日本語訳はこちら <http://
www.debian.or.jp/~mhatta/fdl.ja.txt>にあります。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

2. 必要なもの

2.1. 何が必要か

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

 ・ Linux がインストールしてあり、動作していること。
   
 ・ Windows をインストールするパーティションを作成するのに十分な余裕が
    あること。
   
 ・ GNU Parted GNU Parted <http://www.gnu.org/software/parted/>のような
    パーティションエディタを持っていること。
   
 ・ GRUB <http://www.gnu.org/software/grub/>の rpm パッケージまたはソー
    スを持っていること。
   
 ・ CDROM をサポートしている Windows/DOS ブートディスクと Windows 9x が
    インストールしてある CD、または、起動可能な Windows 9x インストール
    CD があること。あるいはブート可能なインストール CD があること。
   
 ・ (あったほうがよいもの) Linux のブートディスク
   
 

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

3. 手順

3.1. Windows 用のパーティションを作る

Windows をインストールするために、すでに空きパーティションやディスクを
確保しているなら、この項はとばしてください。そうでない場合は、お使いの
ディスクをデフラグして、Windows のための新しいパーティションを作るため
にパーティションエディタを使わなければいません。そのあとで、Windows の
ために新しいパーティションを作ります。私は GNU Parted <http://
www.gnu.org/software/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 <http://www.gnu.org/software/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 プロジェクト <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 のチェッ
        ク)
       
