grub rescue
に関連する多くの質問と回答を経験しましたが、理解できない別の問題が発生しています。
いくつかの答えに従って、私はこの問題を解決するために次の手順を試しました-
まず、ls
コマンドを使用して、すべてのパーティションを取得しました。私の場合は、(hd0)
、(hd0,msdos5)
、(hdo,msdos1)
、(hd1)
& (hd1,msdos1)
上記の5つのパーティションから、Filesystem is ext2
ドライブのメッセージが表示されました(hd0,msdos1)
。
ask ubunt & スタック交換 で提供された回答のいくつかに従ってroot
&を設定しようとしましたprefix
using (hd0,msdos1)
ドライブ(ls
コマンドを使用して見つけました)
prefix
を設定しているときに、選択したドライブ/boot/grub
に(hd0,msdos1)
ディレクトリが存在しないことに気付きました。
この結果、insmod normal
コマンドを実行しようとすると、grubrescueは/boot/grub/i386-pc/normal.mod
not foundというエラーを表示します。
これとは別に、ubuntu 14、16、17、18、さらにはWindows OSで起動可能なUSBドライブを使用してみましたが、常にgrubレスキューウィンドウが表示されました。
これは私に次の質問を残します-
ルートドライブとして間違ったドライブを設定していますか(これが5つの参加ドライブの中で唯一のext2ドライブである場合)?
/boot/grub
フォルダをルートディレクトリに含めて、ʻinsmod normalコマンドを実行できるようにする方法はありますか?
システムが起動すると、ブートパーティションは/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
を実行します
カーネルモジュールのロードに関しては、ライブブートシステムからロードします。