启动问题“Windows 启动管理器启动失败”

启动问题“Windows 启动管理器启动失败”

我有 Ubuntu 14.04 和 Windows 8.1 双启动,并且在启动 Windows 和 Ubuntu 时遇到了问题。

首先发生的事情是,我无法加载到 ubuntu。它会显示类似“ubuntu 启动失败”之类的信息,然后绕过 grub2 直接进入 windows。我进行了实时 USB 和启动修复,并收到以下消息:

An error occurred during the repair.

Please write on a paper the following URL:
http://paste.ubuntu.com/12299126/


In case you still experience boot problem, indicate this URL to:
[email protected]

Locked-ESP detected. You may want to retry after creating a /boot/efi partition (FAT32, 100MB~250MB, start of the disk, boot flag). This can be performed via tools such as gParted. Then select this partition via the [Separate /boot/efi partition:] option of [Boot Repair].

我重启了电脑,然后 grub 似乎又能正常工作了,我能够启动到 Ubuntu。但是现在,当我从 grub 中选择 Windows 时,它又让我回到了 grub。我隐约记得以前遇到过这个问题,它说要替换 /boot/Microsoft/Boot 中的 bootmgfw.efi,我照做了,但没有用。我在 Bios 中将 Windows 放在第一位,但没有用(grub 屏幕也是一样),所以我再次运行了启动修复。我现在收到以下消息:

An error occurred during the repair.

Please write on a paper the following URL:
http://paste.ubuntu.com/12307416/

In case you still experience boot problem, indicate this URL to:
[email protected]

You can now reboot your computer.


The boot files of [The OS now in use - Ubuntu 14.04.3 LTS] are far from the start of the disk. Your BIOS may not detect them. You may want to retry after creating a /boot partition (EXT4, >200MB, start of the disk). This can be performed via tools such as gParted. Then select this partition via the [Separate /boot partition:] option of [Boot Repair]. (https://help.ubuntu.com/community/BootPartition)

现在,当我启动计算机时,系统显示“Windows 启动管理器启动失败”。你们能帮忙吗?我将不胜感激。谢谢!

答案1

您的两个 Boot Repair 输出文件都表明存在由 Boot Repair 创建的备份文件 - 也就是说,该实用程序复制了 Windows 文件(例如,将其复制bootmgfw.efi到另一个名称并用 GRUB 的重复副本替换原始文件。Boot Repair 有时会这样做来解决某些 EFI 的错误,这些错误往往会忽略或忘记 EFI 启动顺序变量。只有您在高级菜单中明确告诉它这样做,Boot Repair 的最新版本才会这样做,但旧版本在所有修复中过度应用了这个丑陋的修复方法(针对同样丑陋的错误)。因此,我不清楚您是使用旧的 Boot Repair 还是您告诉它应用此解决方法。无论哪种方式,解决方法至少可能是问题的一部分,因为您的文件提供指向原始 Microsoft 引导加载程序文件名的指针,而不是它们的备份。如果您在应用 Boot Repair 解决方法后在 Ubuntu 中使用创建新文件grub.cfg,则可能会发生这种情况。(Boot Repair 本身应该创建指向备份文件的。)update-grubgrub.cfggrub.cfg

您的第二个 Boot Repair 输出缺少主 Windows 引导加载程序文件 ( bootmgfw.efi) 的备份文件。我认为这是因为您修改或复制了此文件(您写道“替换了 /boot/Microsoft/Boot 中的 bootmgfw.efi”,但没有指定用什么替换它)。根据您所做的操作,这可能会使恢复更加困难。

您的efibootmgr输出(第二个 Boot Repair 输出中的 1689-1700 行)表明您的计算机配置为启动 Windows 项 - 但由于 Windows 启动加载程序可能已被 GRUB 取代,因此通过 GRUB 启动 Ubuntu 也就不足为奇了。

总而言之,您的系统处于混乱状态。为了恢复,我建议:

  1. 备份您的 ESP!EFI 系统分区 (ESP)在 Ubuntu 中通常安装在/boot/efi。它是一个 FAT 分区,用于保存引导加载程序文件,为了能够从可能使情况变得更糟的未来错误步骤中恢复,必须对其进行备份。幸运的是,它相对较小,文件级备份(例如,使用cptar进行备份)就足够了。将 ESP 复制到 FAT USB 闪存驱动器以获得最大的灵活性——您甚至可以在紧急情况下使用闪存驱动器进行引导。
  2. 如果您正在使用旧的 Boot Repair 副本,请将其丢弃并获取最新版本。
  3. 下载我的 USB 闪存驱动器或 CD-R 版本的rEFInd 启动管理器并从文件中准备启动介质。重点是将 rEFInd 作为应急系统;如果出现问题,您应该能够从 rEFInd 启动 Ubuntu 和/或 Windows。
  4. 启动 Boot Repair,进入高级菜单,然后选择恢复备份文件的选项。这可能会让一切恢复正常。另一方面,这可能会让事情变得更糟——这时备份和 rEFInd 可能会派上用场。
  5. 如果上述方法不起作用,请使用 rEFInd 启动介质进行启动。它应该会向您显示启动 Linux 和 Windows 的选项——可能两者都有多个选项。尝试每个选项,看看您是否可以进入其中一个或两个操作系统。您可以使用它从灾难中恢复(例如通过恢复您的 ESP 备份)或收集进一步的诊断信息。例如,如果您选择一个 Windows 图标并且它启动了 GRUB,那么这清楚地表明我之前描述的替换已经发生并且尚未修复。请注意,此时的问题可能有多种形式,因此我无法提供明确的说明,除非写一本小书。您必须即兴发挥或回复详细信息以获得更多帮助。
  6. 如果此时您无法进入 Windows(通过固定的 GRUB 或 rEFInd),则需要使用 Windows 工具恢复 Windows 引导加载程序。这是 Windows 论坛中讨论的最佳主题。请务必指定您是在 EFI 模式下启动;仍然有很多不适用的 BIOS 模式建议,只知道 BIOS 模式的人会提供不适用的建议。恢复 Windows 引导加载程序可能会导致计算机直接启动到 Windows。您可以使用 rEFInd 外部介质重新启动到 Ubuntu,然后使用将efibootmgrUbuntu 引导加载程序恢复为默认值,或者使用 Boot Repair 重新安装 GRUB,或者通过安装其 PPA 或 Debian 包将 rEFInd 安装到硬盘上,具体取决于您认为合适的方式。
  7. 一旦一切正常,请对 ESP 进行全新备份,以便在出现新问题时可以将其恢复到工作状态。

答案2

在我的情况下,“检测到 Locked-ESP”错误似乎是由于我的分区被挂载而导致的。(我正在从 Ubuntu Live USB 运行 Boot-Repair,如启动修复 wiki)。

一旦我卸载了分区(我使用了 gParted,右键单击每个分区并选择卸载),Boot-Repair 就成功修复了我的系统(使用推荐的修复)。

也可以看看本文

相关内容