Thursday, May 28, 2009

Linux Mint 7 Gloria をUSBメモリに入れてみたら・・・

動かん。ブートメニューはきれいに出てくるのに、その後に「そんなディスクはおまへん」というメッセージが出てきて、にっちもさっちもいかん。

これはGrub Menuのしわざではないかと、Gloriaの入ったUSBを突っ込んだままHDに入っているUbuntu 9.04をとりあえず立ち上げる。それから、USBの中をのぞきに行った。/boot/grubの中にあるmenu.lstをあけると、ほれ見たことか、ブートするディスクがsdaとかsdbとかいう具合にしてある。sdaは普通そのマシンのHDに割り当てられる名前なので、別に問題はないが、入れたり出したりする、USBにそんな名前を固定してつけられても、違うマシンに突っ込んで起動しようとすると、当然わけが分からなくなる。

GloriaをUSBにインストールした時に使っていたEeePCを例にすると、名前は次のように割り当てられていた。
HD=sda
SD=sdb
USB 1=sdc
USB 2=sdd
USB 3=sde

今回GloriaをインストールしたUSBはたまたまUSB 2に突っ込んでいたので、menu.lstにはsddからブートするみたいに書き込まれたのだが、違うところに突っ込んだり、他のマシンに突っ込むと、sddというのはどこにあるのだ!ということになってしまう。

これを解決するには、UUIDをブート元の名前に使う。これは各メディアに与えられる固有の名前のようなものらしい。menu.lstにその固有名が指定してあれば、USBをどのマシンに突っ込んでもちゃんと読み込まれるというわけだ。

で、最初の一歩はこのGloriaを入れたUSBのUUIDはなんなのか探すことなのだが、これが簡単に分からずいろいろ探してみたが、結論はこのページが一番優れていた。その名も、

How to find your UUID’s for devices in Ubuntu (and other Debian based distros)

という、そのまんまの便利なページであった。
三種類の方法が乗っていたが、一番最後の方法でないとうまく行かない。やることは、うんともすんとも言わないGloriaの入ったUSBを突っ込んだまま、ターミナルに、

ls -l /dev/disk/by-uuid 


と打ち込む。すると、マント中であろうが、アンマウント中であろうが、そのマシンに繋がっている、すべてのメディアのUUIDがずらっと出てくる。他の二つの方法ではそうは問屋が卸さなかった。実際の結果は例えば、こんな感じ(↓)。明るい青色部分がUUID。

これをよくにらんでどのUUIDが今探しているUSBのものなのか確認してメモしておく。例えば、このスクリーンショットを撮った時、USBはsdbになっていた。sdb1 がブートしたいパーティション、sdb2 がswapの入っているパーティションになっていた。

次にやることは、USBの中のmenu.lstを書き換えること。これもターミナルから、USBに入っているmenu.lstまでのpathを間違えないように指定してmenu.lstを開く。うっかり別のmenu.lstを書き換えてしまうと悲惨。pathはフォルダを一つずつ開けて、menu.lstまで行って、nautilusで確認したらよいと思う。僕の例では、/media/boot/grub/menu.lstになっていたので、次のようにして、menu.lstを開けた。(/boot/grub/menu.lstだと、たぶん今立ち上げているシステムのブートメニューなので、それを書き換えてしまうと泣きでしょう)。

sudo gedit /media/boot/grub/menu.lst 


それから、そこにUUIDを書き込んで保存した。保存したmenu.lstはこんな感じ。

これで保存して、もう一度このUSBから起動してみると、ちゃんと立ち上がった。万歳三唱。

ついでだが、この後に他の二つの方法を使ってどうなっているのか見てみたら、こんなことになっていた。まず、
cat /etc/fstab 

の場合。

おもしろいことに、「インストールした時はsddだったのに今はかわっちゃった」みたいなことがご丁寧に書いてある。次に、
blkid 

の場合。

これもまたおもしろいことに、なんとsda1としてインストールした時のWindowsのUUIDが出てきた。これはかなり困惑させる。というのは、この三つのスクリーンショットはすべてUbuntu 9.04がHDに入ったマシンで撮っているので、NTFSファイルなんてどこにも存在しない(このsda1のUUIDが一番上のスクリーンショットには登場しないので分かると思う)。インストールした時の記憶が出てきているのだ。
というわけで、三番目の方法が安全確実な情報源だと思われる。

No comments:

Post a Comment