• 締切済み

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ファイルの内容が反映されるようになるでしょうか。

みんなの回答

回答No.6

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

  • tk_uc
  • ベストアンサー率68% (33/48)
回答No.5

# update-grub とか。

  • u-kid
  • ベストアンサー率50% (34/67)
回答No.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が入ったままで、そちらから起動していたという経験もあります。

noname#98978
noname#98978
回答No.3

>一度menu.lstを削除してみました。 menu.lst を削除すると起動しません。 >書き方は間違っていません。 間違っていないことを証明してください。

strings12
質問者

補足

回答して頂いているのに、こんなこと言うのは申し訳ないのですが・・・ >menu.lst を削除すると起動しません。 ご自分でこう言っておきながら、「間違っていないことを証明してください。」と言うのは矛盾していませんか? No.2の方の回答にも補足しましたが、menu.lstの書き間違い云々以前に、ファイルが有る無しに関わらず、GRUBでOS選択メニューが表示され、起動します。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

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

strings12
質問者

補足

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

noname#98978
noname#98978
回答No.1

>何故menu.lstが反映されないのか、 どこか書き方が間違っているからでしょう。

strings12
質問者

補足

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

関連するQ&A

専門家に質問してみよう