启动光盘制做彻底手册:之一

【本文做者JFXIE受权cdbest.net发布】
1、前言
随着刻录机价格的暴降和刻录软件的更加容易使用,咱们要刻录一张普通CDR盘,早已不是什么难事了,但要刻可启动光盘刻录,却未必人人可以作到。国外有许多讨论BOOTDISK的网站,若是你的E文足够好的话,个人教程你彻底能够不看了,去看这个两个站: [url]http://www.nu2.nu/[/url][url]http://www.tech-hints.com/[/url],这两上站是最好的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规范本来参见 [url]http://www.phoenix.com/resources/specs-cdrom.pdf[/url](英文)。
  BIOS启动规范本来参见 [url]http://www.phoenix.com/resources/specs-bbs101.pdf[/url](英文)。
  若是你想了解更多有关El Torito的故事,好比为何称为“El Torito”,都有谁参与了规范的起草,等等,你能够从下述文件中找到答案:   [url]http://www.cdpage.com/Compact_Disc_Variations/danaboot.html[/url](英文)
  自从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 p_w_picpath)的配置,还提供了有关可启动CD-ROM的制做与结构的一些详细说明。这些说明的技术性很强,要想弄得很明白须要花费一番大力气。但咱们的目的是制做出符合El Torito规范的可启动CD-ROM,因此没有必要在理论上了解那么多,不少现成的烧录软件以可以帮助咱们制做出完美的单启动CD-ROM。
多重启动CD-ROM的工做原理
  El Torito规范中不只定义了单重启动映像(single boot p_w_picpath)的配置,并且很是富有远见地定义了多重启动映像(multiple boot p_w_picpaths)的配置。
 

图片 1
 
上图是El Torito规范中定义的普通CD-ROM、单重启动CD-ROM和多重启动CD-ROM的启动映像配置图(图片来源: [url]http://www.phoenix.com/resources/specs-cdrom.pdf[/url])。从图中能够看出,可启动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:
   [url]http://www.nu2.nu/diskemu/[/url]
  ISOLINUX:
   [url]http://syslinux.zytor.com/iso.php[/url]
  Boot Scriptor:
   [url]http://www.bootscriptor.org/[/url]

工欲善其事,必先利其器。
作启动光盘离不开工具,合适的工具使你事半功倍,固然详细的用法,参考后面几课及范例.

一、CDImage.exe(命令行界面)或CDImagegui.exe(图形界面)
  必须。可启动光盘镜像制做工具,生成标准的ISO文件,同时具备优化光盘上文件的功能,使相同的文件只刻录1个,其余的文件都链接到该文件,是作N合1的核心软件。
  下载地址: [url]http://www.tech-hints.com/prog/cdp_w_picpath.zip[/url]
国内的飞力也有相应的GUI界面,中文的。
[url]http://www.mesky.net/felixqu/down/instactiveiso_chs_min.exe[/url]
二、WinImg
  解安装软盘的img文件。
  下载地址: [url]http://www.winp_w_picpath.com/winp_w_picpath/winima60.zip[/url]
三、UltraEdit
  十六进制编辑器,修改启动引导文件中的显示文字。
  下载地址: [url]ftp://ultraedit.com/uedit32.zip[/url]
四、VMware(或Virtual PC)
 测试制做完成的镜像文件,不用刻盘就试能不能启动了。你能够在XP下装LINUX,9X及DOS等。
五、NERO
刻盘工具,不用多说,固然你也能够用别的刻录软件。
以上工具,除了CDIMaGE外,其它的我都不会写详细的教程,请参照网上其它教程。

系统要求:
一、最好是WIN2K或XP的系统,由于上述工具备的不能在9X下运行。
二、硬盘最好有2G以上的空间,×××。
三、最好有个刻录机,不过没有也不要紧,能够用作ISO。
今天就写这么多,明天从最简单的单系统启动讲起。