grub2インストールエラー:modinfo.shが見つかりません。一般的な回避策を試してください。

grub2インストールエラー:modinfo.shが見つかりません。一般的な回避策を試してください。

私はこれが非常に一般的な質問であることを知っていますが、以下にリストされている一般的な答えの多くを試しましたが、役に立ちませんでした。

デフォルト設定:私はそれぞれ別々の暗号化/非暗号化/ブートパーティションと/ boot / efiパーティション、合計5つを使用してFedora 31 / Ubuntu 18.04デュアルブートを設定しています。 Fedoraを最初にインストールしてからUbuntuをインストールしました。すべてが順調に進み、efiブートメニューからそれらの1つからブートできます。 efiブート順序をロックしてgrubからブートを選択したいのですが、現在Ubuntu grubオプションにはFedoraはありません。そのため、Fedoraで起動し、grub2-install /dev/sdaMBRをFedoraのgrub構成にリセットし、Ubuntuを追加しようとしました。代わりに、私はあまりにも一般的なものを得ますgrub2-install: error: /usr/lib/grub/x86_64-efi/modinfo.sh doesn't exist. Please specify --target or --directory

それでも私のディレクトリ/usr/lib/grubで見つけることができるものarm64-efii386-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変数をサポートしていません」という別のエラーが発生しました。 chroot環境を終了し、efivarfsモジュールをロードして問題を解決した別のstackexchange投稿を見つけましたmodprobe efivarfs。次に、インストールされているルートディレクトリに再度ログインしますmount -t efivarfs efivarfs /sys/firmware/efi/efivars

答え3

Ubuntuで(efiサポートが作成されます)/usr/lib/grub/x86_64-efi)

sudo apt install grub-efi

答え4

grub2-efi-modulesとefibootmgrをインストールして問題を解決しました。

関連情報