PCをいじったときのメモ
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
WindowsとLinuxのマルチブートは簡単。
ネット上にたくさん記述があるし、取り敢えず、最近のならば、
何も分からずにインストールしても勝手にデュアルブートしてくれる。
しかし、マルチブート、もしくはLinux同士のデュアルブートとなると話が少し違って、
設定ファイルを少しいじる必要があるっぽい。
こちらの記述もネット上にたくさんあるけれど、何が書いてあるのかよくわからないことが多い、
取り敢えず試してみるにも、PCが1台しかない場合、恐くてなかなかできない。
と言うわけで、GRUBでChainLoaderを用いたマルチブートの仕方をちょっと詳しく。
ちなみに環境は、プライマリ(つまり始めからはいっているOS)がUbunntu で、
Vineとのデュアルブート。
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のどこかに溜めておき、
コメントを除いた、必要な部分のみのコピペと追加の設定を書き加えて、
元のファイルと同じ名前にして、あった場所に放りこんでおけばよい。
この時、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
この記事にコメントする