「グラブ構造」が発生するのを防ぐ方法は?

「グラブ構造」が発生するのを防ぐ方法は?

私はすでに「グルーブ構造」から回復する方法を知っているので、これについては尋ねません。

私はハードドライブがほとんどなく、いくつかの目的でパーティションを変更します。しかし、これを行うたびに "grub構造"が発生しますが、それを処理することはできますが面倒です。それを防ぐ方法はありますかgrub rescue? (例:grubを別のローダーに置き換え、独自のスクリプトをインストールするなど)

修正する:詳細を追加

  • 私はパーティショニングを使用していませんが/boot/

  • 私のルートパーティションは、より大きな拡張パーティションの一部です。

  • 私のルートパーティション/dev/sda1/dev/sda5。デュアルブートを使用します(Windowsはにあります/dev/sda1)。

  • 拡張パーティションの一部を変更すると、そのアドレス/名前(つまり(hd0,msdosX)それが何であるかわからない)が変わるため、grubの使用中に「grub構造」を回避することはできません。たぶんブートローダを変更することが唯一の解決策かもしれません

  • ls「grub構造」では、grubはパーティションの数とパーティションがext2/3/4かどうか(および経由で)を知っているため、ls (hdX,msdosY)grubがパーティションをスキャンして見つけた最初のextパーティションを起動できるようにすることができれば問題が発生します。解決しました!

答え1

grubが構造モードに入った理由によって異なります。

これは、grubが最初にロードされた部分を見つけることができないために発生する可能性があります。従来のPCパーティションテーブルの場合、これらの部分は通常、パーティションテーブルと最初のパーティションの間の類似の安全ポイントにインストールされます。この場合は、別のブートローダをインストールしたり、ディスクを完全に消去したり、パーティションを再構成してこの領域を妨げたりしないでください。 GPTパーティションの場合、これらの部分は専用のBIOSブートパーティションにインストールされます。この場合、パーティションを妨害/移動しないでください。

あるいは、グルーブがそれ自体、またはモジュールまたは構成の遅くロードされた部分を見つけることができないために発生する可能性があります。/bootファイルシステムがある場合はファイルシステムにあり、そうでない場合はルートファイルシステムにあります。

  • 仕切りを使用する場合は、仕切りに/boot触れたり移動したりしないでください。安全です。
  • パーティションを使用せずに/bootルートファイルシステムのパーティションを、grubの検索機能を妨げる方法で使用している場合は、/bootgrubが見つけることができるパーティション(小さくて決して触れられないパーティション)を使用することを検討してください。より安定して。

答え2

kaliで起動したら、ターミナルを開き、次のように入力します。

sudo apt-get update
sudo apt-get install --reinstall grub-pc
sudo grub-install /dev/sda
sudo update-initramfs -u
sudo update-grub

関連情報