Fedora 无法在 UEFI 中启动

Fedora 无法在 UEFI 中启动

所以我决定更换笔记本电脑上的操作系统。我曾经有Manjaro Linux安装有UEFI模式并且运行良好。现在我决定安装 Fedora。

我首先从 USB 在 UEFI 中实时启动 Fedora Workstation。一切都很好。然后我启动了官方安装程序并选择自动磁盘分区。安装成功。我重新启动了电脑。当它启动时,它无法检测到任何可启动媒体。因此,我决定通过手动分区重新安装系统。我创建了一个总蛋白有2个分区的分区表;efi系统分区安装于/启动/efi使用 fat-32 和 a 进行格式化根分区使用 ext4 格式化并安装在/。 efi分区有电喷标志已设置且大小为 500MiB。安装过程顺利,但系统仍然无法启动。

然后我又尝试了几次,几乎没有调整,但没有成功。我尝试使用 UEFI 在虚拟框中安装具有相同配置的系统(是的,我检查了启用 EFI(仅限特殊操作系统))每次都有效。也许笔记本电脑有故障?

你有什么建议我可能做错了什么,或者问题可能是什么?

答案1

在 UEFI 上,引导加载程序通常由 EFI 系统分区的唯一 UUID 和引导加载程序文件路径名来标识,两者都存储在系统 NVRAM 中的 UEFI 引导变量中。与旧的 MBR 式引导不同,仅指定要从中引导的磁盘不一定足够。

一些系统制造商在设计 UEFI 固件时内置了操作系统为 Windows 的假设,并添加了一个“有用”的功能,可以将 UEFI 启动变量重置为 Windows 使用的确切值。

首先将系统启动到救援模式在 UEFI 模式下。然后efibootmgr -v以 root 身份运行。这将告诉您 UEFI 启动变量的当前状态。您还可以使用该blkid命令列出系统拥有的每个磁盘的文件系统和分区 UUID。 EFI 系统分区的分区 UUID(在blkid输出中列出为PARTUUID=<value>)应与命令列出的引导变量中列出的 UUID 相匹配efibootmgr -v。如有必要,您可以使用其他选项来efibootmgr修复引导变量的内容。man efibootmgr详情请参阅。

(注:UEFI固件使用分割UUID,而 GRUB 引导加载程序可以使用文件系统UUID。将blkid前者列为PARTUUID=,后者列为UUID=。不要混淆两者。)

如果您发现 UEFI 引导变量没有指向 Fedora 引导加载程序,并且您所做的任何更改都不会在重新启动后保留,那么您很可能遇到了我之前提到的 UEFI 固件错误的一些变体。罗德里克·W·史密斯 (Roderick W. Smith) 将此称为启动妙招请参阅此链接以获取一些已知变体及其解决方法的列表。

\EFI\boot\boot<arch>.efi基本上,一种可能的解决方法是将引导加载程序(的副本)设置到 EFI 系统分区( ,<arch>通常x64或可能在典型 PC 硬件上)上的标准可移动磁盘引导路径中ia32。另一种方法是将 Linux UEFI引导加载程序进入 Windows 通常使用的相同路径 ( \EFI\Microsoft\Boot\bootmgfw.efi)。

相关内容