GRUB2 无法检测到新的 Fedora 安装

GRUB2 无法检测到新的 Fedora 安装

我最近使用默认安装过程安装了 Fedora 30,使用媒体驱动器首先尝试系统的实时版本,然后安装到驱动器。我之前在系统上安装了 Ubuntu 和 Windows 10。我的计算机有三个物理驱动器,它们之间有许多分区。问题是 Grub 根本不显示新的 Fedora 安装。

我尝试了多种方法来解决这个问题:

  1. 在我的 BIOS 设置中,“UEFI BIOS 引导选项 #1”设置为 Fedora。这不会改变什么,因为 Grub 在我启动机器时默认启动。

  2. 我尝试过(重新启动后)使用os-prober后跟update-grub. os-prober 未检测到 Fedora,因此不会将其添加到引导选项列表中。

  3. 我使用“bootinfoscript”收集了分区上的数据,并确认 Fedora 安装确实存在。转储其输出这里。

  4. 尝试使用 Grub-install 在物理驱动器上安装 grub ( /dev/sdc)

  5. 尝试了一些更简单的方法,例如确保驱动器已安装并运行update-grub,但无济于事。

我知道我的分区和系统有点混乱,这是因为我缺乏有关该主题的知识,并且在几年的时间里添加了两个物理驱动器,同时还添加了更多操作系统的安装。

我怀疑这个问题可能与 UEFI 有关,因为我注意到我的 Ubuntu 安装似乎以旧版 BIOS 模式启动,并且 Fedora 安装似乎有与之关联的 EFI 文件。

我觉得我对这个主题的知识缺乏,我不知道从这里该去哪里。我很乐意对我目前的设置进行彻底的改变。我也可以不再使用 Ubuntu,因为它安装在较旧且速度较慢的 HDD 上。 Windows 10 和 Fedora 就是我前进所需的一切。

答案1

我在 bootinfoscript 输出中找到了这一行:

/dev/sdb7    *    308,977,664   310,026,239     1,048,576  ef EFI (FAT-12/16/32)

这是 EFI 系统类型。但。它位于 MBR/dos 标记的磁盘上。

bootinfoscript 的信息非常丰富。你确实到处都有一些引导加载程序。它应该是可以修复的。

您现在具体如何启动?未来您想要什么?

因为拥有三个独立的磁盘、两个操作系统、传统 BIOS 和 uefi BIOS 以及现有的双引导:多种可能性。即使对于简单的 1=win, 2=linux 3=data 解决方案。

您应该能够使用正确的映像和根目录从任何 grub 命令行启动 linux。与来自 uefi shell 一样。

如果您通过 UEFI 启动到 grub 或 uefi shell,然后从同一个 EFI-sp 启动具有 initrd 的内核,您可以拥有一个root=/dev/ram0没有任何实际分区的 busybox 系统,只有 1 GB EFI 系统分区。您在三个磁盘上放置的其他内容是...附加的。

层次结构是:

BIOS legacy or uefi
   BOOTORDER (internal ones, external ones, uefi shell...)
      MENU bootloader  (or COMMAND uefi shell)

带有脚本的 uefi shell 和带有手动命令行的引导加载程序非常相似。


如果一切正常(即正确的 uefi BIOS,没有什么不好的意外),我个人希望它像这样:

BIOS 旧版(未使用):像以前一样,通过 MBR 从磁盘 1 启动 Windows

BIOS UEFI:三个(或更多)启动项:用于磁盘 2 上的 grub,未来用于磁盘 3 上,也许加上一个 systemd-boot;和选项“Uefi Shell”启动。

disk2(Linux 磁盘)上的引导加载程序菜单:同一磁盘上有一个或多个 Linux 条目。这个 grub 还应该能够在 dos disk1 上启动 Windows,也许还可以链式加载 disk3。

你真的可以用这一切构建一个完整的电路。我希望你能明白我的意思。如果没有,可以尝试笔和纸。对我来说有点太“遥远”了。

相关内容