发新话题
打印

[转载]启动盘的原理和由来

[转载]启动盘的原理和由来

我们都知道,Windows 98直到Windows XP系列的安装光盘都是可启动的,但Windows 95安装光盘却不能启动,你知道为什么吗?要想知道事情的原因,我们就必须要探寻一下可启动CD-ROM的起源。
  可启动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的标准。
  El Torito规范原本参见http://www.phoenix.com/resources/specs-cdrom.pdf(英文)。
  BIOS启动规范原本参见http://www.phoenix.com/resources/specs-bbs101.pdf(英文)。
  如果你想了解更多有关El Torito的故事,比如为什么称为“El Torito”,都有谁参与了规范的起草,等等,你可以从下述文件中找到答案:  http://www.cdpage.com/Compact_Disc_Variations/danaboot.html(英文)
  自从El Torito规范推出之后,采用单重启动映像的可启动CD-ROM大量涌现,El Torito规范也成为事实上的工业标准。
  可启动CD-ROM仍遵循ISO 9660的规范,简单地说,普通CD-ROM+开机功能=可启动CD-ROM。
  这也就是为什么Windows 95安装光盘不可启动的根本原因——Windows 95发布时El Torito规范还没有诞生。
  El Torito规范定义了CD-ROM中启动映像(bootable image)的配置,还提供了有关可启动CD-ROM的制作与结构的一些详细说明。这些说明的技术性很强,要想弄得很明白需要花费一番大力气。但我们的目的是制作出符合El Torito规范的可启动CD-ROM,所以没有必要在理论上了解那么多,很多现成的烧录软件以能够帮助我们制作出完美的单启动CD-ROM。
多重启动CD-ROM的工作原理
  El Torito规范中不仅定义了单重启动映像(single boot image)的配置,而且非常富有远见地定义了多重启动映像(multiple boot images)的配置。

上图是El Torito规范中定义的普通CD-ROM、单重启动CD-ROM和多重启动CD-ROM的启动映像配置图(图片来源:http://www.phoenix.com/resources/specs-cdrom.pdf)。从图中可以看出,可启动CD-ROM的工作原理如下:
  BIOS首先检查光盘的第17个扇区(sector 17),查找其中的代码,若发现其中的启动记录卷描述表(Boot Record Volume Descripter),它就根据表中的地址继续查找启动目录(Booting Catalog),找到启动目录后 ,再根据其中描述的启动入口(Boot Entry)找到相应的启动磁盘映像(Bootable Disk Image)或启动引导文件,找到启动磁盘映像后,读取其中的数据,并执行相应的开机动作。
  相对于单重启动CD-ROM而言,多重启动CD-ROM的启动目录中包含多个启动入口,指向多个启动磁盘映像。
  图1所描述的多重启动配置是El Torito规范所描述的多重启动映像配置,但由于多重启动CD-ROM在实际工作中的应用较少,目前大多数主板的BIOS对此支持得不是很好。在这类主板上,用遵循El Torito规范所制作的多重启动CD-ROM往往只能引导第1个(默认启动出口所指向的)启动映像,而其他的启动映像莫名其妙地消失了!
  为了解决这个问题,人们又相继研究出了一些办法来实现CD-ROM的多重启动,目前最流行的办法是“非模拟”(软盘、硬盘)式BIOS模拟法。其工作原理与El Torito规范所描述的单重启动映像配置原理基本相同,只是默认启动的不是软盘映像,而是1个启动引导文件,该启动引导文件引导光盘启动,再由它去查找其他的启动磁盘映像或引导文件,根据配置文件列出启动选项共用户选择。
原文联接:http://bbs.et8.net/bbs/showthread.php?s=5d089b72aafcf75978d87ebaa153193c&threadid=253310
相关联接:http://www.gonton.com.cn/pchards/ReadNews.asp?NewsID=576

TOP

[转载]启动盘的原理和由来

多谢!

TOP

[转载]启动盘的原理和由来

谢了

TOP

***** 版主模式 *****
该贴子是管理员从<a href=forums.cgi?forum=1>EasyBoot 专题</a>转移过来的!

TOP

[转载]启动盘的原理和由来

Thanks a lot.
人人为我!我为人人!

TOP

[转载]启动盘的原理和由来

长见识了

TOP

[转载]启动盘的原理和由来

xiexie!

TOP

[转载]启动盘的原理和由来

谢谢!人人为我!我为人人!

TOP

[转载]启动盘的原理和由来

我是菜鸟,长知识了~~

TOP

[转载]启动盘的原理和由来

多了很多知识

TOP

发新话题
最近访问的版块