Error 25: Disc Read error

ひさびさにgrub-rebootをしてノートPCを再起動したら上記のエラーが出て全てのOSが起動しなくなった。その後普通に起動してもぴくりともしない。
HDDが壊れたかと思ってびびった〜。

とりあえずの対処は

  • grubのメニュー画面で'c'を押してgrubのシェルを起動する
  • シェルで次の様に打ち込む(/boot/grub/menu.lstの内容)
>root (hd0,2)
>kernel /boot/vmlinuz-2.6.18
>initrd /boot/initrd.img-2.6.18
>boot

これで無事起動する。*1
しかし原因が分からないし、毎回このようにしなければならない。
/boot/grub/menu.lstの内容をチェックしたが問題なし。シェルでそれと同じ内容を入力すれば起動するというのはどういうことだ??
savedefaultが悪さしてるのかな?

追記: 直った

やっぱりsavedefaultが原因だった。
menu.lstのsavedefaultをコメントアウトしたら無事に起動するようになった。
grubのシェルでは

>savedefault
Error 27: Unrecognized command

となるけど、どういうことだろう。この機能は削除されたのかな?
savedefaultは起動したカーネルを覚えて置いて、次回はデフォルトでそれを起動してくれるというものらしいのでとりあえずコメントアウトしても問題ないだろう。

*1:一昨年は確か同じ現象でlinuxを再インストールした記憶がある(笑)成長したな〜。