忍者ブログ
PCをいじったときのメモ
[17]  [15]  [14]  [13]  [12]  [11]  [10]  [9]  [8]  [7]  [6
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

WindowsとLinuxのマルチブートは簡単。
ネット上にたくさん記述があるし、取り敢えず、最近のならば、
何も分からずにインストールしても勝手にデュアルブートしてくれる。


しかし、マルチブート、もしくはLinux同士のデュアルブートとなると話が少し違って、
設定ファイルを少しいじる必要があるっぽい。

こちらの記述もネット上にたくさんあるけれど、何が書いてあるのかよくわからないことが多い、
取り敢えず試してみるにも、PCが1台しかない場合、恐くてなかなかできない。

と言うわけで、GRUBでChainLoaderを用いたマルチブートの仕方をちょっと詳しく。

ちなみに環境は、プライマリ(つまり始めからはいっているOS)がUbunntu で、
Vineとのデュアルブート。
LInux同士のデュアルブートができれば、マルチブートも簡単。

パーティションに関する基礎的な知識は仮定する。


参考はネットのいたるところ。

まず、マシンの状態はLinuxオンリーでも、Windowsとのデュアルブートでも、どちらでもよい。

この時、PCを付けると、黒い画面に白い字でOSの名前が沢山出てくる画面が出てきて、
その中から時間内に一つを選ぶようになっているはず。

この状況を、ちょっとそれらしく書くと、

『LinuxのGRUBがMBRにインストールされている。』

という感じだと思う(さらにWindowsとのデュアルブートの場合はChainLoaderでデュアルブートしている)。


GRUBというのが、一番初めにOSのルートの場所を指定して、
ちゃんとブートさせるのに必要なソフトで、昔はLILOというのを使っていたらしい。

MBRというのは、マスターブートレコードだかの略で、
電源が入ったときにPCが一番初めに読み込む場所。
ここで適切な命令をすることで、次々と複雑な処理をできる領域へ展開してゆく、っぽい。


つまり、やるべきことは、

『MBRのGRUBに適切な設定をして、複数のOSを選択できるようにする』

ということ。もう少し具体的には、

『適当なパーティションに適当なOSをインストールして、GRUBにChainLoaderの設定を書き加える』



実際にマルチブート環境を構築する。

今回試したのは、Ubuntu7.04をプライマリパーティションにインストールして、
Vine Linux 4.1を拡張パーティションにインストール、そしてデュアルブート。
既にWindowsとデュアルブートしている場合は、
そのLinuxの方がここでのUbuntuに相当すると思えばよい。

初めに、プライマリへUbuntuをインストール。これは普通。
次に、(UbuntuのGpartedなどを使うとよいかもしれない。)拡張パーティションを用意して、
その中にVineをインストール。

ここで超重要設定。
ブートローダ(GRUB)のインストールにおいて、高度な設定を選び、
ブートローダを、Vineをインストールしているパーティション((hd0,5)など)にインストールする。
ここで、そのままインストールしてしまうと、ブートローダがMBRにインストールされてしまい、
Ubuntuをブートできなくなる(もう少し具体的な描像は以下に示す)。

Vineがインストールできたらリブート。
すると、OSの選択画面に新しくインストールしたVineが入っていないので、
仕方なく(というわけではないが)、Ubuntuの方を起動。


ここからGRUBの設定に移る。

% ls /boot/grub

とすると、『menu.lst(grub.configだか何だかのこともあるらしい)』というファイルがあるので、その中を


default         0
timeout         10

title           Ubuntu, kernel 2.6.20-15-generic
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.20-15-generic root=UUID=8337fb4c-2b25-43ec-942
f-1b490fe6f005 ro quiet splash locale=ja_JP
initrd          /boot/initrd.img-2.6.20-15-generic
quiet
savedefault

title           Ubuntu, kernel 2.6.20-15-generic (recovery mode)
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.20-15-generic root=UUID=8337fb4c-2b25-43ec-942
f-1b490fe6f005 ro single
initrd          /boot/initrd.img-2.6.20-15-generic

title           Ubuntu, memtest86+
root            (hd0,0)
kernel          /boot/memtest86+.bin
quiet

title           Vine Linux
root            (hd0,5)
chainloader     +1


という感じで書く。実際には、最後のを書き加える相当の作業をする。簡単に説明すると、

default :デフォルトでブートするOSの番号。今はUbuntu。
timeout :選択時間。今の場合は10秒経つと、その時指していたOSを起動。 
title   :選択画面に出てくる名前。
root   :/のある場所 
kernel    :カーネルの種類
chainloader :これが重要

その他は分からない。
初めの三つはUbuntuインストール時に勝手に書き込まれている設定。
最後のは、『Vineをインストールしたパーティションの先頭に入っているGRUBを読み出す』
という設定。当然、Vineの/boot/grub/menu.lst(またはgrub.config)にも、同様のことが書いてあって、


default=0
timeout=3

title Vine Linux (Current kernel)
    root (hd0,5)
    kernel /boot/vmlinuz ro root=LABEL=/ resume2=swap:/dev/sda5 vga=0x314
    initrd /boot/initrd.img

title Vine Linux (Previous kernel)
    root (hd0,5)
    kernel /boot/vmlinuz.old ro root=LABEL=/ resume2=swap:/dev/sda5 vga=0x314
    initrd /boot/initrd.old.img

という感じ。
rootの内容は、後からでも簡単に調べられるし、インストール時に覚えておけば良いが、
kernelの内容を調べたりするのは面倒。

/bootを共有するというマルチブート方もあるらしいが、
何度もインストールすることなどを考えれば、明らかにこちらの方が楽、な気がする。


ここまでできたら、システムをリブートすると、初めに出てくるGRUBの選択画面にVineの項が
加わっていて、そこを選択すると、もう一度、今度はVineのGRUBが出てきて、
Vineを起動することが出来る。

出来なかったら、OSのインストール先を正しく設定しているかなどを再度調べてみるとよい、
パーティションを指定する数字などは0から始まるので、1だけずれていることなどがある。


おまけ。
Ubuntuで設定ファイルなどの、管理者権限が必要なファイルを書き換えようとしても、

% sudo emacs  FILENAME &

としたらすぐにエディタが閉じてしまい編集できない。
この場合は、編集したいファイルを見たり移動したりはできるので、
バックアップの意味も込めて、当該ファイルをまるごとhomeのどこかに溜めておき、
コメントを除いた、必要な部分のみのコピペと追加の設定を書き加えて、
元のファイルと同じ名前にして、あった場所に放りこんでおけばよい。

PR
この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
カレンダー
07 2025/08 09
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
リンク
フリーエリア
最新CM
最新TB
プロフィール
HN:
No Name
性別:
非公開
バーコード
ブログ内検索
カウンター
アクセス解析
忍者ブログ [PR]