在阅读了几乎所有类似的问题后,我无法让 Grub 识别我的新安装的 Fedora。
之前,我是双启动 Windows 和 Arch。我已经删除了 Arch 并安装了 Fedora。然而,我想我在这个过程中混淆了 Grub。安装 Fedora 后启动时,我会收到grub-rescue
提示。我的猜测是 Grub 仍然可以看到 Arch 安装中的配置。
我尝试从 live CD 启动 Fedora,挂载根分区(/dev/sda6
在我的例子中;启动分区是/dev/sda5
),但运行grub2-install
没有成功。该命令需要传递一个目标或目录。
任何帮助表示赞赏!
答案1
尝试其中一项或两项:
sudo dnf reinstall shim-* grub2-*
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
但是,当然,从实时映像启动,您仍然必须 chroot 到正确的根卷并安装正确的启动卷。
--http://rboci.blogspot.com/2021/04/updating-uefi-boot-record-on-fedora.html
答案2
要从实时映像重新安装 Grub,您需要绑定 mount /sys/firmware/efi/efivars
。
将根分区挂载到
/mnt/root
.挂载EFI启动分区:
mount /dev/sda1 /mnt/boot/efi
绑定挂载特殊分区:
mount -o bind /dev /mnt/root/dev mount -o bind /proc /mnt/root/proc mount -o bind /sys /mnt/root/sys mount -o bind /run /mnt/root/run mount -o bind /sys/firmware/efi/efivars /mnt/root/sys/firmware/efi/efivars
Chroot 到损坏的安装:
chroot /mnt/root /usr/bin/bash
重新安装 Grub:(
sudo dnf reinstall shim-* grub2-*
或任何其他救援操作)。
看bruteforks 评论 @ 在 Fedora 中从实时镜像设置 chroot。为 Fedora Gist 重新生成 grub2。