我了解到,BIOS 会在开机后立即收集最多样化的硬件数据并创建设备所有可用驱动器的完整列表。
当此过程完成后,固件将按顺序检查找到的数据载体,通过特殊签名检查引导加载程序 - 即所谓的启动签名(或“引导记录”)。搜索总是从可移动媒体(CD/DVD、USB 棒、外部硬盘等)开始,然后是硬编码驱动器。对于后者,引导加载程序及其签名通常位于主引导记录 (MBR)。
我的问题是 - 由于 BIOS 检查启动签名值所有检测到的存储设备一个接一个,这是否意味着每个(此处 BIOS 检测到的存储介质)都必须有一个主引导记录,无论设备是否可引导?
答案1
您的帖子令人困惑,因为它包含两个不同的问题。
至于标题中的问题:
每个存储设备都有 MBR 吗?
是的。旧的基于 MBR 的分区方案已被现代 GPT 方案取代,该方案包含保护性 MBR,以防止旧操作系统在驱动器上执行写入操作。
有一个罕见的例外,称为“超级软盘”,它在桌面计算机的启动过程中不起作用。
至于你的第二个问题:
我的问题 - 由于 BIOS 会逐一检查所有检测到的存储设备中的引导签名值,这是否意味着每个(此处 BIOS 检测到的存储介质)都必须具有主引导记录,而不管设备是否可引导?
从技术上讲不是。您在帖子中描述的是旧 BIOS 的旧启动过程。现代 BIOS 根据“UEFI”使用不同的启动过程。它不必关心磁盘上的 MBR 结构,因为 GPT 包含所有必要的信息。现代 UEFI-Bios 只需在 EFI 系统分区上找到引导加载程序即可。
答案2
嗯,不,他们没有需要如果不是用于引导,则需要有 MBR。
MS-DOS 之后的大多数操作系统都不依赖 BIOS 来访问磁盘。一旦操作系统开始启动,它就会使用它自己的驱动程序直接与存储设备对话——并且无论 BIOS 是否以任何方式检测到它们,都能够使用它们。
尽管如此,大多数将要有一个 MBR 或者类似的东西。
MBR 不仅包含 BIOS 启动代码,还包含分区表。任何使用传统 MBR 分区的磁盘都会有启动签名,即使其中没有任何启动代码。
UEFI 使用不同的分区表格式(GPT),但规定每个 GPT 分区磁盘仍应具有“保护性”MBR(具有空的引导代码区域和特殊分区),以避免过时的工具错误地认为磁盘是空的。
(需要明确的是,GPT 磁盘能可以在 BIOS 系统上使用,因为处理分区的不是 BIOS,而是操作系统;保护性 MBR 甚至可以保存引导代码,因此可以制作这样的磁盘可启动在 BIOS 系统上也是如此。)
最后,过去几年几乎所有新 PC 都使用了 UEFI 固件,而不是 BIOS;原生 UEFI 启动过程完全不同,不使用 MBR。(虽然长期以来大多数 UEFI PC 仍能以 BIOS 方式识别磁盘并从磁盘启动,但现在这种方式正在从新机型中逐渐消失。)