web-dev-qa-db-ja.com

グラブレスキューモード-/ boot / grubディレクトリが存在しません

grub rescueに関連する多くの質問と回答を経験しましたが、理解できない別の問題が発生しています。

いくつかの答えに従って、私はこの問題を解決するために次の手順を試しました-

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

  2. 上記の5つのパーティションから、Filesystem is ext2ドライブのメッセージが表示されました(hd0,msdos1)

  3. ask ubuntスタック交換 で提供された回答のいくつかに従ってrootを設定しようとしましたprefix using (hd0,msdos1)ドライブ(lsコマンドを使用して見つけました)

  4. prefixを設定しているときに、選択したドライブ/boot/grub(hd0,msdos1)ディレクトリが存在しないことに気付きました。

  5. この結果、insmod normalコマンドを実行しようとすると、grubrescueは/boot/grub/i386-pc/normal.mod not foundというエラーを表示します。

  6. これとは別に、ubuntu 14、16、17、18、さらにはWindows OSで起動可能なUSBドライブを使用してみましたが、常にgrubレスキューウィンドウが表示されました。

これは私に次の質問を残します-

  1. ルートドライブとして間違ったドライブを設定していますか(これが5つの参加ドライブの中で唯一のext2ドライブである場合)?

  2. /boot/grubフォルダをルートディレクトリに含めて、ʻinsmod normalコマンドを実行できるようにする方法はありますか?

1
planet_hunter

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

検索しているディレクトリは、bootパーティションの/grubです。

システム全体をマウントする場合は、最初に/をマウントし、次に/bootをその上にマウントする必要があります。

実際、同じアーキテクチャのライブDVDを使用している場合は、次のものをマウントすることがよくあります。

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

そして、chroot /mntを実行します

カーネルモジュールのロードに関しては、ライブブートシステムからロードします。

1
Rui F Ribeiro