こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

GRUBのメニューに反映されない

Debian4.0を使用していますが、OS起動時(GRUB起動時)、/boot/grub/menu.lstに記述したOSタイトルが選択リストに表示されません。

menu.lstを更新した時の詳細を以下に記述します。

1.カーネルを再構築
  「make-kpkg」でカーネルパッケージを作成し、「dpkg -i」でインストール

2.インストール完了後、念の為menu.lstに新たに構築したカーネルが追加されていることを確認。

3.OS再起動。
  GRUBのOS選択リストの中に、menu.lstに追加したカーネルバージョンが表示されていない。

4.今度はmenu.lstの「timeout=」や「default=」の値を変更してみるが、やはり反映されない。

5.findコマンドで確認したが、/boot/grubディレクトリ以外にmenu.lstは存在しない。
  念の為確認したが、grub.confファイルも存在しない。


上記のように、/boot/grub/menu.lstを更新しても反映されません。
しかし、GRUBは何かの設定ファイルを読んでいるようです。

何故menu.lstが反映されないのか、GRUBは一体どのファイルを読んでいるのか全く分かりません。
どうすれば/boot/grub/menu.lstファイルの内容が反映されるようになるでしょうか。

投稿日時 - 2007-09-27 14:06:50

QNo.3381174

困ってます

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(6)

ディストリによっては
/boot/grub/grub.conf
があったりしませんか?

投稿日時 - 2007-10-02 00:33:12

ANo.5

# update-grub
とか。

投稿日時 - 2007-09-28 18:03:04

ANo.4

ハードディスクの構成やパーティションの構成、他のOSのインストール状況などが解るともう少し回答しやすいのですが、別のパーティションなりドライブなりにGRUBのファイルが入っているのではないかと思います。

ブート後、GRUBのメニューが表示されているところで、"c"のキーを押すとコマンドラインモードに入ります。そこで root コマンドを実行してください。どこにインストールされたGRUBが動作しているか解ります。

hd(0,4): Filesystem type is ext2fs, patition type 0x83

のように返ってきますので、
hd <- ATA接続のHDD
(0, <- Primary Master
4) <- Partition 5
という風にGRUBの入っている場所が解ります。これがDebianをインストールしたパーティションと異なっていれば、そちらに入っているファイルが読まれていることになります(他のLinux distributionと同居させたりすると、こういうことが起こります)。
同じだった場合は、menu.lstが/boot/grub以外の場所に設定されている可能性があります。

いずれにせよ、Debianの設定を優先させたいのでしたら、GRUBの再インストールをするのが良いと思います。(grub-installのman pageをごらん下さい)。

あと、最近はフロッピーを搭載していないPCが多くなってきたので余り経験しなくなりましたが、インストール時に作成したレスキュー用GRUB FDが入ったままで、そちらから起動していたという経験もあります。

投稿日時 - 2007-09-28 17:55:15

ANo.3

>一度menu.lstを削除してみました。

menu.lst を削除すると起動しません。


>書き方は間違っていません。

間違っていないことを証明してください。

投稿日時 - 2007-09-27 20:57:07

補足

回答して頂いているのに、こんなこと言うのは申し訳ないのですが・・・

>menu.lst を削除すると起動しません。
ご自分でこう言っておきながら、「間違っていないことを証明してください。」と言うのは矛盾していませんか?

No.2の方の回答にも補足しましたが、menu.lstの書き間違い云々以前に、ファイルが有る無しに関わらず、GRUBでOS選択メニューが表示され、起動します。

投稿日時 - 2007-09-28 10:26:28

ANo.2

ん~, こんだけの条件しかないと, 「menu.lst が間違っている」という #1 の判断が妥当でしょうねぇ.
あとは, grub が起動時に使う menu.lst が実は別だという可能性もないことはない (grub が menu.lst を探すパーティションを, Linux の起動後にマウントしているとは限らない) だろうけど....

投稿日時 - 2007-09-27 19:59:54

補足

一度menu.lstを削除してみました。
その後、再起動してみると、いつもと同じようにOS選択リストが表示されました。
/boot/grub/menu.lstが無いにもかかわらず、GRUB起動時には3つのカーネルバージョンのDebianが表示されます。

一体どういうことなんでしょ・・・

投稿日時 - 2007-09-27 20:08:34

ANo.1

>何故menu.lstが反映されないのか、

どこか書き方が間違っているからでしょう。

投稿日時 - 2007-09-27 16:54:26

補足

書き方は間違っていません。
質問文にも記述しましたが、他の項目(defaultやtimeout)も反映されません。

投稿日時 - 2007-09-27 17:21:52

あなたにオススメの質問