是什么使可启动媒体可启动?


10

出于好奇,是什么使媒体可启动的?链接的解释将不胜感激。

Answers:


5

也许有关可启动媒体的组织方式的一些细节可能有助于定义“使可启动媒体可启动的原因”。

引导过程因架构而异,因此我将坚持使用标准PC(即x86架构)。

首先,要有效地“启动”,BIOS需要在稍后的开机自检(POST)之后选择一种介质。为此,该介质必须标记为bootable,这意味着该介质必须在其第一个扇区中具有启动签名。这是使介质可启动的第一件事。

然后,BIOS加载并引导该引导扇区(无论存储在哪里……因此它很可能直接是合适的实模式程序,但让我们坚持“正常”方案)。因此,为了可引导,介质必须具有这种起作用的引导扇区

如果介质已分区,则将在该扇区中安装主引导记录(MBR)。此代码将负责检查分区表并查找设置可启动标志的分区。然后,MBR将加载该分区的第一个扇区,其中包含所谓的卷启动记录(VBR)。请注意,在未分区的介质的情况下,VBR位于介质的第一扇区中,因此被BIOS直接调用。

VBR包含一个引导程序。该程序必须初始化机器(即通过A20 Gate激活扩展内存,从实模式切换到保护模式等),以设置适合于运行“现代”代码的环境,将此代码加载到内存中,然后“跳转” ”。上述代码在引导加载程序的情况下可以是OS内核,在链加载的情况下可以是多引导系统(例如GRUB,LILO)。无论如何,最后,要引导介质,需要运行一些可执行代码。

从可启动媒体组织的角度来看,随后发生的事情(例如,内核解压缩,初始ramdisk安装,在混合内核的情况下加载模块或从微内核启动的服务器等)与严格无关。

注意:我所描述的是硬盘和软盘的处理过程。CD的情况非常相似。此外,要启动,CD必须遵循El-Torito规范,该规范是ISO9660标准的扩展。最初,CD需要包含可引导的软盘映像(即,实际上为1.44M映像),BIOS将其视为软盘并进行了相应的引导。没有这种解决方法,最新的硬件允许直接启动。


9

使可引导介质可引导的原因是

  • 可启动媒体的标准,其中定义了以下内容:
    • 引导加载程序适用的硬件平台。
    • 引导加载程序软件的介质上的位置。
    • 该软件的加载过程。
  • 在可连接媒体的硬件中实施这些标准。

Wikepedia有一篇文章介绍了启动过程。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.