grub2-install エラー: modinfo.sh が見つかりません - 一般的な解決策を試しました

grub2-install エラー: modinfo.sh が見つかりません - 一般的な解決策を試しました

これはかなり一般的な問題だとわかっていますが、一般的な解決策(以下に列挙)をいくつか試しましたが、効果はありませんでした。

基本設定: Fedora 31 / Ubuntu 18.04 デュアルブートを設定しています。それぞれに暗号化された / パーティションと暗号化されていない /boot パーティションが別々に用意され、/boot/efi パーティションが 1 つずつあり、合計 5 つになります。最初に Fedora をインストールし、次に Ubuntu をインストールしました。すべてがスムーズに進み、efi ブート メニューからどちらでもブートできます。ただし、efi ブート順序をロックし、grub でスタートアップの選択を行いたいのですが、現在の Ubuntu grub オプションには Fedora がありません。そこで、Fedora を起動し、grub2-install /dev/sdaMBR を Fedora の grub 構成にリセットして Ubuntu を追加しようとしました。代わりに、oh-too-common が表示されましたgrub2-install: error: /usr/lib/grub/x86_64-efi/modinfo.sh doesn't exist. Please specify --target or --directory

これらすべてにもかかわらず、私の/usr/lib/grubディレクトリで見つけられるのはarm64-efiとだけで、i386-pcはありませんx86_64-efi。私はこの bootmgr 関連のことは少し理解できません (私の経験では、新規インストールのたびにこれらの問題を解決して動作させるまでです)。

問題が何であるか推測できる人や、答えを探す別の場所を知っている人はいますか?

答え1

まず、適切なパッケージを見つけるために「dnf provide」を実行しました。

dnfは/usr/lib/grub/x86_64-efiを提供します

次に、完全な名前を使用して適切なパッケージをインストールしました。

dnf インストール grub2-efi-x64-modules-1:2.06~rc1-2.fc33.noarch

答え2

grub2-efi-x64-modulesFedora にパッケージをインストールすることで、不足しているモジュールを追加できました。

私の場合、その後、「EFI 変数はシステムでサポートされていません」という別のエラーが発生しました。別の StackExchange の投稿を見つけ、chroot 環境を終了して で efivarfs モジュールをロードすることでこれを修正できましたmodprobe efivarfs。その後、マウントされたルートに再度ログインし、 でマウントしましたmount -t efivarfs efivarfs /sys/firmware/efi/efivars

答え3

Ubuntuの場合(これにより、/usr/lib/grub/x86_64-efi

sudo apt install grub-efi

答え4

grub2-efi-modulesとefibootmgrをインストールすることで解決しました

関連情報