Grub回復モード - /boot/grubディレクトリが存在しません。

Grub回復モード - /boot/grubディレクトリが存在しません。

関連する質問と回答をたくさん経験しましたgrub rescueが、とても分からない別の問題に封着しました。

いくつかの回答に基づいて、この問題を解決するために以下の手順を実行しました。

  1. まず、lsコマンドを使用してすべてのパーティションをインポートします。私の場合(hd0)、、、、&(hd0,msdos5)​​(hdo,msdos1)(hd1)(hd1,msdos1)

  2. 上記の5つのパーティションのうちFilesystem is ext2メッセージを残してください(hd0,msdos1)運転する。

  3. 提供された回答の一部に基づいてアクブンツ&スタック交換設定しようとしています。root&prefix使用 (hd0,msdos1)ドライブ(lsコマンドを使用して見つかりました)

  4. セットアップ中に、選択したドライブにそのディレクトリが存在しないことにprefix気づきました。/boot/grub(hd0,msdos1)

  5. その結果、発射しようとするとinsmod normalコマンドを実行すると、Grub Rescueで次のエラーが発生します。/boot/grub/i386-pc/normal.mod見つかりません

  6. それに加えて、ubuntu 14、16、17、18、およびWindows OSで起動可能なUSBドライブを試してみましたが、常にgrub回復ウィンドウに入ります。

これにより、次のような質問が残ります。

  1. 間違ったドライブをルートドライブとして設定していますか?

  2. 含める方法はありますか?/boot/grub私が実行できるように、ルートディレクトリのフォルダ`insmodノーマル注文する?

答え1

/bootシステムの起動時に起動パーティションがマウントされるため、そこには見つかりません/boot/grub

検索するディレクトリは/grubこのbootパーティションにあります。

システム全体をインストールするには、最初のシステムをインストールしてからその上//bootインストールする必要があります。

実際、同じアーキテクチャのLive DVDにある場合は、以下をマウントすることがよくあります。

/mnt -> root partition
/mnt/boot -> boot partition
/mnt/proc /proc
/mnt/sys /sys
/mnt/dev /dev

それからchroot /mnt

カーネルモジュールをロードする場合は、ライブブートシステムからロードします。

答え2

ls (hdo,msdos1)

ここで提供されているファイルシステムはext2と言われました。

set boot=(hdo,msdos1)  
set prefix=(hdo,msdos1)/boot/grub
insmod normal
normal

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

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

関連情報