
これはかなり一般的な問題だとわかっていますが、一般的な解決策(以下に列挙)をいくつか試しましたが、効果はありませんでした。
基本設定: Fedora 31 / Ubuntu 18.04 デュアルブートを設定しています。それぞれに暗号化された / パーティションと暗号化されていない /boot パーティションが別々に用意され、/boot/efi パーティションが 1 つずつあり、合計 5 つになります。最初に Fedora をインストールし、次に Ubuntu をインストールしました。すべてがスムーズに進み、efi ブート メニューからどちらでもブートできます。ただし、efi ブート順序をロックし、grub でスタートアップの選択を行いたいのですが、現在の Ubuntu grub オプションには Fedora がありません。そこで、Fedora を起動し、grub2-install /dev/sda
MBR を 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
。
- 私はもう試したコマンドの拡張
grub2-install --target=x86_64-efi --efi-directory=/boot/efi --bootfloader-id=grub2
変更なし。 - 私も試してみました
dnf reinstall grub2-efi shim grub2-tools
- そしてインストール
grub2-efi-modules
これらすべてにもかかわらず、私の/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-modules
Fedora にパッケージをインストールすることで、不足しているモジュールを追加できました。
私の場合、その後、「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をインストールすることで解決しました