« EeePCの標準OS-Xandros | トップページ | Ubuntu 8.04を8.10にアップグレード中 »

2008年11月20日 (木)

Linuxデュアルブートの落とし穴MBR

SDHCカードにeeeXubuntuなどのLinuxをインストールしようとした時の落とし穴について自分の理解で書いてみます。

eeeXubuntuをインストールしようとするとインストール先を聞いてきます。
SSD4GBを選べば話は簡単なのですがSDHCにインストールする場合は厄介な問題が潜んでいます。
インストール先をSDHCを選んで普通に進めるとブートローダーをSDA(=SSD4GB)にインストールしてしまいます。
これは普通のPCで考えれば自然な行為。
Linuxをインストールしたドライブをむやみに外すこともないですし。
でもSDHCカードは抜き差ししたくなるのが人情。
SDHCカードを無くしたり、消したりするととんでもない目にあうんです。

電源ONでBIOSの起動を終えた後、起動ドライブがSSD4GBだと
まずSSD4GBのMBRを読みに行きます。

新品購入時は
 このPCはアクティブ(起動出来る)な領域はSDA(SSD4GB)だけだよん。
 SDAにあるNTLDRを見てね♪

とSSD4GBのMBRに書いてあり、NTLDRを見た後WindowsXpが起動します。

SDHCカードに普通にeeeXubuntiuをインストールすると
 このPCにはアクティブな領域はSDA(SSD4GB)とSDC(SDHC)の2つだよん。
 ブートの時読み込むmenu.lstはSDHCのn番目のパーティションにあるよ♪
とSSD4GBのMBRは書きかえられ、
 どれどれSDHCの/boot/grub/menu.lstには何が書いてあんのかな?
と読みに行きます。
そしてmenu.lstの中身に従って
 eeeXubuntuにする?WindowsXpにする?と聞いてくるわけです。

なのでSDHCカードを消したり無くしちゃうともう大変!
EeePCはSDC(SDHC)の/boot/grub/menu.lstを探しに行ったきり。。。起動不可。

これを回避するには
eeeXubuntuをインストールする途中で拡張って手順に逸れて
ブートローダーをSDA(SSD4GB)じゃなく、SDC(=SDHC)にインストールします。
手順は EeePCにeeeXubuntuインストール を見てください。

Eeex3

これならSSD4GBには何も書き込まれませんからWindowsXpは無事安泰。

ただそれだけでは済みませぬ。
いざSDHCから起動して/boot/grub/menu.lstを読むと・・・そこには

 eeeXubuntuは(hd2,0)だよん。。。となっています。

でもSDHCから起動しているのでeeeXubuntuは(hd0,0)なんです。厄介ですな。
なので EeePCにeeeXubuntuインストール の手順にある通り、menu.lst の中身を書き換えねばなりません。

そこまで苦労すればSSD4GBのWindowsXp安泰のままSDHCからeeeXubuntuが起動できます。
でも、その苦労の割にはSDHCカードのアクセス速度が遅くてモッサリ。
せっかく苦労するのならClass6の中から選びましょう。
ただEeePCのカードリーダーがボトルネックになるのでむやみに高速のものを求めても意味はなさそうです。

|

« EeePCの標準OS-Xandros | トップページ | Ubuntu 8.04を8.10にアップグレード中 »

コメント

トランセンドのクラス6使ってるんですけど
やっぱり150倍速のやつのほうが断然早いですか??

投稿: ひるこ | 2008年11月20日 (木) 08時37分

私もトランセンドのクラス6です。
リンク先のは速そうですがまだ使ったこと無いです。汗

投稿: アンビンバンコ | 2008年11月20日 (木) 08時43分

ssdのMDRに書かれているのは、
「ブートの時読み込むmenu.lstはSDHCのn番目のパーティションにあるよ」
という情報だけで、menu.lstの内容はどうでもいいんです。
つまり元のsdhcのmenu.lstと違っていてもかまわない。
ただ、menu.lstのあるパーティションの位置が一致していればいい。
SHDC4Gに適当なlinuxを入れておいて、立ち上がらなくなったり、SDHCを外したいときの緊急用に用意しておくといいと思いますよ。

