如何编辑我的 BIOS 启动列表的内容?

如何编辑我的 BIOS 启动列表的内容?

前几天我在 GPT 磁盘上安装了 Windows 7。它运行良好。今天我去启动我的 Linux Live USB,我注意到 Windows 启动管理器在列表中。我使用传统 BIOS,它没有任何功能可以向该列表添加任何内容。我不想删除 Windows 启动管理器,但我认为向其中添加其他操作系统会更有用。有什么方法可以向列表中添加其他条目吗?

答案1

您没有 BIOS;您有 EFI(或 UEFI,即 EFI 2.x),它是 BIOS 的替代品。不幸的是,许多人,甚至许多制造商,都将他们的 EFI 称为“BIOS”,但这会造成混淆,因为人们认为 EFI 只是一种更新的 BIOS 或新的 BIOS 功能。事实并非如此;EFI 是数十年前的 BIOS 的替代品,在设计和功能上截然不同——尽管 EFI 和 BIOS 都处理启动计算机启动过程的任务。

我很确定您有一个 EFI 而不是 BIOS,原因有二:

  • 在 BIOS 模式下启动时,Windows 拒绝安装到 GPT 磁盘。因此,如果您确实要安装到 GPT 磁盘,您的计算机必须具有 EFI。
  • BIOS 没有像您描述的那样的启动管理器菜单;在最好的情况下,使用 BIOS,您会看到启动设备列表(“磁盘 X”、“CD-ROM 驱动器”或诸如此类),而不是“Windows 启动管理器”之类的描述。

通常,当操作系统在基于 EFI 的计算机上自行安装时,它会将其引导加载程序复制到EFI 系统分区 (ESP)并在固件的启动管理器列表中添加一个条目,该列表存储在 NVRAM 中。因此,如果您有其他(EFI 模式)操作系统需要启动,它们应该已经记录在启动管理器列表中。如果您已经安装了操作系统,但它们没有以这种方式显示,则基本上有两种可能的解释:

  • 操作系统添加了它们的条目,但随后被删除。这可能是由于固件错误、软件错误、用户的故意行为、用户意外或其他原因造成的。请注意,拔下磁盘然后打开计算机电源会导致某些 EFI 删除存储在该磁盘上的引导加载程序的引导管理器条目。(我提到这一点是因为这种磁盘杂耍在经验丰富的多引导用户中是一种相当流行的技术,可以帮助控制 BIOS 引导加载程序和操作系统安装,所以你可能已经尝试过它。)
  • 您可能已使用计算机的兼容性支持模块 (CSM;又称“传统启动支持”) 安装了操作系统,这使 EFI 能够运行为基于 BIOS 的计算机设计的启动加载程序。此类启动加载程序无法添加到 EFI 启动管理器菜单中,除非作为 BIOS 模式启动选项,就像基于 BIOS 的计算机一样。

您可以通过多种不同的方式管理 EFI 启动管理器列表,包括:

  • 简易UEFI-- 这是第三方(但基本版本免费)Windows GUI 工具。这可能是管理 EFI 启动管理器列表最简单的方法。
  • bcdedit-- 此 Windows 命令行工具可以管理 EFI 启动项。我碰巧没有详细使用摘要的 URL,但它的一个使用示例是在rEFInd 安装说明。(注:我是 rEFInd 的作者。)
  • efibootmgr-- 这是一个 Linux 命令行工具,功能与 EasyUEFI 大致相同,但使用起来更难。输入man efibootmgrLinux(已安装该工具)以了解如何使用它。
  • 固件的用户界面——许多 EFI 的设置实用程序允许您重新排列 EFI 启动项,有时还可以添加或删除它们。不过,不同 EFI 之间的细节差别很大。
  • bcfg-- 此命令在 EFI 版本 2 shell 中可用。与 一样bcdedit,我手边没有详细参考的 URL,但是这个 Arch Linux 维基页面给出了一个基本的例子。

请注意,大多数计算机的内置 EFI 启动管理器都非常原始。有些非常差,几乎毫无用处。因此,许多人依赖其他启动管理器(包括 GRUB 2、gummiboot/systemd-boot 和 rEFInd)来处理选择操作系统的任务。这些工具通常必须自己在 EFI 的内置启动管理器列表中注册,这使得它们很容易被遗忘,原因如上所述。

相关内容