2011年2月26日土曜日

windows領域の初期化に伴うgrub編集

最近のUbuntu(netbook limix edition)ではgrubが正しく構成され、Windowsも起動できます。初期のEeeUbuntuとかでは設定しても動いたり動かなかったり。便利になりました。

さてさて便利にはなりましたが、Windows領域を初期化した上で再インストールするとボリュームラベルが変更されてしまいます。このためgrubが正しく機能できなくなります。せっかく便利なのにね。EeePC的にはその仕様から起動時にEsc連打で起動デバイスを指定すれば問題ありませんが、できれば修正したいところ。

端末を起動して

sudo vi /boot/grub/grub.cfg

を開きます。DO NOT EDIT THIS FILEとかありますがI HAVE TO EDIT THIS FILEと言い返します。さてずっと下へ移動、次のようなセクションを見つけます。

 menuentry "Microsoft Windows XP Home Edition (on /dev/sda1)" {
        insmod ntfs
        set root='(hd0,1)'
        search --no-floppy --fs-uuid --set 12ab34cdef567g8h
        drivemap -s (hd0) ${root}
        chainloader +1
}

のセクションで"12ab34cdef567g8h"という箇所を変更すればOKです(ここで示した値は架空のもの)。

番号の調べ方はUbuntuでOSのドライブを開くと一番上に「12ab34cdef567g8h - ファイル・ブラウザ」と表示されているこの英数字列。小文字に変更して入力、上書きして再起動すれば動作チェックできます。

なおこのセクションなら書き間違ってもUbuntuが起動しなくなることはありません。 上の方はUbuntu起動のパラメータが書いてあるので要注意ですが、先に示したセクションはWindowsに関するものなので心配なし。またWindowsそのものに手を加えるわけでもないのであまりミスを恐れる必要はありません。

0 件のコメント: