Archive for 7月 1st, 2009



ルートファイルシステムに ext4 を使うときの GRUB の設定

水曜日, 7月 1st, 2009

うーんタイトルが…。自分の日本語能力に嫌気がしますねぇ。

ファイルシステムの構造は以下のような場合を想定します。

/boot
ext3
/
ext4

この場合、GRUB が「/」(ルートパーティション) のファイルタイプを識別できず、OS が立ち上がらない問題があります。

記憶では、GRUB 2.0 だと ext4 も認識するので、問題ありませんが、Debian の GRUB は古い(安定してる)ので、
手動で「/」のファイルタイプを与える必要があります。

あまり最近調べてないので状況がわかりませんが、設定してても問題ない気がするので書いておく。

また、lenny で入ってる GRUB は以下です。おそらく、この記事の設定が必要です。

% dpkg --list | grep grub
ii  grub                                0.97-47lenny2
ii  grub-common                         1.96+20080724-16

設定方法は簡単で、GRUB の kernel の行に rootfstype=ext4 を追加するだけです。

# emacs /boot/grub/menu.lst
title           Debian GNU/Linux, kernel 2.6.30-amd64
root            (hd0,4)
kernel          /boot/vmlinuz-2.6.30-amd64 root=/dev/sda5 ro
initrd          /boot/initrd.img-2.6.30-amd64

ほとんどの場合、こんなかんじになってるはずなのでこれを以下のようにします。

# emacs /boot/grub/menu.lst
title           Debian GNU/Linux, kernel 2.6.30-amd64
root            (hd0,4)
kernel          /boot/vmlinuz-2.6.30-amd64 root=/dev/sda5 ro rootfstype=ext4
initrd          /boot/initrd.img-2.6.30-amd64

これだけ。

また一つ注意する注意することがあります。
Debian の場合、grub-update か update-grub が走ったとき(どっちか忘れた)、rootfstype=ext4 が消えるので、
update-grub か grub-update が走ったときは毎回 rootfstype=ext4 を追加しないといけません。

これは、どうしたらいいんでしょうね。