BIOS 将启动顺序存储在哪里?

BIOS 将启动顺序存储在哪里?

每次我格式化并重新安装不同的操作系统时,BIOS 设置中都会出现一个新的启动选项。它存储在哪里?我可以从操作系统中读取或修改它吗?

答案1

如果您的计算机在其“BIOS”设置中列出了单个操作系统,则意味着它运行的是 UEFI 固件(过去十年左右的大多数 PC 都是这样),而不是传统的 BIOS。(过去基于 BIOS 的实际计算机没有这样的启动选项 - 它们只关心实际的磁盘,并且必须提供“选择操作系统”启动菜单经过操作系统本身。

UEFI 的变化之一是它带来了自己的操作系统选择菜单,将操作系统条目以“EFI 变量”的形式存储在主板内(存储所有其他固件设置的位置) - 而不是存储在磁盘上。

任何操作系统都可以访问 EFI 变量和启动项,但并非所有操作系统都附带相关工具。(此外,只有在原生 UEFI 上运行的操作系统才可以访问,在“BIOS 模拟”处于活动状态时则不行。)

  • 在 Linux 中,可以通过 efibootmgr 访问 UEFI 启动条目。首先efibootmgr -v列出所有条目,然后--delete按 ID 列出无用的条目。

  • 在 Windows 中,可以通过 访问 UEFI 启动项bcdedit,并与 Windows 自己的 BOOTMGR 启动项混合。首先bcdedit /enum firmware列出所有 UEFI 启动项,然后/delete按 ID 列出不需要的启动项。

    (如果你碰巧不是谈论固件启动菜单,但关于 Windows 自己的启动菜单,bcdedit 可以以相同的方式处理两者。)

  • FreeBSD 也有 efibootmgr,但选项略有不同。NetBSD、OpenBSD 目前尚未包含此类工具。

答案2

在回答你的问题之前,我对 Tonny 对你的问题的含糊评论做了一些修改:基本输入/输出系统本身并不决定从哪个驱动器启动,而是你在 BIOS 的启动顺序设置中配置的内容。我不确定这个工具的后继者 UEFI 与此有何关系,但如果你所说的“出现新的启动选项”是指那么,是的。事实上,您可以在 Windows 操作系统中启动系统时操纵这个有点烦人的对话框。以下是有关如何禁用此功能的分步教程

附加信息:BIOS 软件存储在电可擦除可编程只读存储器 (EEPROM) 中。旧版本涉及 UV-EPROM,顾名思义,内存在重新编程之前会通过紫外线辐射删除。另一方面,此弹出菜单(不同于对话框;更多信息。这里) 提示您从您安装的所有包含操作系统的驱动器中选择一个操作系统进行引导,这些驱动器的格式与系统当前正在运行的操作系统的格式相同。因此,它存储在该操作系统中。(这不是最合理的理由,但我认为这已经足够了。)请随时纠正我可能犯的任何怪癖。祝您有美好的一天!

相关内容