Debian Wheezyで書き換えるときにGRUB 2がインストールされている場所をどのように検索または変更しますか?

Debian Wheezyで書き換えるときにGRUB 2がインストールされている場所をどのように検索または変更しますか?

私はDebian Wheezyシステムを持っています。最近のアップグレード中に、GRUBはext2ファイルシステムが埋め込みをサポートしていないというエラーメッセージを受け取りました(以前は見たことがありません)。ちょっと掘ってみると問題はGRUBをインストールしたようです。 / dev / md0のブートレコードを直接フォーマットします(MDコンテナにはパーティションがありません)。

grub-installRAWディスクデバイス(GRUBで)を手動で指定することでこの問題を解決できましたが、(hd0)次にGRUBが更新された場合は、この問題が再び発生するように感じます。

これにより、GRUBのインストール場所が実際にWheezyに保存されている場所を見つけることができました。しかし、検索結果はmd0興味深い結果は出ませんでした。

私の質問は:特にDebian Wheezyについてです。GRUBの設置場所はどこに設定されていますか?つまり、GRUB設定をパーティションブートレコードからマスターブートレコードに変更するには、どの特定のファイル(およびそのファイルの設定)を変更する必要がありますか?

答え1

したがって、問題は、 grub が /boot が /dev/md0 にあり (hd0) が device.map で /dev/md0 として表示されるため、MBR が /dev/md0 にある必要があると仮定できることです。これによりエラーが表示されます。 message 、 /dev/md0 に MBR がないからです。良いニュースは、元のMBRとブートローダがまだBIOSブートデバイス(おそらく/ dev / sda)にあることです。これがシステムが起動する理由です。この下位レベルのブートコードはほとんど変更されないため、更新しなくても大きな問題はありません。このエラーメッセージを見て生きる必要があるかもしれませんが、試して/確認することができるいくつかのことがあります。

  • BIOSブートデバイスに他のブートパーティションがないことを確認してください。まだマウントされていないため、まったく表示されません。 /etc/fstab に /boot エントリがない場合、これが発生する可能性があります。
    • ext2 または ext4 パーティションとして表示され、500 MB 未満にすることができます。
  • grub2には実際には必要ありません。device.mapの名前を変更すると、インストール後にスクリプトおよび/またはgrubインストールにエラーメッセージが表示されることがあります。
  • 次に grub-install /dev/sdX を実行します。 (ここでsdXは実際のBIOS起動デバイスです)。 これにより、デバイスのMBRと起動コードが更新され、デバイスが使用されなくなります。
    • それでも機能しない場合は、次のことができます。 grub-install --boot-directory=/boot /dev/sdX

設定は少し奇妙ですが、grub2でサポートする必要があります。最終的には、エラーメッセージを参照しながら年に1回、grub-installを手動で実行する必要があるかもしれません。

関連情報