可启动光盘的启动原理
程序员文章站
2022-05-02 19:37:54
可启动光盘的启动原理 可启动CD-ROM(或称可引导光盘)的概念早在1994年(辉煌的DOS年代)就被提出来了,当时CD-ROM还是PC机的一个昂贵的附属设备(CD-ROM加声卡在当时被成为多媒体套件,带多媒体套件... 09-08-01...
可启动cd-rom(或称可引导光盘)的概念早在1994年(辉煌的dos年代)就被提出来了,当时cd-rom还是pc机的一个昂贵的附属设备(cd-rom加声卡在当时被成为多媒体套件,带多媒体套件的电脑被成为多媒体电脑),而且在dos平台下实现光盘引导还存在一些技术上的困难:要在载入dos之前就必须检测到cd-rom,而这一点,当时从软件上是无法实现的,惟一的解决之道就是修改电脑主板上的bios(或是scsi与ide控制器上的bios),使之在硬件级而不是软件级首先识别cd-rom,并自动加载cd-rom上的启动引导器(存放在cd-rom上特定区域的一段特殊代码,用以控制cd-rom的启动)。
1995年1月25日,phoenix technologies与ibm联合发表了可启动cd-rom格式规范(bootable cd-rom format specification)1.0——el torito规范,该规范中定义了可启动cd-rom的数据结构与映像数据的配置及光盘制作的一些详细说明。实际上,该规范也隐含地制定了能够读取可启动cd-rom光盘的bios的规范,使得符合el torito规范的可启动cd-rom在电脑上能够正常启动。如果可启动cd-rom有了,但在电脑上无法读取,岂不还是白搭?!
随后,phoenix又独自或联合其他厂家相继发布了一系列支持可启动cd-rom的规范和标准,其中值得一提的是1996年1月11日compaq、phoenix与intel联合发布的bios启动规范(bios boot specification)1.01,该规范为bios厂家提供了制造支持可启动cd-rom的bios的标准。
bios首先检查光盘的第17个扇区(sector 17),查找其中的代码,若发现其中的启动记录卷描述表(boot record volume descripter),它就根据表中的地址继续查找启动目录(booting catalog),找到启动目录后 ,再根据其中描述的启动入口(boot entry)找到相应的启动磁盘映像(bootable disk image)或启动引导文件,找到启动磁盘映像后,读取其中的数据,并执行相应的开机动作。
相对于单重启动cd-rom而言,多重启动cd-rom的启动目录中包含多个启动入口,指向多个启动磁盘映像。
1995年1月25日,phoenix technologies与ibm联合发表了可启动cd-rom格式规范(bootable cd-rom format specification)1.0——el torito规范,该规范中定义了可启动cd-rom的数据结构与映像数据的配置及光盘制作的一些详细说明。实际上,该规范也隐含地制定了能够读取可启动cd-rom光盘的bios的规范,使得符合el torito规范的可启动cd-rom在电脑上能够正常启动。如果可启动cd-rom有了,但在电脑上无法读取,岂不还是白搭?!
随后,phoenix又独自或联合其他厂家相继发布了一系列支持可启动cd-rom的规范和标准,其中值得一提的是1996年1月11日compaq、phoenix与intel联合发布的bios启动规范(bios boot specification)1.01,该规范为bios厂家提供了制造支持可启动cd-rom的bios的标准。
bios首先检查光盘的第17个扇区(sector 17),查找其中的代码,若发现其中的启动记录卷描述表(boot record volume descripter),它就根据表中的地址继续查找启动目录(booting catalog),找到启动目录后 ,再根据其中描述的启动入口(boot entry)找到相应的启动磁盘映像(bootable disk image)或启动引导文件,找到启动磁盘映像后,读取其中的数据,并执行相应的开机动作。
相对于单重启动cd-rom而言,多重启动cd-rom的启动目录中包含多个启动入口,指向多个启动磁盘映像。