无法使用 rEFInd 启动 Windows 10(已解决)

无法使用 rEFInd 启动 Windows 10(已解决)

编辑:已解决,见下文。

我刚刚在我之前只有 Windows 10 的笔记本电脑上安装了 Arch Linux。我有一个用于 Arch Linux 的 SSD,还有一个用于 Windows 的 SSD。我想使用 rEFInd 作为我的引导加载程序,它非常适合 Arch Linux。我尝试按照以下步骤为 Windows 设置菜单项教程。问题是,我没有\EFI\tools\shell.efifs0:\EFI\tools\launch_windows.nsh。我的直觉是,因为我有两个 ssd,而我以前只使用 windows ssd,所以我有两个 ESP,所以我的 windows.efi文件不存在于我的 arch linux ESP 上。这是准确的吗?我尝试挖掘 windows 驱动器上的分区,但我.efi也没有在那里看到任何文件。windows 是否可能使用 BIOS 启动并且没有创建这些文件?

编辑:我必须在 UEFI 模式下重新安装 Windows。我使用的是传统模式。

答案1

rEFInd 应该会自动检测 Windows EFI 引导加载程序并为其创建菜单项。如果没有发生这种情况,那么我的直觉是 Windows 安装在 BIOS/CSM/传统模式下的 MBR 磁盘上,而不是安装在 EFI/UEFI 模式下的 GPT 磁盘上。您可以像这样检查磁盘的分区表类型(如root):

parted /dev/sda print | grep Table

更改/dev/sda每个磁盘(它们可能是/dev/sda/dev/sdb,但也可能更奇特)。parted将 GPT 磁盘报告为gpt,但用于msdosMBR 磁盘。如果我的预感是正确的,那么 Linux 磁盘可能会显示为 GPT,而 Windows 磁盘可能会显示为 MBR。

如果我没记错的话,您可以尝试编辑refind.conf(通常在/boot/efi/EFI/refind或 中/boot/EFI/refind):取消注释该scanfor行并添加hdbios到选项中。这将告诉 rEFInd 激活其对启动 BIOS 模式操作系统的支持。启动时,您可能会看到一个或两个灰色菱形图标,其中一个应该可以启动 Windows。(如果您只看到一个图标并且它无法启动 Windows,也可以尝试取消注释uefi_deep_legacy_scan中的选项refind.conf。)如果您想隐藏不起作用的 Windows 启动项,您可以使用 来实现dont_scan_volumes,假设您可以找到启动选项描述中的独特部分来隐藏它。

作为所有这些的替代方案,或者如果 rEFInd 的 BIOS 模式支持不适用于您的计算机,您可以将 Windows 转换为以 EFI 模式而不是 BIOS 模式启动。这比在 rEFInd 的配置中添加 BIOS 模式支持风险更大,但它可能会启动得更快一些,并且会让 Windows 访问 EFI 功能。请参阅这一页了解如何进行此更改的说明。

如果我的假设是错误的,Windows 是在 BIOS 模式下启动的,那么一定是其他方面出了问题——可能是 ESP 上保存 Windows 引导加载程序的文件系统损坏,甚至可能是 Windows 引导加载程序被破坏。所需的修复将取决于问题的确切性质。在这种情况下,请运行启动信息脚本。这将生成一个名为的文件RESULTS.txt。将该文件发布到pastebin 网站并在此处发布您的文档的 URL。

答案2

我认为该\EFI\tools\launch_windows.nsh文件只是启动实际 Windows 引导加载程序的脚本示例,该脚本应该位于EFI\Microsoft目录中的某个位置。

\EFI\tools\shell.efi文件是一个 UEFI shell,你可以从这里。但是,如果您只想启动 Windows 引导加载程序,则不需要 shell。Windows 引导加载程序可以像任何普通 UEFI 应用程序一样直接启动。

尝试添加类似以下内容:

menuentry Windows {
    loader \EFI\Microsoft\Boot\bootmgfw.efi
}

到您的 rEFInd 配置。

答案3

在安装了传统 BIOS 模式的 Windows 的系统上安装带有 EFI 引导加载程序的 Linux 后,我无法启动 Windows,只能启动 Linux。@Rod Smith 的回答很棒,帮助我排除了许多故障。但即使在安装了 rEFInd 并设置了配置选项后,我还是无法启动 Windows。我将驱动器从 MBR 转换为 GPT,但没有用。我尝试在 UEFI 和 Legacy 之间切换主板 - 仍然没有反应。我实际上必须将 Windows 的 EFI 引导加载程序从 Windows\Boot\EFI 复制到 ESP。我猜 @Marcel 可以做同样的事情,而不是重新安装 Windows - 虽然这当然是一种选择。

有一篇很棒的 Medium 文章解释了整个过程:https://medium.com/@hetmansoftware/how-to-restore-the-structure-of-deleted-efi-partitions-in-windows-653a68b5c09f

相关内容