grub2-install 錯誤:modinfo.sh 遺失 - 嘗試常見解決方案

grub2-install 錯誤:modinfo.sh 遺失 - 嘗試常見解決方案

我知道這是一個非常常見的問題,但我嘗試了很多常見的答案(下面列舉),但都無濟於事。

基本設定:我正在設定 Fedora 31 / Ubuntu 18.04 雙重引導,每個分割區都有一個單獨的加密 / 和非加密 /boot 分割區,以及一個 /boot/efi 分割區,總共 5 個。 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

儘管如此,我在我的/usr/lib/grub目錄中可以找到的只是arm64-efiandi386-pc但沒有x86_64-efi。我對 bootmgr 的東西有點不了解(我的經驗一直延伸到解決這些問題,直到每次我有新安裝時它們都能工作)。

有人猜測問題是什麼或在其他地方尋找答案嗎?

答案1

首先我運行“dnf提供”來找到正確的包:

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 上(這將創建 efi 支援)/usr/lib/grub/x86_64-efi

sudo apt install grub-efi

答案4

我透過安裝 grub2-efi-modules 和 efibootmgr 解決了

相關內容