私はDebian Wheezyシステムを持っています。最近のアップグレード中に、GRUBはext2ファイルシステムが埋め込みをサポートしていないというエラーメッセージを受け取りました(以前は見たことがありません)。ちょっと掘ってみると問題はGRUBをインストールしたようです。 / dev / md0のブートレコードを直接フォーマットします(MDコンテナにはパーティションがありません)。
grub-install
RAWディスクデバイス(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を手動で実行する必要があるかもしれません。