投稿: 通りすがり | 2008年11月20日 (木) 10時58分

私のも虎のclass6で、4GBですが、ホームセンターで千円くらいだったかな?
901で計測して20MB/s位でしたよ。
150倍速ってことは、150kB/s×150倍ってことで、22500kB=22.5MB。
あんまり変わらない気もしますが・・・

投稿: FANG | 2008年11月20日 (木) 13時56分

リンク先のデータはSD2GBですけど、SDHCとほぼ同じデータでした。
2割り増しってとこですかね。
RW4KBが速いといいんですけど。

投稿: FANG | 2008年11月20日 (木) 14時22分

通りすがりさん、こんばんは。
>という情報だけで、menu.lstの内容はどうでもいいんです。
>つまり元のsdhcのmenu.lstと違っていてもかまわない。
>ただ、menu.lstのあるパーティションの位置が一致していればいい。
menu.lstの位置の一致が必要なのは判りますが内容が不一致だとOSを選択しても反応しないと思うのですが。。。

>SHDC4Gに適当なlinuxを入れておいて、立ち上がらなく
>なったり、SDHCを外したいときの緊急用に用意しておく
>といいと思いますよ。
これは判ります。あるはずの所に無いと困りますがあれば先に進みますもの。

投稿: アンビンバンコ | 2008年11月20日 (木) 19時54分

FANGさん、こんばんは。
>RW4KBが速いといいんですけど。
私もここが重要だと思っています。
SLCだから速いだろうなぁと思い載せました。
多くを期待しない表現に改めますね。
言いたかったのはClass6以上にしましょう!・・・なので。

投稿: アンビンバンコ | 2008年11月20日 (木) 20時01分

>menu.lstの位置の一致が必要なのは判りますが内容が不一致だとOSを選択しても反応しないと思うのですが。。。

menu.lstの内容は自分自身とWindowsが起動するようになっていれば十分ですよ。
SDHCのパーティション構成と入っているOSが違えばmenu.lstの内容はまったく違ってきますが、上のことが最低限記述されていれば、使えます。
実際に16GBと4GBのSDHCにLinuxに入れて同じ901マシンでとっかえひっかえ使っています。
SSDにはXPが入っていますが、どちらのSDHCでもXPを起動できます。

投稿: 通りすがり | 2008年11月20日 (木) 20時24分

通りすがりさん、フォローありがとうございます。
>menu.lstの内容は自分自身とWindowsが起動するようになっていれば十分ですよ。

あ、やっぱその二つは必要ですよね。納得です。
先日自作PCでUbuntu8.04のアップデートで最初にXpが起動できるように書き換えていたmenu.lstが書き換えられてしまいXpを選べなくなったんです。
その時は読者の方のためにとキャプチャーしておいたmenu.lst画像でで自分が救われました。(^^;

投稿: アンビンバンコ | 2008年11月20日 (木) 20時33分

どっかで見た記事だと、いくらSDHCが速くても、
901のリーダーがボトルネックになってスピード出ないとか・・・
帰ってからeeeubuntu8.10をSDHCに入れてみます~

投稿: FANG | 2008年11月21日 (金) 15時37分

FANGさん、こんばんは。
EeePC SDHC リーダー ボトルネックで検索したらありました!
あまり高性能のSDHCカードを求めてもリーダーがボトルネックになるようですね。
eeeubuntu8.10、私も考えておりました。

投稿: アンビンバンコ | 2008年11月21日 (金) 19時57分

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1045366/25497990

この記事へのトラックバック一覧です: Linuxデュアルブートの落とし穴MBR:

« EeePCの標準OS-Xandros | トップページ | Ubuntu 8.04を8.10にアップグレード中 »