2023年12月1日发(作者:)

光盘启动的原理

光盘启动的原理

1 光盘启动的历史

可启动CD-ROM(或称可引导光盘)的概念早在1994年(辉煌的DOS年代)就被提出来

了,当时CD-ROM还是PC机的一个昂贵的附属设备(CD-ROM加声卡在当时被成为多媒

体套件,带多媒体套件的电脑被成为多媒体电脑)而且在DOS平台下实现光盘引导还存在

一些技术上的困难:要在载入DOS之前就必须检测到CD-ROM,而这一点,当时从软件上

是无法实现的,惟一的解决之道就是修改电脑主板上的BIOS(或是SCSIIDE控制器上

BIOS,使之在硬件级而不是软件级首先识别CD-ROM,并自动加载CD-ROM上的启动

引导器(存放在CD-ROM上特定区域的一段特殊代码,用以控制CD-ROM的启动)

1995125日,Phoenix TechnologiesIBM联合发表了可启动CD-ROM格式规范

Bootable CD-ROM Format Specification1.0——El Torito规范,该规范中定义了可启动

CD-ROM的数据结构与映像数据的配置及光盘制作的一些详细说明。实际上,该规范也隐

含地制定了能够读取可启动CD-ROM光盘的BIOS的规范,使得符合El Torito规范的可启

CD-ROM在电脑上能够正常启动。如果可启动CD-ROM有了,但在电脑上无法读取,

不还是白搭?随后,Phoenix又独自或联合其他厂家相继发布了一系列支持可启动CD-ROM

的规范和标准,其中值得一提的是1996111COMPAQPhoenixIntel联合发布

BIOS启动规范(BIOS Boot Specification1.01,该规范为BIOS厂家提供了制造支持可

启动CD-ROMBIOS的标准。

2 原理

El Torito规范定义了CD-ROM中启动映像(bootable image)的配置,还提供了有关可启动

CD-ROM的制作与结构的一些详细说明。这些说明的技术性很强,要想弄得很明白需要花

费一番大力气。但我们的目的是制作出符合El Torito规范的可启动CD-ROM,所以没有必

要在理论上了解那么多,很多现成的烧录软件以能够帮助我们制作出完美的单启动

CD-ROM

1 BIOS首先检查光盘的第17个扇区(sector 17,查找其中的代码,若发现其中的启

动记录卷描述表(Boot Record Volume Descripter

2 它就根据表中的地址继续查找启动目录(Booting Catalog

3 找到启动目录后(*.bin ,再根据其中描述的启动入口(Boot Entry)找到相应的启

动磁盘映像(Bootable Disk Image)或启动引导文件。

4 找到启动磁盘映像后,读取其中的数据,并执行相应的开机动作。

17个扇区=>>启动记录卷描述表)=>>(启动目录=>>启动入口)=>>启动磁盘映像

相对于单重启动CD-ROM而言,多重启动CD-ROM的启动目录中包含多个启动入口,指向

多个启动磁盘映像。1所描述的多重启动配置是El Torito规范所描述的多重启动映像配置,

但由于多重启动CD-ROM在实际工作中的应用较少,目前大多数主板的BIOS对此支持得

不是很好。在这类主板上,用遵循El Torito规范所制作的多重启动CD-ROM往往只能引导

1个(默认启动出口所指向的)启动映像,而其他的启动映像莫名其妙地消失了!

为了解决这个问题,人们又相继研究出了一些办法来实现CD-ROM的多重启动,目前最流

行的办法是非模拟(软盘、硬盘)式BIOS模拟法。其工作原理与El Torito规范所描述的

单重启动映像配置原理基本相同,只是默认启动的不是软盘映像,而是1个启动引导文件,

该启动引导文件引导光盘启动,再由它去查找其他的启动磁盘映像或引导文件,根据配置文

件列出启动选项共用户选择