我们都知道,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规范推出之后,采用单重启动映像的可启动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的启动映像配置图,从图中可以看出,可启动CD-ROM的工作原理如下:
BIOS首先检查光盘的第17个扇区(sector 17),查找其中的代码,若发现其中的启动记录卷描述表(Boot Record Volume Descripter),它就根据表中的地址继续查找启动目录(Booting Catalog),找到启动目录后 ,再根据其中描述的启动入口(Boot Entry)找到相应的启动磁盘映像(Bootable Disk Image)或启动引导文件,找到启动磁盘映像后,读取其中的数据,并执行相应的开机动作。
相对于单重启动CD-ROM而言,多重启动CD-ROM的启动目录中包含多个启动入口,指向多个启动磁盘映像。
上图所描述的多重启动配置是El Torito规范所描述的多重启动映像配置,但由于多重启动CD-ROM在实际工作中的应用较少,目前大多数主板的BIOS对此支持得不是很好。在这类主板上,用遵循El Torito规范所制作的多重启动CD-ROM往往只能引导第1个(默认启动出口所指向的)启动映像,而其他的启动映像莫名其妙地消失了!
为了解决这个问题,人们又相继研究出了一些办法来实现CD-ROM的多重启动,目前最流行的办法是“非模拟”(软盘、硬盘)式BIOS模拟法。其工作原理与El Torito规范所描述的单重启动映像配置原理基本相同,只是默认启动的不是软盘映像,而是1个启动引导文件,该启动引导文件引导光盘启动,再由它去查找其他的启动磁盘映像或引导文件,根据配置文件列出启动选项共用户选择。
目前采用这种方法的工具软件主要有3个:Diskemu、ISOLINUX/MEMDISK和Boot Scriptor。实际上,Boot Scriptor是Michael K Ter Louw在ISOLINUX的基础上二次开发的产品,但它对ISOLINUX的功能和性能都进行了非常大的扩充,与ISOLINUX的差别较大,特别是从1.2.3b版开始引入了Diskemu,使其兼容性大大提高,所以我们将其作为第3种方法加以介绍。
这3个软件的网址分列如下:
Diskemu:
http://www.nu2.nu/diskemu/
ISOLINUX:
http://syslinux.zytor.com/iso.php
Boot Scriptor:
http://www.bootscriptor.org/
工欲善其事,必先利其器。做启动光盘离不开工具,合适的工具使你事半功倍.
1、CDImage.exe(命令行界面)或CDImagegui.exe(图形界面)
必须。可启动光盘镜像制作工具,生成标准的ISO文件,同时具有优化光盘上文件的功能,使相同的文件只刻录1个,其他的文件都连接到该文件,是做N合1的核心软件。
2、WinImg
解安装软盘的img文件。
3、UltraEdit
十六进制编辑器,修改启动引导文件中的显示文字。
4、VMware(或Virtual PC)
测试制作完成的镜像文件,不用刻盘就试能不能启动了。你可以在XP下装LINUX,9X及DOS等。
5、NERO
刻盘工具,不用多说,当然你也可以用别的刻录软件。
系统要求:
1、最好是WIN2K或XP的系统,因为上述工具有的不能在9X下运行。
2、硬盘最好有2G以上的空间,多多益善。
3、最好有个刻录机,不过没有也没关系,可以用做ISO。
WIN9X的启动安装盘的制作主要是WIN98的启动安装盘制作,包括WINME和WIN95,WIN97等。原版WIN95不支持光盘启动,但我们可以通过上述方法实现光盘启动。所以我下面以WIN98为例。
你要有做一个WIN98软盘启动盘(或者其镜像).在Win 98系统下可以通过两种方式制作启动盘:第一种方式就是在Win 98系统安装过程中,系统将自动询问是否需要在此创建启动盘,你只要选择需要在此时创建。插入软盘,按屏幕提示操作,就可以创建成功。
第二种方式就是在Win 98使用过程中随时创建启动盘,方法是:单击“控制面板”,双击“添加/删除程序”,然后在出现的窗口中选择“启动盘”选项卡,就会进入“创建启动盘”对话框。插入磁盘,然后单击“创建启动盘”按钮就可以了,系统同时将显示制作进度。
然后用WINIMAGE,做成IMG或IMA格式,放到硬盘上。很简单,不详细说了。
如果你想做成引导后,自动SETUP的,将AUTOEXEC.BAT从WIN98.IMG中用WINIMAGE解开,调整SETUP的路径。默认的我设为\SIMPCHIN\WIN98\WIN98.你可以设为自已的实际光盘路径。修改后,将其再导入到WIN98.IMG中。
上面的东东都有了,我们可以用NERO刻盘了。