如何安全地删除 EasyBCD 创建的第二个引导加载程序并离开 GRUB?

如何安全地删除 EasyBCD 创建的第二个引导加载程序并离开 GRUB?

我现在有两个引导加载程序;我有 GRUB 和我在正确安装 Linux 之前创建的 EasyBCD。第二次重新安装 Ubuntu 后,GRUB 就正常了,但现在我有了主 GRUB 加载程序,我想删除第二个。问题是,当我选择“Ubuntu”时,它会直接加载到 Ubuntu,但如果我单击 Windows,它会显示第二个,这很烦人。

这是我想要使用的 GRUB 菜单。

在此处输入图片描述

我想摆脱Windows Boot Manager从 GRUB 菜单选择后打开的这个菜单。

我不想犯任何错误(我的意思是我不想删除第一个引导加载程序,它允许我访问 Ubuntu 和 Windows),所以我发布这个问题是因为我真的不知道如果我只是卸载 EasyBCD 它不会删除第二个 GRUB(我猜?)。

还有一件事我不明白,它说我有 3 个条目,然后我还有一个默认值?

答案1

我对 Linux 或 grub 不太熟悉,但由于几个月来您一直没有得到任何答案,我将尝试根据我对 Windows 启动环境的了解来回答。如果没有其他问题,也许这个答案会促使更了解的人回答。

首先,EasyBCD 不是 Windows 引导加载程序,它不会安装 Windows 引导加载程序。它只是一个在 Windows 启动后可以使用的 GUI 工具 - 命令行工具 bcdedit 和 msconfig 中的“启动”选项卡的替代品。EasyBCD 可让您比使用 Windows 的内置工具更轻松地修改 Windows 的启动配置数据库 (BCD)。(注:BCD 实际上是一个注册表配置单元,就像“系统”或“软件”配置单元一样,但它通常不会在 Windows 运行时加载。)

但是,即使安装了 EasyBCD,它也不会建立任何新的“Windows 引导程序”。第二个屏幕不是由 EasyBCD 显示的。它是由 Windows 附带的 bootmgr 显示的。在 Windows 启动序列的早期,bootmgr 会显示 Windows 启动菜单,如您在第二个屏幕中看到的那样。菜单在 BCD 中定义。(这适用于 Vista 及更高版本。对于 XP 及更早版本,显示菜单的程序是 ntldr,菜单由文本文件 boot.ini 定义。)当您从 BCD 菜单中选择一个 Windows 版本时,bootmgr 会加载并运行 winload.exe,后者会从驱动器加载 Windows 的其余部分。

通常,您的机器的固件(看起来像是 EFI)会加载 bootmgr。安装了 grub 后,EFI 会加载 grub。grub 会为您提供一个包含“Windows 启动管理器”的菜单。当您选择该菜单时,grub 会加载 bootmgr,然后退出。Windows 启动的其余部分就像没有 grub 时一样。

您无法删除 bootmgr,因为 grub 不知道如何执行 bootmgr 所做的事情(通常是加载 winload)。您可以卸载 EasyBCD,但这不会改变您的菜单设置。BCD 仍将处于其当前状态。grub 用来定义其菜单的任何内容也是如此。

不过,为什么您的 BCD 中有三个条目(如 EasyBCD 所示)……但 bootmgr 只显示一个选项(适用于 Windows 8.1),这有点令人费解。可能是因为某种原因,它不喜欢那些“ubuntu”条目。

之后,它为什么会显示菜单就成了一个谜,因为它只显示一个选项。通常,当 BCD 中只有一个选项时,不会显示任何菜单;它只是跳过它。

对我来说,为什么 BCD 中会有“ubuntu”选项也是个谜。我认为 bootmgr 根本不知道如何启动 ubuntu。我认为启动 ubuntu 的路径根本不涉及 grub...除非 grub 和 bootmgr 一样使用 Windows 启动配置数据库,但在我看来,这种情况极不可能发生。但正如我所说,我对 linux 或 grub 了解不多。

一个快速的修复方法是使用 EasyBCD 将超时设置为 2 秒左右。您仍然会看到第二个菜单,但只持续两秒钟。

如果您不介意尝试并承担一点风险,您可以尝试以下操作:

  1. 启动 Windows。
  2. 使用 EasyBCD 保存您当前的 BCD(备份/修复按钮)。
  3. 探索备份/修复按钮下的内容,并确保您了解如何从刚刚制作的备份中恢复 BCD。
  4. 使用 EasyBCD 从您的 BCD 中删除两个“ubuntu”选项。
  5. 重新启动并查看发生的情况。

思考结果会如您所愿。如果不是,我无法想象这会干扰您启动 Windows 的能力。因此,如果结果不好(您不再能够启动 ubuntu),那么您可以启动 Windows,使用 EasyBCD 从备份中恢复 BCD,重新启动,一切就绪。

答案2

我知道这是一篇旧帖子,但我花了几个小时尝试修复我机器上的第二个引导加载程序屏幕,最后,我找到了解决方案,我将描述它,也许可以节省别人的时间。首先,上面的人对 windows bootmgr 内容的看法完全正确,windows 有一个工具可以手动配置它,你甚至根本不需要 EasyBCD。该工具是 bcdedit,你可以通过命令提示符访问它。我发现了两种解决问题的方法:

  1. 当 bootmgr 选项中只有一个 OS 条目时,在 grub 上选择 windows 后会自动启动。因此,您可以删除与 windows 和启动管理器条目并行的所有其他条目。为此,请按照以下步骤操作:

    • 以管理员身份打开 cmd,输入“bcdedit /store c:\Boot\BCD”并按 Enter。这将显示 bootmgr 上的所有现有条目。
    • 查看每个条目的描述行和标识符,确定要删除的条目。您必须保留“Windows 启动管理器”和 Windows 版本条目,否则启动时会出现问题。
    • 要删除条目,只需执行“bcdedit /store c:\Boot\BCD /delete ID”,其中 ID 是条目标识码。例如:“bcdedit /store c:\Boot\BCD /delete {5e384e54-f790-11e8-8d8-83334a362d08}”。其中“-”和“{}”是必需的。
  2. 您可以将 Windows 条目设置为默认系统并将超时设置为 0,这样 bootmgr 将在 grub 上选择 Windows 后自动启动 Windows。

    • 以管理员身份打开 cmd 并运行命令:“bcdedit /store c:\Boot\BCD”并复制您的 Windows ID
    • 运行“bcdedit /store c:\Boot\BCD /default ID”
    • 运行“bcdedit /store c:\Boot\BCD /timeout 0”

这应该足够了。我推荐第二种方法,这样您就不会冒删除 windows 和 bootmgr 条目的风险。

附言:我不是英语母语人士,所以可能犯了一些错误,请不要介意。

相关内容