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

Toa*_*use 2 bios windows efi multi-boot gpt

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

Rod*_*ith 14

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

我很确定您使用的是 EFI 而不是 BIOS,原因有两个:

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

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

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

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

  • EasyUEFI -- 这是一个第三方(但对于基本版本免费)Windows GUI 工具。这可能是管理 EFI 启动管理器列表的最简单方法。
  • bcdedit-- 这个 Windows 命令行工具可以管理 EFI 启动项。我碰巧没有详细使用摘要的 URL,但rEFInd 安装说明中提供了一个使用示例(注意:我是 rEFInd 的作者。)
  • efibootmgr-- 这是一个 Linux 命令行工具,其功能与 EasyUEFI 大致相同,但更难使用。键入man efibootmgr在Linux中(安装工具),以了解如何使用它。
  • 固件的用户界面——许多 EFI 的设置实用程序使您能够重新排列 EFI 引导条目,有时还可以添加或删除它们。但是,从一个 EFI 到另一个 EFI,细节差别很大。
  • bcfg-- 此命令在 EFI 版本 2 shell 中可用。与 一样bcdedit,我没有方便的详细参考 URL,但是这个 Arch Linux wiki 页面提供了一个基本示例。

请注意,大多数计算机的内置 EFI 引导管理器都非常原始。有些人穷得几乎毫无用处。出于这个原因,许多人依赖其他引导管理器,包括 GRUB 2、gummiboot/systemd-boot 和 rEFInd,来处理选择操作系统的任务。这些工具通常必须自己注册到 EFI 的内置引导管理器列表中,这使得它们容易因前面提到的原因而被遗忘。