[转载]启动光盘制作完全手册:之一

【本文作者JFXIE授权cdbest.net发布】

一、前言

随着刻录机价格的暴降和刻录软件的更加容易使用,我们要刻录一张普通CDR盘,早已不是什么难事了,但要刻可启动光盘刻录,却未必人人能够做到。国外有许多讨论BOOTDISK的网站,如果你的E文足够好的话,我的教程你完全可以不看了,去看这个两个站:http://www.nu2.nu/http://www.tech-hints.com/,这两上站是最好的BOOTDISK站,国内无X的站资料十有八九是抄这里的.如果E文差,可以去无X的站去看,不过要收费。毕竟人家给你汉化了一下资料啊。

当然,你可以看我的教程,完全FREE。

我先说说启盘的原理和由来。(其中部分内容摘自一篇网上教程,作者不详)

我们都知道,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)的配置。


图片 1

 

上图是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个启动引导文件,该启动引导文件引导光盘启动,再由它去查找其他的启动磁盘映像或引导文件,根据配置文件列出启动选项共用户选择。

  目前采用这种方法的工具软件主要有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的核心软件。
  下载地址:http://www.tech-hints.com/prog/cdimage.zip

http://www.tech-hints.com/prog/cdimagegui.zip

国内的飞力也有相应的GUI界面,中文的。
http://www.mesky.net/felixqu/down/instactiveiso_chs_min.exe

2、WinImg

  解安装软盘的img文件。
  下载地址:http://www.winimage.com/winimage/winima60.zip

3、UltraEdit

  十六进制编辑器,修改启动引导文件中的显示文字。
  下载地址:ftp://ultraedit.com/uedit32.zip

4、VMware(或Virtual PC)

 测试制作完成的镜像文件,不用刻盘就试能不能启动了。你可以在XP下装LINUX,9X及DOS等。

5、NERO

刻盘工具,不用多说,当然你也可以用别的刻录软件。

以上工具,除了CDIMaGE外,其它的我都不会写详细的教程,请参照网上其它教程。


系统要求:
1、最好是WIN2K或XP的系统,因为上述工具有的不能在9X下运行。
2、硬盘最好有2G以上的空间,多多益善。
3、最好有个刻录机,不过没有也没关系,可以用做ISO。

posted @ 2006-07-08 11:58  hingman  阅读(604)  评论(0编辑  收藏  举报