如何在 EFI 分区上重新安装 Windows 启动管理器

如何在 EFI 分区上重新安装 Windows 启动管理器

因此,我一直尝试在台式机的第二块硬盘上安装 Ubuntu,而我的台式机已经在 SSD 上安装了 W8(仅 UEFI 启动)。问题是,在安装 Ubuntu 时,我犯了一个错误,选择将引导加载程序 (GRUB) 安装到第一个磁盘(SSD),安装后我无法启动到 W8(GRUB 中的条目不起作用)。以下这些说明,我设法找回了“Windows 启动管理器”,但是在此过程中我丢失了 GRUB,并且在 BIOS 中得到了重复的“Windows 启动管理器”条目,以及“Ubuntu”条目,然后我使用它来启动 Ubuntu。

后来,我决定重新安装 Ubuntu,并从 Windows 中格式化硬盘,但是 BIOS 中的条目保持不变,并且,当我连接硬盘时到主板,我无法启动 Ubuntu Live USB(为了重新安装 Ubuntu)。

我在更新 BIOS 时犯了另一个错误,这清除了 BIOS 中的所有 EFI 启动项,现在,从 SSD 启动时出现错误:

grub: device not found (...)

因此,grub 似乎仍安装在 SSD 的 EFI 分区中,而且由于 BIOS 中不再有 WBM 条目,我甚至无法启动 Windows,并且之前的说明不再有效。还有其他方法可以将 W8 EFI 分区重置为默认值吗?

答案1

我很惊讶手动运行启动针对 ESP 的攻击并没有起到作用;事实上,它甚至可以看作是一个错误(意味着要报告给微软)。你是否 200% 确定你正确识别了你的固件所认为的系统分区?

EFI 系统分区不是唯一需要清理的地方,EFI 变量(由 UEFI 固件控制)也可能被损坏,特别是因为您提到 BIOS 重新安装会产生不利影响。bcdedit /storeP:\ath\to\BCD\file\on\mounted\efi\part/import /clean(来自 W8 恢复高级选项的命令提示符)是 Windows 清理其缓存副本的方式,该副本就是您在 Windows 启动管理器屏幕上真正看到的;Linux 通过 efivars 提供了比它们更强大的工具。

当你在这里时,请遵循 Rod 的建议并彻底检查bcdedit /storeP:\ath\to\BCD/enum all不需要或放错位置的条目,您可以在备份 BCD 文件后尝试处理这些条目。

如果你只考虑 Windows,ESP 的组织很简单:除了强大的启动x64,所有内容都在\EFI\Microsoft\Boot\目录下。您唯一可能编辑的文件是 BCD,通过 bcdedit。为了能够启动,您只需要ESP 上的\EFI\Boot\Bootx64.efi\EFI\Microsoft\Boot\BCD和,假设前者是 的副本;稍后保留它是一个很好的预防措施,特别是因为您正在考虑安装其他可以替代强大的 Bootx64.efi 的启动管理器(但通常不应触及 bootmgfw.efi。)在启动过程中,将在 中自动创建一些(隐藏)和文件。您可能还会看到,尽管似乎没人知道它有什么用……带有 MUI 资源的 ll-CC 目录有助于能够显示非英语消息,具体取决于 BCD 中的设置;同样,非拉丁语种可能需要字体;我发现出于清理目的删除所有这些 i18n 内容,从长远来看并没有帮助,因为我习惯将它们恢复原位,以在启动时恢复我自己的语言。\EFI\Microsoft\Boot\boot.stl\EFI\Microsoft\Boot\bootmgfw.efiBCD.log*BOOTSTAT.DAT\EFI\Microsoft\Boot\\EFI\Microsoft\Boot\bootmgr.efi

答案2

如果不知道硬盘上究竟安装了哪些引导加载程序,就很难说哪种恢复方法最好;不过,有一个工具可能会有所帮助,那就是我的rEFInd 启动管理器。您可以获取 rEFInd 的 USB 闪存驱动器或 CD-R 映像,准备好它,然后从中启动。结果应该是一个菜单,其中显示所有引导加载程序,然后您可以尝试一下。运气好的话,您将能够通过这种方式进入 Linux 和 Windows。进入操作系统后,您可以使用其工具(efibootmgr对于 Linux,bcdedit对于 Windows)根据需要重新设置默认引导管理器;或者,如果您喜欢,您可以安装 rEFInd。

答案3

您有Windows 8修复盘吗?

如果是这样,请进入 Windows 恢复环境并使用命令终端执行手动修复。使用“bootrec”恢复您的条目,这“应该”有效。这就是我让 W8 和 Ubuntu/Linux Mint 协同工作的方法。

一旦您可以重新进入 W8,我建议您下载并使用 EasyBCD 来自定义计算机的启动方式。这将无法更改 grub。不过,Ubuntu 中有一些工具可用于更改 grub。

我想提供更多细节,但我目前正在工作,不记得 Ubuntu grub 配置工具的名称。

希望这可以帮助!

相关内容