我使用的是 Windows 10。我安装了 Fedora 25 发行版。我的目标是建立双启动配置。不幸的是,我对 LEGACY (MBR) 和 UEFI (GPT) 启动模式之间的区别一无所知。所以我犯了错误。在安装 Linux 后,GRUB 被安装为 LEGACY 引导加载程序,我在 UEFI 引导模式下无法访问 Windows 10 引导加载程序。
首先,我尝试修复引导加载程序而不重新安装 Windows 10。通过编辑 40_custom GRUB 脚本,我能够重新生成 grub.cfg 文件以在 GRUB 启动菜单中显示 Windows 10 项。但它不起作用,当我选择该项时,我收到一条 Windows 启动管理器错误消息,其中提到 c:/bcd/boot。当时我还没有意识到我的 Windows 10 可能只能通过 UEFI 启动模式访问。
因此,我以 UEFI 模式启动(禁用安全启动),并通过手动分区重新安装了 Windows 10。但我仍然无法进入 Windows 10,无论是 UEFI 模式还是 LEGACY(GRUB 仍然是 LEGACY 引导加载程序)。这很奇怪。我使用了 diskpart 工具,看到了经典的 Windows 分区:系统、MSR、Windows、恢复,还有一个 EFI 分区(格式化为 FAT32)。我通过 diskpart 检查了我的硬盘是否使用 GPT。我该如何修复 UEFI 启动并设置稳定的 Windows/Linux 双启动?我确切地说,我的个人数据位于硬盘末端附近的 NTFS 分区上,目前我无法备份。
我的硬件是一台笔记本电脑 MSI GE62 2QC Apache。
答案1
几乎总是最好以相同的启动模式(BIOS/CSM/legacy 与 EFI/UEFI)安装所有操作系统。考虑到 Windows 以 EFI 模式启动的初始条件,最好的办法是也以 EFI 模式安装 Fedora。对于大多数系统来说,这相当容易做到,但也有一些陷阱。此时常见的错误包括:
- 启用 CSM-- 这使得启动路径变得复杂,如我的这个页面。结果通常是混合模式安装,例如您描述的——Windows 以 EFI 模式启动,Linux 以 BIOS 模式启动。
- USB 驱动器准备不当-- 可以使用
.iso
用于安装 Linux 的映像文件并创建缺少 BIOS 或 EFI 引导加载程序的 USB 驱动器。如果缺少 EFI 引导加载程序,则无法在 EFI 模式下启动它,并且如果磁盘可以在该模式下启动,则大多数 Linux 发行版将以 BIOS 模式安装。这个问题与前一个问题密切相关——如果未启用 CSM,则准备不当的 USB 驱动器将无法启动;在这种情况下,用户通常会启用 CSM,要么是因为他们通过反复试验发现这可以启动安装介质,要么是因为他们按照互联网上的错误说明来执行此操作。但是,如上所述,启用 CSM 是一个错误;解决无法启动介质的正确方法是找出它无法启动的原因并修复介质。(在极少数情况下,需要禁用安全启动。)
鉴于您当前的配置,最好的办法是安装 Linux 的 EFI 引导加载程序。有几种方法可以做到这一点,例如:
- 引导修复- 这启动修复工具可能能够半自动地在 EFI 模式下安装 GRUB;但是,此工具主要用于 Ubuntu 和相关发行版。我不确定它会如何响应 Fedora。此外,要安装EFI模式GRUB,它必须从 EFI 模式启动运行。因此,您必须掌握启动模式选项。
- 重新索引- 我的rEFInd 启动管理器会有所帮助。您可以下载 rEFInd 的 USB 闪存驱动器或 CD-R 映像并使用它启动。如果成功,您可能能够以 EFI 模式启动当前的 Fedora 安装。从那里,您可以安装 rEFInd RPM 或安装 EFI 版本的 GRUB。
- 手动安装-- 有几种适用于 Linux 的 EFI 引导加载程序可用,如我的这个页面。可以通过将文件复制到 ESP,然后使用
efibootmgr
或类似工具将其注册到 EFI 来手动安装其中任何一个。(请参阅我的EFI 引导加载程序安装页面大致了解该过程。)请注意,此过程要求以 EFI 模式启动 Linux,至少要正确执行。(Linux 应急磁盘可以很好地完成此操作;或者您可以使用 rEFInd 以 EFI 模式启动现有的 Fedora 安装。) - 重新安装 Fedora-- 您可以删除当前的 Fedora 安装,然后重试。(您可以通过删除其分区或在其上创建新的文件系统来删除它。不要删除或在 ESP 上创建一个新的文件系统。)由于您可能对新的 Fedora 安装做了很少的工作,因此这可能比尝试修复当前设置更容易。与大多数上述选项一样,正确执行此操作需要掌握对计算机启动模式的控制;如果您在 BIOS 模式下启动安装程序,则安装将处于该模式,您将回到开始的位置。
作为进一步的背景知识,我建议你阅读Adam Williamson 的博客文章介绍了 EFI 的工作原理和我的关于在 EFI 系统上安装 Linux 的页面。两者都提供了背景信息,有助于您了解情况并避免犯下此类错误。您还应该阅读我之前提到的有关 CSM 的页面。