无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 7346|回复: 16
打印 上一主题 下一主题

启动光盘制作完全手册

[复制链接]
跳转到指定楼层
1#
发表于 2008-2-20 22:21:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一.启动盘原理和由来及常用工具
前言
随着刻录机价格的暴降和刻录软件的更加容易使用,我们要刻录一张普通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(英文);本地下载:specs-cdrom.pdf。
BIOS启动规范原本参见http://www.phoenix.com/resources/specs-bbs101.pdf(英文);本地下载: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)。本地下载: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
  本地下载:cdimage.exe
http://www.tech-hints.com/prog/cdimagegui.zip
本地下载:cdimagegui.exe
国内的飞力也有相应的GUI界面,中文的。
http://www.mesky.net/felixqu/down/instactiveiso_chs_min.exe
本地下载:InstActiveISObeta 0.9
2、WinImg
解安装软盘的img文件。
  下载地址:http://www.winimage.com/winimage/winima60.zip
  本地下载:winima60l 注册: NAME:SOFTICP.COM,SN:FE9CC31
3、UltraEdit
十六进制编辑器,修改启动引导文件中的显示文字。
  下载地址:ftp://ultraedit.com/uedit32.zip
   本地下载:uedit32.exe  注册机:keygen
     
4、VMware(或Virtual PC)
 测试制作完成的镜像文件,不用刻盘就试能不能启动了。你可以在XP下装LINUX,9X及DOS等。
5、NERO
刻盘工具,不用多说,当然你也可以用别的刻录软件。
以上工具,除了CDIMaGE外,其它的我都不会写详细的教程,请参照网上其它教程。

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

今天就写这么多,明天从最简单的单系统启动讲起。

[ 本帖最后由 打狗协会理事 于 2008-2-21 01:23 AM 编辑 ]
2#
 楼主| 发表于 2008-2-21 00:49:30 | 只看该作者

启动光盘制作完全手册(第二章 单系统启动盘的制作)

启动光盘制作完全手册(第二章   单系统启动盘的制作)
  书接上回,你如果有了我提到的一些工具,那么我们就可制作启动盘了。启动分为单系统的和多重启动盘。我们先从最简单的单系统盘讲起。
  单系统的盘可以是DOS,WIN9X,WINNT,WIN2K,WINXP,LINUX等,但DOS和LINUX不在我们的讨论之列。
一、WIN9X的启动安装盘的制作
主要是WIN98的启动安装盘制作,包括WINME和WIN95,WIN97等。上一章我们说到,原版WIN95不支持光盘启动,但我们可以通过上述方法实现光盘启动。所以我下面以WIN98为例。
你要有做一个WIN98软盘启动盘(或者其镜像).在Win 98系统下可以通过两种方式制作启动盘:第一种方式就是在Win 98系统安装过程中,系统将自动询问是否需要在此创建启动盘,你只要选择需要在此时创建。插入软盘,按屏幕提示操作,就可以创建成功。
  第二种方式就是在Win 98使用过程中随时创建启动盘,方法是:单击“控制面板”,双击“添加/删除程序”,然后在出现的窗口中选择“启动盘”选项卡,就会进入如图1所示的“创建启动盘”对话框。插入磁盘,然后单击“创建启动盘”按钮就可以了,系统同时将显示制作进度。

图片 1
然后用WINIMAGE,做成IMG或IMA格式,放到硬盘上。很简单,不详细说了。
如果你很懒的话,或者你根本没有98的系统,我做好了一个,你可以去下载
这是98的
http://www.yihongtai.com/xjf/boot/WIN98.img
这是WINME的。
http://www.yihongtai.com/xjf/boot/winme.img
在IMG中可以集合好多工具,如你不爱用FDISK,你可以将PQ7做进去,还可以将杀毒软件做进去。这有个2.88M的IMG,集合了好多工具,可以去下载,来自飞力的网站。
http://www.mesky.net/felixqu/down/Boot98.img
如果你想做成引导后,自动SETUP的,将AUTOEXEC.BAT从WIN98.IMG中用WINIMAGE解开,调整SETUP的路径。默认的我设为\SIMPCHIN\WIN98\WIN98.你可以设为自已的实际光盘路径。修改后,将其再导入到WIN98.IMG中。
上面的东东都有了,我们可以用NERO刻盘了。
选BOOTDISK,如图所示,我就不多说什么了,如果对NERO不太懂,请参见其相关教程。

图片 2

图片 3

图片 4
需要注意的是,我没有烧成光盘,而是直接生成了一个ISO文件。因为你不知道你做的盘能不能满足要求,所以做成ISO,让VMware Workstation模拟一下.

图片 5
如果直接做光盘,可以不采用ISO9600格式,可以用JOLIET格式。
如果测试没问题,你可以刻自已的第一张安装启动盘了。
二、WIN2K引导盘的制作。
WIN2K启动盘的制作需要用到一个WIN2K的引导文件。来自飞力的网站。
下载地址:http://www.mesky.net/felixqu/down/bootw2k.abf。本地下载:bootw2k.abf(当然这个东东可以从正版WIN2K或XP的盘上,用WINISO提出来。)还需要一个重要的工具,就是CDIMAGE,在后几课里,它也是重要角色。下载地址上一章里有。
1、准备一个有1.4G左右的剩余空间的分区(这个问题很重要,不然会无法完成制作)和一张WIN2K的源盘。
2、建立一个目录,如目录WIN2K,在WIN2K目录下拷入 cdimage.exe 和 bootw2k.abf
3、在WIN2K目录下建立子目录,如CD.
4、CD目录下拷入 WINDOWS 2000 所有的文件,必须确保复制了全部文件和子目录,包括具有系统和隐藏属性的。复制完毕后,清除cd\下全部文件和子目录的系统、隐藏和只读属性。
   BOOTFONT.BIN
   CDROM_IP.5 (这是专业版的文件,服务器版用Cdrom_is.5,高级服务器版用Cdrom_ia.5)
   CDROM_NT.5
   CDROMSP3.TST (你的I386目录集成了sp3,才需要这个文件)
   I386
   I386\WINNT.EXE
   ......
5、在windows 2000 的DOS提示符下,进入WIN2K目录。
执行 cdimage -lWin2000 -t09/15/2002,00:00:00 -h -m -n -bootw2k.abf CD win2000.ISO
6、程序将会在WIN2K目录下自动生成一个win2000.ISO.
7、为了保证成功,可以先用VMWARE和virtual daemon tool对win2000.ISO进行引导测试。
注意事项:
1)、根目录下面必须有cdrom_ia.5、cdrom_is.5、cdrom_ip.5和cdrom_nt.5文件,这是我们欺骗安装程序的标志,它告诉安装程序,这张光盘是Windows 2000的原始安装盘。
2)、关于集成SP3的事项。Windows 2000 Service Pack 3集成进Windows 2000的安装盘中,这样安装完毕的Windows 2000就集成了Service Pack 3,不必再单独安装了。
  下载地址:http://download.microsoft.com/download/win2000platform/SP/SP3/NT5/CN/W2Ksp3.exe
下载后运行:假设你的实际路径是:d:\win2k\cd
   在DOS下执行:w2ksp3.exe -s:d:\win2k\cd
3)关于CDIMAGE的参数说明。
上述命令中各参数含义分别为:
  -l:设置光盘卷标。此处为“Win2000”。
  -t:设置光盘上所有文件的生成日期。
  -g:转换本地时间与格林威治时间(GMT)。但如果是在Windows XP系统下,该参数似乎不起作用,“-t”参数指定的是GMT时间,而文件的生成时间是“-t”指定的时间加上时区转换后的本地时间。如,上例中的文件生成本地时间是“20:00:00”,即GMT+8=北京时间。
  -h:包含隐藏的目录和文件。
  -n:允许长文件名。
  -o:优化相同的文件,最重要的参数,这将是我们下一课做N合1的关键。
  -m:允许生成的ISO文件超过640 MB。
  -b:光盘启动引导程序
  d:\win2k\cd:源文件路径,将作为光盘的根目录。
  win2000.iso:最后生成的ISO文件,我们要的就是它。
cdimage /?可显示所有选项。CDImagegui提供了一个图形界面,使用更直观,功能是一样的。

三、WINXP启动光盘的制作
和WIN2K的差不多,引导文件还是可以用WIN2K的。不写的太详细了。
1、准备一个有1.4G左右的剩余空间的分区(这个问题很重要,不然会无法完成制作)和一张WIN2K的源盘。
2、建立一个目录,如目录WINXP,在WINXP目录下拷入 cdimage.exe 和 bootw2k.abf
3、在WINXP目录下建立子目录,如CD.
4、CD目录下拷入 WINDOWS XP 所有的文件,必须确保复制了全部文件和子目录,包括具有系统和隐藏属性的。复制完毕后,清除cd\下全部文件和子目录的系统、隐藏和只读属性。
   WIN51IP(这是专业版的文件,服务器版用WIN51IS,高级服务器版用WIN51IA,家庭版用WIN51IC)
   WIN51
   I386
   I386\WINNT.EXE
   ......
5、在windows 2000 的DOS提示符下,进入WINXP目录。
   执行 cdimage -lWinXP -t09/15/2002,00:00:00 -h -m -n -bw2ksect.bin CD winxp.ISO
6、程序将会在WINXP目录下自动生成一个winxp.ISO.
7、为了保证成功,可以先用VMWARE和virtual daemon tool对winxp.ISO进行引导测试。
还有WINNT的制作,和WIN2K的差不多,就不写了,大家有兴趣举一反三,自已试试吧。
回复

使用道具 举报

3#
 楼主| 发表于 2008-2-21 00:57:51 | 只看该作者

启动光盘制作完全手册(三.多重系统启动盘的制作)

启动光盘制作完全手册(三.多重系统启动盘的制作)
第三章   多重系统启动盘的制作
上回我们讲单系统的启动光盘的制作,现在我们来讲多重启动光盘制作。目前采用这种方法的工具软件主要有3个:Diskemu、ISOLINUX/MEMDISK和Boot Scriptor。实际上,Boot sriptor是Michael K Ter Louw在ISOLINUX的基础上二次开发的产品,但它对ISOLINUX的功能和性能都进行了非常大的扩充,与ISOLINUX的差别较大,特别是从1.2.3b版开始引入了Diskemu,使其兼容性大大提高,所以我们重点是Diskemu和Boot Scriptor。
可以毫不夸张地说,Diskemu是个划时代的经典之作。在Diskemu被开发出来之前,人们要制作1张多重启动CD-ROM真的需要花费九牛二虎之力:按照El Torito规范需要进行繁琐的地址计算,找到地址后再去修改ISO文件,最后辛辛苦苦制作出来的多重启动CD-ROM还不能保证兼容所有的BIOS!后来,Gary Tong为了解决可启动CD-ROM无法浏览CD-ROM上文件的问题而开发了Diskemu(支持单重启动CD-ROM),BIOS模拟法这时才真正诞生。Bart Lagerweij继续这项工作,使Diskemu能够最多支持20个启动磁盘映像!但非常可惜,2001年11月,Bart在写完Diskem1x.bin v1.1 BETA后便停止了对Diskemu的继续开发(参见http://www.nu2.nu/diskemu,英文)。但不可否认,直到现在,Diskemu仍然是非常优秀的,其兼容性最好。下面是Diskemu的主要特点:
  (1)支持ISO 9660文件系统。
  (2)使用一种简单的类似批处理形式的脚本语言来执行一定的动作,例如:清屏,显示提示信息,等待按键,运行特定磁盘映像,等等。
  (3)可以快速地编写自己定制的启动菜单,并启动相应的磁盘映像。
  (4)为专业人员提供一个命令行调试模式,手工执行一些操作。
  (5)自动检查软盘映像类型。支持多种软盘映像:160 KB,180 KB,320 KB,360 KB,1.2 MB,720 KB,820 KB,1.44 MB,1.68 MB,1.72 MB,2.88 MB。
  (6)使用1张可启动的Diskemu CD-Rom,你甚至可以从另外不能启动的CD-ROM上启动磁盘映像文件。当然需要首先用可启动的Diskemu CD-Rom启动,然后进入命令行模式,再更换光盘,键入“cd \”,再运行光盘上的映像文件(在实际工作中这项功能应用得并不多)。
  (7)它使用一个单独的引导器(loader.bin),将能够正确地加载diskem1x.bin,甚至在BIOS不完全兼容El-Torito规范的主板上,也能保证正确引导。
  Bart还有几个计划没有完成,当然也是Diskemu的主要不足:
  (1)检测第1快硬盘是否看似能够启动。
  (2)让diskem1x直接将信息写入屏幕缓存。
  (3)增加颜色功能。
  (4)键盘映射(以支持其他国家的键盘)。
  (5)增加软盘映像热交换功能。
  (6)加载COM文件(COM文件一定不能用DOS功能)。
“非模拟”式BIOS模拟法要求有1个引导器和1套启动映像/菜单管理器。引导器必须以非模拟方式加载,即启动后不能模拟为软盘或硬盘,这是制作BIOS模拟法多重启动CD-ROM的关键。下面以Diskemu为例简述其运行流程,ISOLINUX与Boot Scriptor的运行流程与此基本类似。
  Diskemu包含3个主要文件:
  loader.bin:启动引导器;
  diskem1x.bin:启动映像/菜单管理器;
  diskemu.cmd:默认的启动菜单配置文件,纯文本文件,需要用户手工创建。
  启动引导器loader.bin是启动目录中默认的启动入口,loader.bin将最先被加载到默认的加载地址0:7c00h。loader.bin被加载后,首先将自己移至地址5000:0h,然后搜索光盘的根目录,查找文件diskem1x.bin。找到后,diskem1x.bin将被加载到地址0:7c00h,Loader.bin的使命完成。diskem1x.bin被加载后,首先也将自己移至地址5000:0h,然后搜索光盘根目录,查找默认的启动菜单配置文件diskemu.cmd,找到后,显示其中的菜单项,并根据用户按键运行相应的启动映像。如果没有在光盘的根目录下找到diskemu.cmd,或者在diskem1x.bin的加载过程中用户按下了Shift键,diskem1x.bin将进入命令行模式(可以进行各种调试)。
  从Diskemu的运行流程来看,其本质是单重启动, diskem1x.bin加载后,它与启动菜单配合,为用户提供多个启动入口,模拟El Torito规范中的多重启动的启动目录,并根据用户的选择,完成多重启动的动作。这也正式“BIOS 模拟法”名称的由来。
制作多重启动CD-ROM一般要经过三个步骤:
  准备所需资料→制作光盘映像ISO文件→将ISO文件烧录到CD-ROM
  烧录软件的作用就是完成后两步操作。
  当然,不制作ISO文件而直接烧录出多重启动CD-ROM也是办得到的,但除非十分有把握,否则最好不要冒险。
  能够制作多重启动CD-ROM映像文件的烧录软件很多。从BIOS模拟法的工作流程即可知道:只要是能够制作单重启动CD-ROM映像文件的烧录软件也应该能够制作多重启动CD-ROM映像文件。但凡事总有例外:ISOLINUX就很特殊,不是所有的烧录软件都适用。
    
我们今天要做的是WINDOWS 6 IN 1。如果再加个DOS 6.22可以来个7IN1了。
是以下6个系统,WIN2KPRO、WIN2KSEVER、WIN2KASEVER、WIN98SE、WINME、WIN97,要说明的是,WIN2K是打了SP3的了,而且包括WIN2K源盘所带的所有程序。WIN98SE、WINME、WIN97则不带任何源盘工具(如PWS等),只是安装文件。当然了,你可以不要这么多的系统,只选几个想要就行了。如做个WIN98SE和XP的合1等等。这个盘有800M左右,用99MIN 870M盘刻还有余量。如果没有800M或870M的盘,请去掉一些系统或WIN2K的一些工具。
1、所用的工具:CDIMAGE、NERO、winimage、上述系统的的源盘,还有VMware Workstation。
2、上述映象引导文件,你可以自已做,但我已打好包了,建义新手采用我的BOOT来引导,省事,不用你配置了。
http://www.yihongtai.com/xjf/boot/boot.rar
这是DISKMU文件。
http://www.yihongtai.com/xjf/BOOT/diskmu.rar
3、目录结构
建一个文件夹为在D:\WIN2K\ROOT,保证硬盘上有足够空余空间(假设将文件存放在硬盘d:,全部三个版本的原始文件约占用空间为1.5 GB,生成的镜像文件约为811 MB),建立如下目录结构,并复制文件cdimage.exe到相应位置:
  d:\win2k\cdimage.exe
  d:\win2k\root\boot
  d:\win2k\root\wpro
  d:\win2k\root\wsrv
    d:\win2k\root\asrv
  d:\win2k\root\win98
  d:\win2k\root\winme
    d:\win2k\root\win97
  d:\win2k\root\win2000
  d:\win2k\root\win2000\asvr
  d:\win2k\root\win2000\wsvr
  d:\win2k\root\win2000\wpro
将下下载的boot.RAR解压后用于放到boot文件,把所有引导文件全部放进来,那位看官说了,放在根目录行不行,是可以的,但放进去boot目录比较整洁,而且我已经把路径全设好了,请新手不要改动,否则不能引导。WPRO,WSRV,ASRV分别放WIN2K三个版本的BOOT iMG,下面有详细的说明。
  其中,d:\win2k\root\是Windows 7合1光盘的根目录,d:\win2k\root\win2000\asrv用于存放Windows 2000高级服务器版文件,d:\win2k\root\win2000\wsrv用于存放Windows 2000服务器版文件,d:\win2k\root\win2000\wpro用于存放Windows 2000专业版文件,d:\win2k\root\win98内放WIN98的安装文件,d:\win2k\root\win97内放WIN97的安装文件,d:\win2k\root\winme内放WINme的安装文件.
将d:\win2k\WIN2000\root\asrv目录下的cdrom_ia.5和cdrom_nt.5复制到d:\win2k\root\,将d:\win2k\rootWIN2000\wsrv目录下的cdrom_is.5复制到d:\win2k\root\,将:\win2k\root\win2000\wpro目录下的cdrom_ip.5复制到d:\win2k\root\。
d:\win2k\root\下面必须有cdrom_ia.5、cdrom_is.5、cdrom_ip.5和cdrom_nt.5文件,这是我们欺骗安装程序的标志:这张光盘是Windows2000的原始安装盘。
将下下载的DISKMU.RAR解压后,放到复制到d:\win2k\root\
以上WIN2K下放的是WIN2K的源盘所有文件,WIN9X文件夹下放的是完全安装文件,下面没有什么文件夹。不要放错了,要不然无法安装。

图片 1
4、给WIN2K打SP3(当然不打也可以)
运行w2ksp3.exe /x将Service Pack 3全部文件提取出来,假设提取到f:\tmp。在f:\tmp\i386\update下分别运行命令行命令:
  update.exe -s:d:\win2k\root\win2000\asrv
  update.exe -s:d:\win2k\root\win2000\wsrv
  update.exe -s:d:\win2k\root\win2000\wpro
  上述命令运行完毕后,Service Pack 3已经集成到Windows 2000各版本中,且d:\win2k\root\win2000\asvr、 d:\win2k\root\win2000\wsvr、d:\win2k\root\win2000\wpro各目录下应有一文件cdromsp3.tst,将其复制到d:\win2k\root\。
d:\win2k\root\下面必须有cdromsp3.tst文件,否则安装程序会要求我们插入Service Pack 3光盘。
5、 跳过输入产品序列号
  查找各个版本i386目录,找到文件setupp.ini,用记事本打开,将其中的“Pid=xxxxx000”修改为“Pid=xxxxx270”,存盘退出。这一步不是必须的,只是图个方便。
6、 配置安装程序
  Windows 2000正版光盘上有个bootdisk子目录,里面包含4张Windows 2000安装软盘镜像的img文件。用WinImg将各个版本bootdisk目录下的4个img文件分别释放到各自的系统文件目录下:
  d:\win2k\root\win2000\wpro\bootdisk的img文件全部释放到d:\win2k\root\wpro\下。
  d:\win2k\root\win2000\wsrv\bootdisk的img文件全部释放到d:\win2k\root\wsrv\下。
  d:\win2k\root\win2000\asrv\bootdisk的img文件全部释放到d:\win2k\root\asrv\下。
 一定要注意,这是我们模拟软盘安装的关键,一定要连带system32目录(里面有两个文件)一起释放。
  从d:\win2k\root\win2000\wpro\i386目录中复制bootfix.bin,将其分别粘贴到d:\win2k\root\asrv、d:\win2k\root\wpro和d:\win2k\root\wsrv。该文件的作用就是光盘启动后显示一条信息“Press any key to boot from CD.”,并等待5秒钟,若没有按键,则从硬盘启动;否则从光盘启动。
  如果觉得5秒的延时太短,可以用UltraEdit编辑该文件,找到“Press any key to boot from CD.”后面的“49 00 12 00”,将“49”改为“AA”延时可达10秒,改为“FF”延时可达15秒。
  如果集成了Service Pack 3,需要将wpro、wsrv、asrv下面的文件用各自i386目录下面的文件替换(实际上只需要替换txtsetup.sif就行了),即将启动软盘组中的文件也替换为集成Service Pack 3后的文件。注意:一定不要替换system32中的文件,否则无法安装。
  要替换这一大堆文件比较繁琐,用下面的方法可以简化:
  xxcopy法。下载xxcopy(http://www.xxcopy.com/),执行下面的命令:
  xxcopy d:\win2k\root\win2000\wpro\i386 d:\win2k\root\wpro\ /U /E /YY
  xxcopy d:\win2k\root\win2000\wsrv\i386 d:\win2k\root\wsrv\ /U /E /YY
  xxcopy d:\win2k\root\win2000\asrv\i386 d:\win2k\root\asrv\ /U /E /YY
替换完成后删除wpro、wsrv、asrv下面的空目录(xxcopy替换的副产品)即可。
7、 修改setupldr.bin和txtsetup.sif
  用Ultraedit打开d:\win2k\root\asrv\setupldr.bin,用ASCII方式替换“i386”为“asrv”,共3处;
  用Ultraedit打开d:\win2k\root\wsrv\setupldr.bin,用ASCII方式替换“i386”为“wsrv”,共3处;
  用Ultraedit打开d:\win2k\root\wpro\setupldr.bin,用ASCII方式替换“i386”为“wpro”,共3处。
  存盘退出。
  用Ultraedit打开d:\win2k\root\win200\asrv\txtsetup.sif,替换“SetupSourcePath = "\"”为“SetupSourcePath = "\win2000\asrv"”;
  用Ultraedit打开d:\win2k\root\win200\wsrv\txtsetup.sif,替换“SetupSourcePath = "\"”为“SetupSourcePath = "\win2000\wsrv"”;
  用Ultraedit打开d:\win2k\root\win200\wpro\txtsetup.sif,替换“SetupSourcePath = "\"”为“SetupSourcePath = "\win2000\wpro"”。
  存盘退出。
  这两个文件中的路径告诉安装程序从何处复制文件,必须与目录结构相匹配。
8、WIN97.IMG,WIN98.IMG,WINME.IMG中的AUTOEXEC.BAT我已配置好,如这个镜像是你自已做的,可能安装会和我的不一样,具体配置,可以参考我做的这个,因为用系统做的软盘启动盘,做不出正版的效果。关于这个不想写的太多,如果细说,一章都不够。
9、diskemu.cmd的文件我已改好,如你不满意,可以用NOTEPAD改一下。不过不要改文件名和路径。
10、制作ISO
CDImage程序加“-o”参数优化后生成的镜像文件约为811MB,我们假设将它存放在f:盘的根目录下,命令行命令如下:
d:\win2k\cdimage -lWin6in1 -t015/9/2002,12:00:00 -g -h -n -o -m -bd:\win2k\root\loader.bin d:\win2k\root f:\win6in1.iso

 上述命令中各参数含义分别为:
  -l:设置光盘卷标。此处为“Win6in1”。
  -t:设置光盘上所有文件的生成日期。
  -g:转换本地时间与格林威治时间(GMT)。但如果是在Windows XP系统下,该参数似乎不起作用,“-t”参数指定的是GMT时间,而文件的生成时间是“-t”指定的时间加上时区转换后的本地时间。如,上例中的文件生成本地时间是“20:00:00”,即GMT+8=北京时间。
  -h:包含隐藏的目录和文件。
  -n:允许长文件名。
  -o:优化相同的文件,最重要的参数.
  -m:允许生成的ISO文件超过640 MB。
  -b:光盘启动引导程序,此处我们使用了loader.bin。
  d:\win2k\root:源文件路径,将作为光盘的根目录。
  f:\win6in1.iso:最后生成的ISO文件,我们要的就是它。
  cdimage /?可显示所有选项。CDImagegui提供了一个图形界面,使用更直观,功能是一样的。

11、我们可利用VMware Workstation(http://www.vmware.com/)或Virtual PC(http://www.connectix.com/)测试其效果。正确无误后,可将iso烧录到光盘。
我上面的用了diskemu做了一个多重启动,大家慢慢体会后,我们再用Boot Scriptor做。

点评

破天武神www.gmwxw.com/book/974.html 绝世武神www.aoswx.com/book/1076.html  发表于 2014-9-4 21:11
回复

使用道具 举报

4#
 楼主| 发表于 2008-2-21 01:48:51 | 只看该作者

启动光盘制作完全手册(四.Windows n合1启动光盘制作攻略)(提供2k/xp/2003引导文件)

本地下载:Windows2k/xp/2003安装光盘的引导文件

Windows n合1启动光盘制作攻略

——实战Boot Script

  在“Windows n合1 启动光盘制作攻略——Windows 2000 3合1与Windows XP 2合1启动光盘的制作方法”一文中我讲解了Windows 2000 3合1光盘与Windows XP 2合1的光盘的制作原理与制作方法,相信各位朋友一定会有所启发,有些人已经自己动手操作了。但是后来发现,上文中有些错误,当时没有考虑到,这里修正如下:  (1)Windows 2000:如果集成了SP2或SP3,一定要将i386子目录中的文件txtsetup.sif复制到各自的安装目录下(或者干脆用i386中的同名文件全部替换),覆盖掉原来的文件,否则安装时系统报错。  (2)Windows XP:用CDImage制作ISO映像文件时,原来的“-n”参数要修改为“-j1”,否则ISO文件能够通过虚拟机测试,但烧录到光盘后会找不到ASMS目录里的文件,因为路径刚刚超过8层。
  各位朋友制作好了2合1、3合1后,一定希望弄个5合1、6合1、8合1、xx合1,把各个版本的操作系统通通搜罗进来!很好,如果你有DVD刻录机的话,或者有1.3 GB的DDCD刻录机,我就来满足你的这个愿望:MS & Linux xx合1启动版,只要你的DVD足够大。但是我不会帮你做,我只提供一个通用的办法。还是让我们以Windows 2000 3合1为例来讲解吧。  1. 所需工具  (1)WPROSECT.DAT、WSRVSECT.DAT、ASRVSECT.DAT
  必须。Windows 2000光盘启动引导文件。这三个文件其实是一样的,只是其中原来的字符串“i386”分别被替换成了“wpro”、“wsrv”和“asrv”。
  下载地址:http://www.tech-hints.com/files/2kroot.zip  本地下载: 2kroot.exe
  (2)CDImage.exe(命令行界面)或CDImagegui.exe(图形界面)
  必须。可启动光盘镜像制作工具,生成标准的ISO文件,同时优化光盘上的文件。
  下载地址:http://www.tech-hints.com/prog/cdimage.zip 本地下载,http://www.tech-hints.com/prog/cdimagegui.zip 本地下载
  (3)WinImg
  可选。解Windows 2000安装软盘组的img文件。可替换方法是制作4张安装软盘,然后将4张软盘上的全部文件复制到硬盘相应目录下。
  下载地址:http://www.winimage.com/winimage/winima60.zip 本地下载
  (4)UltraEdit
  可选。十六进制编辑器。
  下载地址:ftp://ultraedit.com/uedit32.zip 本地下载
  (5)Windows 2000安装软盘组
  必须。用软盘引导机器,加载必要的系统文件及基本驱动程序,然后从光盘继续安装。
  Windows 2000安装软盘组在正版光盘的bootdisk目录下,三个版本的安装软盘是不同的,不能混用。
  (6)Windows 2000 Service Pack 3
  可选。将Windows 2000 Service Pack 3集成进Windows 2000的三个版本中,这样安装完毕的Windows 2000就集成了Service Pack 3,不必再单独安装了。
  下载地址:http://download.microsoft.com/do ... 3/NT5/CN/W2Ksp3.exe
  (7)VMware(或Virtual PC)和Nero
  可选。测试制作完成的3合1镜像文件并烧录光盘。
  (8)Boot Scriptor
  必须。多重启动光盘管理器。这个软件的版本发展非常快,各版本之间的功能大不相同,目前能够下载的是1.2.3b,如果以后出了新版本,可以参考这里的做法。
  下载地址:http://tigger.cc.uic.edu/~mterlo ... /Boot%20Scriptor%20(1.2.3b).zip  2. 目录及文件结构  保证硬盘上有足够空余空间(假设将文件存放在硬盘d:,全部三个版本的原始文件约占用空间为1.24 GB,生成的镜像文件约为502 MB),建立如下目录结构,并复制文件cdimage.exe到相应位置:
  d:\win2k\cdimage.exe
  d:\win2k\root\asrv
  d:\win2k\root\wpro
  d:\win2k\root\wsrv
  其中,d:\win2k\root\是Windows 2000 3合1光盘的根目录,d:\win2k\root\asrv用于存放Windows 2000高级服务器版文件,d:\win2k\root\wsrv用于存放Windows 2000服务器版文件,d:\win2k\root\wpro用于存放Windows 2000专业版文件。  3. 文件复制  将Windows 2000高级服务器版光盘上的文件全部复制到asrv目录,将Windows 2000服务器版光盘上的文件全部复制到wsrv目录,将Windows 2000专业版光盘上的文件全部复制到wpro目录。  必须确保复制了全部文件和子目录,包括具有系统和隐藏属性的。  复制完毕后,清除d:\win2k\root\下全部文件和子目录的系统、隐藏和只读属性。  将d:\win2k\root\asrv目录下的cdrom_ia.5和cdrom_nt.5复制到d:\win2k\root\,将d:\win2k\root\wsrv目录下的cdrom_is.5复制到d:\win2k\root\,将d:\win2k\root\wpro目录下的cdrom_ip.5复制到d:\win2k\root\。  要点:d:\win2k\root\下面必须有cdrom_ia.5、cdrom_is.5、cdrom_ip.5和cdrom_nt.5文件,这是我们欺骗安装程序的标志:这张光盘是Windows 2000的原始安装盘。  4. 将Service Pack 3集成到Windows 2000各版本中  运行w2ksp3.exe /x将Service Pack 3全部文件提取出来,假设提取到f:\tmp。在f:\tmp\i386\update下分别运行命令行命令:
  update.exe -s:d:\win2k\root\asrv
  update.exe -s:d:\win2k\root\wsrv
  update.exe -s:d:\win2k\root\wpro
  上述命令运行完毕后,Service Pack 3已经集成到Windows 2000各版本中,且d:\win2k\root\asrv、d:\win2k\root\wsrv、d:\win2k\root\wpro各目录下应有一文件cdromsp3.tst,将其复制到d:\win2k\root\。
  要点:d:\win2k\root\下面必须有cdromsp3.tst文件,否则安装程序会要求我们插入Service Pack 3光盘。  5. 跳过输入产品序列号  查找各个版本i386目录,找到文件setupp.ini,用记事本打开,将其中的“Pid=xxxxx000”修改为“Pid=xxxxx270”,存盘退出。这一步不是必须的,只是图个方便。  6. 配置安装程序  Windows 2000正版光盘上有个bootdisk子目录,里面包含4张Windows 2000安装软盘镜像的img文件。用WinImg将各个版本bootdisk目录下的4个img文件分别释放到各自的系统文件目录下:
  d:\win2k\root\wpro\bootdisk的img文件全部释放到d:\win2k\root\wpro\下。
  d:\win2k\root\wsrv\bootdisk的img文件全部释放到d:\win2k\root\wsrv\下。
  d:\win2k\root\asrv\bootdisk的img文件全部释放到d:\win2k\root\asrv\下。  要点:这是我们模拟软盘安装的关键,一定要连带system32目录(里面有两个文件)一起释放。  如果集成了Service Pack 3,需要将wpro、wsrv、asrv下面的文件用各自i386目录下面的文件替换(实际上只需要替换txtsetup.sif就行了),即将启动软盘组中的文件也替换为集成Service Pack 3后的文件。注意:一定不要替换system32中的文件,否则无法安装。  要替换这一大堆文件比较繁琐,可以用两个办法:
  (1)xxcopy法。下载xxcopy(http://www.xxcopy.com/),执行下面的命令:
  xxcopy d:\win2k\root\wpro\i386 d:\win2k\root\wpro\ /U /E /YY
  xxcopy d:\win2k\root\wsrv\i386 d:\win2k\root\wsrv\ /U /E /YY
  xxcopy d:\win2k\root\asrv\i386 d:\win2k\root\asrv\ /U /E /YY
替换完成后删除wpro、wsrv、asrv下面的空目录(xxcopy替换的副产品)即可。
  (2)批处理替换法。以wpro目录为例:
  dir d:\win2k\root\wpro\*.* >1.bat
  move d:\win2k\root\wpro\1.bat d:\win2k\root\wpro\i386
  用Ultraedit编辑1.bat,只保留文件名,每个文件名一行,修改每行的命令为
  copy [文件名] d:\win2k\root\wpro\
  存盘退出,在d:\win2k\root\wpro\i386目录下运行1.bat,d:\win2k\root\wpro\i386目录没有而d:\win2k\root\wpro有的文件不替换。其他两个版本如法炮制。  7. 修改setupldr.bin和txtsetup.sif  用Ultraedit打开d:\win2k\root\asrv\setupldr.bin,用ASCII方式替换“i386”为“asrv”,共3处;
  用Ultraedit打开d:\win2k\root\wsrv\setupldr.bin,用ASCII方式替换“i386”为“wsrv”,共3处;
  用Ultraedit打开d:\win2k\root\wpro\setupldr.bin,用ASCII方式替换“i386”为“wpro”,共3处。
  存盘退出。  用Ultraedit打开d:\win2k\root\asrv\txtsetup.sif,替换“SetupSourcePath = "\"”为“SetupSourcePath = "\asrv"”;
  用Ultraedit打开d:\win2k\root\wsrv\txtsetup.sif,替换“SetupSourcePath = "\"”为“SetupSourcePath = "\wsrv"”;
  用Ultraedit打开d:\win2k\root\wpro\txtsetup.sif,替换“SetupSourcePath = "\"”为“SetupSourcePath = "\wpro"”。
  存盘退出。  要点:这两个文件中的路径告诉安装程序从何处复制文件,必须与目录结构相匹配。  8. 启动菜单的制作  释放文件Boot Scriptor (1.2.3b).zip,将其中的bscript子目录复制到d:\win2k\root\,将bscript\loader.bin(光盘引导器)移动到d:\win2k\,删除bscript\bscriptw.com,bscript\modules中的文件不动(尽管有些是我们不需要的,但文件很小)。  释放2kroot.zip,将其中的文件WPROSECT.DAT、WSRVSECT.DAT、ASRVSECT.DAT复制到d:\win2k\root\bscript。  9. 编写启动菜单配置文件bscript\bscript.ini
  start:
  clear
  print c "\n\n\c17===================================================\n"
  print c "\c17  \c1fWindows 2000 Setup\c17  \n"
  print c "\c17---------------------------------------------------\n"
  print c "\c17  \n"
  print c "\c17  \c1f1\c17 Windows 2000 Professional  \n"
  print c "\c17  \c1f2\c17 Windows 2000 Server  \n"
  print c "\c17  \c1f3\c17 Windows 2000 Advanced Server  \n"
  print c "\c17  \n"
  print c "\c17  \c1fF\c17 Boot from first Floppy Drive  \n"
  print c "\c17 \c1f Esc\c17 Boot from first Hard Disk  \n"
  print c "\c17  \n"
  print c "\c17---------------------------------------------------\n"
  print c "\c17  Select the item and then press Enter  \n"
  print c "\c17===================================================\n"
  ;
  start1:
  call drawscrn
  setpos 1 7
  print c "\c3f  1\c31 Windows 2000 Professional  "
  key1:
  getkey
  call mainkey
  onkey space goto item_1
  onkey enter goto item_1
  onkey up goto start5
  onkey down goto start2
  goto key1
  ;
  start2:
  call drawscrn
  setpos 1 8
  print c "\c3f  2\c31 Windows 2000 Server  "
  key2:
  getkey
  call mainkey
  onkey space goto item_2
  onkey enter goto item_2
  onkey up goto start1
  onkey down goto start3
  goto key2
  ;
  start3:
  call drawscrn
  setpos 1 9
  print c "\c3f  3\c31 Windows 2000 Advanced Server  "
  key3:
  getkey
  call mainkey
  onkey space goto item_3
  onkey enter goto item_3
  onkey up goto start2
  onkey down goto start4
  goto key3
  ;
  start4:
  call drawscrn
  setpos 1 11
  print c "\c3f  F\c31 Boot from first Floppy Drive  "
  key4:
  getkey
  call mainkey
  onkey space boot 0x00
  onkey enter boot 0x00
  onkey up goto start3
  onkey down goto start5
  goto key4
  ;
  start5:
  call drawscrn
  setpos 1 12
  print c "\c3f Esc\c31 Boot from first Hard Disk  "
  key5:
  getkey
  call mainkey
  onkey space boot 0x80
  onkey enter boot 0x80
  onkey up goto start4
  onkey down goto start1
  goto key5
  ;
  mainkey:
  onkey 1 goto item_1
  onkey 2 goto item_2
  onkey 3 goto item_3
  onkey f boot 0x00
  onkey F boot 0x00
  onkey esc boot 0x80
  return
  ;
  item_1:
  cls
  chain WPROSECT.DAT
  goto start1
  ;
  item_2:
  cls
  chain WSRVSECT.DAT
  goto start2
  ;
  item_3:
  cls
  chain ASRVSECT.DAT
  goto start3
  ;
  drawscrn:
  setpos 1 7
  print c "\c1f  1\c17 Windows 2000 Professional  \n"
  print c "\c1f  2\c17 Windows 2000 Server  \n"
  print c "\c1f  3\c17 Windows 2000 Advanced Server  \n"
  print c "\n"
  print c "\c1f  F\c17 Boot from first Floppy Drive  \n"
  print c "\c1f Esc\c17 Boot from first Hard Disk  "
  return
  ;
  eof:
  ;
  这个菜单配置文件看起来挺复杂,实际上大量的代码都是为了使用光标键而重复的。除了界面有点简陋外(你可以加上ANSI制表符等高位DOS扩展符),这个配置文件实现了彩色字符、光标键选择、从软盘启动、从硬盘启动等多种功能。  10. 制作ISO文件  CDImage程序加“-o”参数优化后生成的镜像文件约为502 MB,我们假设将它存放在f:盘的根目录下,命令行命令如下:
  d:\win2k\cdimage -lWin2K-3in1 -t01/10/2000,12:00:00 -g -h -j1 -o -m -bd:\win2k\loader.bin d:\win2k\root f:\w2k-3in1.iso  11. 测试ISO文件  用VMware加载w2k-3in1.iso文件,设置第1启动设备为光驱。从光盘启动后,系统将显示启动菜单,将显示条移动到相应的项目上,然后按回车键;也可以直接按快捷键。
  提示:如果仅仅为了测试菜单的效果,可以不删除bscript\bscriptw.com,直接运行bscriptw.com,它将显示Bscript\Bscript.Ini的效果。  12. 增加特殊文件  可以根据个人的爱好,在光盘上再增加一些特殊文件,例如新版IE、DirectX及一些专用的驱动程序等,只需将其复制到d:\win2k\root目录下,并重新制作ISO文件。  13.烧录光盘  ISO镜像文件测试无误后,即可用自己熟悉的烧录软件软件(例如Nero)将其烧录到光盘。 这样,一张可启动的Windows 2000 3合1光盘就制作完成了。当然,最好再用光盘正式地安装一遍,因为VMware测试与光盘测试是不完全一样的。  14.集成Windows XP  Windows XP与Windows 2000的制作原理是一样的,如果要集成进去,只需要修改WPROSECT.DAT,将其中的“wpro”改为XP文件所在目录即可,并修改启动菜单配置文件bscript\bscript.ini。这样的一张光盘优化以后大概有1 GB(Windows 2000与Windows XP相同的文件不多),你要考虑的首要问题是用什么盘来烧录。  15.DOS、Windows 9x与Linux等可启动型n合1的制作  DOS、Windows 9x和Linux等启动光盘都是采用单张软盘映像的,如何增加这类系统呢?简单得很:增加一个启动选项,并将BSCRIPT.INI中的chain WPROSECT.DAT修改为启动软盘映像就行了。假设软盘映像为boot1.img,具体方法有三种:
  (1)diskemu boot1.img
  (2)memdisk boot1.img
  (3)isolinux boot1.img
  这几种方法都需要用到bscript\modules中的相应模块。三种方法的效果是不一样的,其中diskemu模拟法速度最快,兼容性最好,只在1.2.3b版本中刚刚引进,建议采用。其他两种是ISOLINUX所采用的传统方法。  16.特色点评  优点:彩色菜单,光标移动,xx合1,……,这是目前最最新、最最牛、最最棒、最最神奇、最最最最……的方法。
  缺点:Boot Scriptor的发展太快,各版本之间有点不兼容,但说实在的,后面的版本越来越好,尤其是diskemu的引入,最激动人心,最大得人心,最大快人心,几乎彻底解决了映像文件的兼容性问题。

Windows n合1 启动光盘制作攻略



——Windows 2000 3合1与Windows XP 2合1启动光盘的制作方法


  Windows 2000 3合1光盘(简体中文专业版+简体中文服务器版+简体中文高级服务器版)已经在街面上流行很久了,Windows XP 2合1的光盘(简体中文专业版+简体中文家庭版)最近也开始上街了。这些n合1的光盘中,有些是不能用光盘进行启动的,我们只能在DOS下安装;有些是能够光盘启动并从光盘正常安装的。不能启动的n合1光盘的制作非常简单,我们没有必要去讨论,我们最感兴趣的是哪些能够用光盘启动并正常安装的n合1光盘,本文的宗旨就是研究一下这类光盘的基本原理及制作方法。  可启动型n合1光盘使用了多重启动光盘技术,这种技术近几年来开始流行,但目前尚未形成统一的工业标准,有多种方法可以实现它。最初,该技术采用的工具是CD启动模拟器:diskemu1x(我们应该感谢Bart和Gary Tong,他们总能够写出一些能够完成伟大工程的小程序)。diskemu1x功能很强大,使用也比较容易,但很可惜,Bart已经不再继续开发它了(参见http://www.nu2.nu/diskemu/)。所幸的是,Bart并没有放弃对Windows 2000 3合1的兴趣,他搞了一个体积更小巧,使用更容易,针对性更强的东西:w2kall.bin,Windows 2000通用启动引导器(再次感谢Bart)。目前街面上还没有使用w2kall制作的Windows 2000 3合1光盘。由于w2kall.bin附带的说明非常简短,网上更是无法查找到相关的信息,有鉴于此,我对它进行了一番研究,用w2kall成功地制作出了Windows 2000 3合1光盘。经过另一番试验,又成功地制作出了Windows XP 2合1光盘。下面就是我的一些心得体会,愿与各位朋友共享。一、Windows 2000/XP多重启动光盘的启动原理  Windows 2000/XP各版本的原始安装光盘是单重启动,其引导文件中固化了光盘根目录下的i386目录(这一点给制作多重启动的n合1光盘制造了最大的障碍),该目录中不仅存放了Windows 2000/XP的系统文件,而且还存放了安装所需的安装文件和驱动程序。其引导过程如下:  光盘引导->setupldr->ntdetect->加载驱动程序->读txtsetup.sif->开始光盘安装  上述多个步骤中都涉及了光盘根目录下的i386目录,而我们将制作的n合1光盘是多重启动的,每个版本都包含一个i386子目录,它与单重启动光盘的目录结构不同(在光盘根目录与i386目录之间多了1层版本目录),因此不能简单地照搬单重启动的引导过程。所幸前辈高手们早就碰到了这个难题,而且也非常巧妙地解决了,那就是使用Windows 2000/XP的安装软盘组:用软盘启动计算机,依次加载所需驱动程序及必要的系统文件,从而避开安装时到光盘根目录下的i386目录加载安装文件和驱动程序,然后安装程序再从Windows 2000/XP安装光盘中安装复制其余的文件,继续安装。我们所要模拟的就是这一过程。改造后的n合1光盘引导过程如下:  光盘引导->选择版本模块->模拟软盘启动->setupldr->ntdetect->加载驱动程序->读txtsetup.sif->开始光盘安装  并将上述多个步骤中都涉及到的光盘根目录下的i386目录更改为光盘根目录下的版本目录(该目录中将存放安装软盘组上的文件)。二、Windows 2000 3合1启动光盘的制作  1. 所需工具  (1)w2kall.bin
  必须。Windows 2000光盘启动引导文件。
  下载地址:http://www.tech-hints.com/files/w2kall.zip 本地下载:w2kall.exe
  (2)CDImage.exe(命令行界面)或CDImagegui.exe(图形界面)
  必须。可启动光盘镜像制作工具,生成标准的ISO文件,同时具有优化光盘上文件的功能,使相同的文件只刻录1个,其他的文件都连接到该文件,有点类似Unix的功能。
  下载地址:http://www.tech-hints.com/prog/cdimage.ziphttp://www.tech-hints.com/prog/cdimagegui.zip
  (3)WinImg
  可选。解Windows 2000安装软盘组的img文件。可替换方法是制作4张安装软盘,然后将4张软盘上的全部文件复制到硬盘相应目录下。
  下载地址:http://www.winimage.com/winimage/winima60.zip
  (4)UltraEdit
  可选。十六进制编辑器,修改启动引导文件中的显示文字。
  下载地址:ftp://ultraedit.com/uedit32.zip
  (5)Windows 2000安装软盘组
  必须。用软盘引导机器,加载必要的系统文件及基本驱动程序,然后从光盘继续安装。
  Windows 2000安装软盘组在正版光盘的bootdisk目录下,三个版本的安装软盘是不同的,不能混用。
  (6)Windows 2000 Service Pack 3
  可选。将Windows 2000 Service Pack 3集成进Windows 2000的三个版本中,这样安装完毕的Windows 2000就集成了Service Pack 3,不必再单独安装了。
  下载地址:http://download.microsoft.com/do ... 3/NT5/CN/W2Ksp3.exe
  (7)VMware(或Virtual PC)和Nero
  可选。测试制作完成的3合1镜像文件并烧录光盘。  2. 目录及文件结构  保证硬盘上有足够空余空间(假设将文件存放在硬盘d:,全部三个版本的原始文件约占用空间为1.24 GB,生成的镜像文件约为502 MB),建立如下目录结构,并复制文件w2kall.bin、cdimage.exe到相应位置:
  d:\win2k\w2kall.bin
  d:\win2k\cdimage.exe
  d:\win2k\root\asrv
  d:\win2k\root\wpro
  d:\win2k\root\wsrv
  其中,d:\win2k\root\是Windows 2000 3合1光盘的根目录,d:\win2k\root\asrv用于存放Windows 2000高级服务器版文件,d:\win2k\root\wsrv用于存放Windows 2000服务器版文件,d:\win2k\root\wpro用于存放Windows 2000专业版文件。
  要点:“asrv”、“wsrv”和“wpro”的目录名称是固定在w2kall.bin中的,只能是4个字符长度。若需要存放在其他目录下,需要用UltraEdit修改w2kall.bin文件,找到“WPROWSRVASRV”,将其替换为其他名称,并相应修改目录结构。此外,还必须在后面的配置中进行相应修改。  3. 文件复制  将Windows 2000高级服务器版光盘上的文件全部复制到asrv目录,将Windows 2000服务器版光盘上的文件全部复制到wsrv目录,将Windows 2000专业版光盘上的文件全部复制到wpro目录。
  必须确保复制了全部文件和子目录,包括具有系统和隐藏属性的。
  复制完毕后,清除d:\win2k\root\下全部文件和子目录的系统、隐藏和只读属性。
  将d:\win2k\root\asrv目录下的cdrom_ia.5和cdrom_nt.5复制到d:\win2k\root\,将d:\win2k\root\wsrv目录下的cdrom_is.5复制到d:\win2k\root\,将d:\win2k\root\wpro目录下的cdrom_ip.5复制到d:\win2k\root\。
  要点:d:\win2k\root\下面必须有cdrom_ia.5、cdrom_is.5、cdrom_ip.5和cdrom_nt.5文件,这是我们欺骗安装程序的标志:这张光盘是Windows 2000的原始安装盘。  4. 将Service Pack 3集成到Windows 2000各版本中  运行w2ksp3.exe /x将Service Pack 3全部文件提取出来,假设提取到f:\tmp。在f:\tmp\i386\update下分别运行命令行命令:
  update.exe -s:d:\win2k\root\asrv
  update.exe -s:d:\win2k\root\wsrv
  update.exe -s:d:\win2k\root\wpro
  上述命令运行完毕后,Service Pack 3已经集成到Windows 2000各版本中,且d:\win2k\root\asrv、d:\win2k\root\wsrv、d:\win2k\root\wpro各目录下应有一文件cdromsp3.tst,将其复制到d:\win2k\root\。
  要点:d:\win2k\root\下面必须有cdromsp3.tst文件,否则安装程序会要求我们插入Service Pack 3光盘。  5. 跳过输入产品序列号  查找各个版本i386目录,找到文件setupp.ini,用记事本打开,将其中的“Pid=xxxxx000”修改为“Pid=xxxxx270”,存盘退出。这一步不是必须的,只是图个方便。  6. 配置安装程序  Windows 2000正版光盘上有个bootdisk子目录,里面包含4张Windows 2000安装软盘镜像的img文件。用WinImg将各个版本bootdisk目录下的4个img文件分别释放到各自的系统文件目录下:
  d:\win2k\root\wpro\bootdisk的img文件全部释放到d:\win2k\root\wpro\下。
  d:\win2k\root\wsrv\bootdisk的img文件全部释放到d:\win2k\root\wsrv\下。
  d:\win2k\root\asrv\bootdisk的img文件全部释放到d:\win2k\root\asrv\下。
  要点:这是我们模拟软盘安装的关键,一定要连带system32目录(里面有两个文件)一起释放。
  从d:\win2k\root\wpro\i386目录中复制bootfix.bin,将其分别粘贴到d:\win2k\root\asrv、d:\win2k\root\wpro和d:\win2k\root\wsrv。该文件的作用就是光盘启动后显示一条信息“Press any key to boot from CD.”,并等待5秒钟,若没有按键,则从硬盘启动;否则从光盘启动。
  如果觉得5秒的延时太短,可以用UltraEdit编辑该文件,找到“Press any key to boot from CD.”后面的“49 00 12 00”,将“49”改为“AA”延时可达10秒,改为“FF”延时可达15秒。
  如果集成了Service Pack 3,需要将wpro、wsrv、asrv下面的文件用各自i386目录下面的文件替换(实际上只需要替换txtsetup.sif就行了),即将启动软盘组中的文件也替换为集成Service Pack 3后的文件。注意:一定不要替换system32中的文件,否则无法安装。
  要替换这一大堆文件比较繁琐,可以用两个办法:
  (1)xxcopy法。下载xxcopy(http://www.xxcopy.com/),执行下面的命令:
  xxcopy d:\win2k\root\wpro\i386 d:\win2k\root\wpro\ /U /E /YY
  xxcopy d:\win2k\root\wsrv\i386 d:\win2k\root\wsrv\ /U /E /YY
  xxcopy d:\win2k\root\asrv\i386 d:\win2k\root\asrv\ /U /E /YY
替换完成后删除wpro、wsrv、asrv下面的空目录(xxcopy替换的副产品)即可。
  (2)批处理替换法。以wpro目录为例:
  dir d:\win2k\root\wpro\*.* >1.bat
  move d:\win2k\root\wpro\1.bat d:\win2k\root\wpro\i386
  用Ultraedit编辑1.bat,只保留文件名,每个文件名一行,修改每行的命令为
  copy [文件名] d:\win2k\root\wpro\
  存盘退出,在d:\win2k\root\wpro\i386目录下运行1.bat,d:\win2k\root\wpro\i386目录没有而d:\win2k\root\wpro有的文件不替换。其他两个版本如法炮制。  7. 修改setupldr.bin和txtsetup.sif  用Ultraedit打开d:\win2k\root\asrv\setupldr.bin,用ASCII方式替换“i386”为“asrv”,共3处;
  用Ultraedit打开d:\win2k\root\wsrv\setupldr.bin,用ASCII方式替换“i386”为“wsrv”,共3处;
  用Ultraedit打开d:\win2k\root\wpro\setupldr.bin,用ASCII方式替换“i386”为“wpro”,共3处。
  存盘退出。
  用Ultraedit打开d:\win2k\root\asrv\txtsetup.sif,替换“SetupSourcePath = "\"”为“SetupSourcePath = "\asrv"”;
  用Ultraedit打开d:\win2k\root\wsrv\txtsetup.sif,替换“SetupSourcePath = "\"”为“SetupSourcePath = "\wsrv"”;
  用Ultraedit打开d:\win2k\root\wpro\txtsetup.sif,替换“SetupSourcePath = "\"”为“SetupSourcePath = "\wpro"”。
  存盘退出。
  要点:这两个文件中的路径告诉安装程序从何处复制文件,必须与目录结构相匹配。  8. 启动菜单的修改  Windows 2000启动引导文件w2kall.bin中已经内置了Windows 2000 3合1的启动菜单:
  [A] Windows 2000 Professional - English
   Windows 2000 Server - English
  [C] Windows 2000 Advanced Server - English
  Choose an option and press [Enter]:
  所以我们不需再单独配置启动菜单。若需要修改该菜单,只需用UltraEdit打开w2kall.bin,找到相应的ASCII字符串,并修改为合适的字符串。例如,去掉所有的“ - English”。  9. 配置完毕的目录结构及文件列表  d:\win2k\cdimage.exe
  d:\win2k\w2kall.bin
  d:\win2k\root\cdrom_ia.5
  d:\win2k\root\cdrom_ip.5
  d:\win2k\root\cdrom_is.5
  d:\win2k\root\cdrom_nt.5
  d:\win2k\root\cdromsp3.tst
  d:\win2k\root\asrv\1394bus.sy_
  d:\win2k\root\asrv\abp480n5.sy_
  d:\win2k\root\asrv\acpi.sy_
  d:\win2k\root\asrv\acpiec.sy_
  d:\win2k\root\asrv\adpu160m.sy_
  d:\win2k\root\asrv\aha154x.sy_
  d:\win2k\root\asrv\aic116x.sy_
  d:\win2k\root\asrv\aic78u2.sy_
  d:\win2k\root\asrv\aic78xx.sy_
  d:\win2k\root\asrv\amsint.sy_
  d:\win2k\root\asrv\asc.sy_
  d:\win2k\root\asrv\asc3350p.sy_
  d:\win2k\root\asrv\asc3550.sy_
  d:\win2k\root\asrv\atapi.sy_
  d:\win2k\root\asrv\autorun.inf
  d:\win2k\root\asrv\biosinfo.inf
  d:\win2k\root\asrv\bootfix.bin
  d:\win2k\root\asrv\bootfont.bin
  d:\win2k\root\asrv\bootvid.dl_
  d:\win2k\root\asrv\buslogic.sy_
  d:\win2k\root\asrv\c_936.nl_
  d:\win2k\root\asrv\cd20xrnt.sy_
  d:\win2k\root\asrv\cdfs.sy_
  d:\win2k\root\asrv\cdrom.sy_
  d:\win2k\root\asrv\cdrom_ia.5
  d:\win2k\root\asrv\cdrom_nt.5
  d:\win2k\root\asrv\cdromsp3.tst
  d:\win2k\root\asrv\class2.sy_
  d:\win2k\root\asrv\classpnp.sy_
  d:\win2k\root\asrv\cpqarray.sy_
  d:\win2k\root\asrv\cpqarry2.sy_
  d:\win2k\root\asrv\cpqfcalm.sy_
  d:\win2k\root\asrv\cpqfws2e.sy_
  d:\win2k\root\asrv\dac960nt.sy_
  d:\win2k\root\asrv\disk.sy_
  d:\win2k\root\asrv\disk101
  d:\win2k\root\asrv\disk102
  d:\win2k\root\asrv\disk103
  d:\win2k\root\asrv\disk104
  d:\win2k\root\asrv\dmboot.sy_
  d:\win2k\root\asrv\dmio.sy_
  d:\win2k\root\asrv\dmload.sy_
  d:\win2k\root\asrv\fastfat.sy_
  d:\win2k\root\asrv\fd16_700.sy_
  d:\win2k\root\asrv\fdc.sy_
  d:\win2k\root\asrv\fireport.sy_
  d:\win2k\root\asrv\flashpnt.sy_
  d:\win2k\root\asrv\flpydisk.sy_
  d:\win2k\root\asrv\ftdisk.sy_
  d:\win2k\root\asrv\hal.dl_
  d:\win2k\root\asrv\halaacpi.dl_
  d:\win2k\root\asrv\halacpi.dl_
  d:\win2k\root\asrv\halapic.dl_
  d:\win2k\root\asrv\hidclass.sy_
  d:\win2k\root\asrv\hidparse.sy_
  d:\win2k\root\asrv\hidusb.sy_
  d:\win2k\root\asrv\i8042prt.sy_
  d:\win2k\root\asrv\ini910u.sy_
  d:\win2k\root\asrv\intelide.sy_
  d:\win2k\root\asrv\ipsraidn.sy_
  d:\win2k\root\asrv\isapnp.sy_
  d:\win2k\root\asrv\kbdclass.sy_
  d:\win2k\root\asrv\kbdhid.sy_
  d:\win2k\root\asrv\kbdus.dll
  d:\win2k\root\asrv\l_intl.nl_
  d:\win2k\root\asrv\lbrtfdc.sy_
  d:\win2k\root\asrv\lp6nds35.sy_
  d:\win2k\root\asrv\mountmgr.sy_
  d:\win2k\root\asrv\mraid35x.sy_
  d:\win2k\root\asrv\ncrc710.sy_
  d:\win2k\root\asrv\ntdetect.com
  d:\win2k\root\asrv\ntfs.sy_
  d:\win2k\root\asrv\ntkrnlmp.ex_
  d:\win2k\root\asrv\ohci1394.sy_
  d:\win2k\root\asrv\openhci.sy_
  d:\win2k\root\asrv\partmgr.sy_
  d:\win2k\root\asrv\pci.sy_
  d:\win2k\root\asrv\pciide.sy_
  d:\win2k\root\asrv\pciidex.sy_
  d:\win2k\root\asrv\pcmcia.sy_
  d:\win2k\root\asrv\ql1080.sy_
  d:\win2k\root\asrv\ql10wnt.sy_
  d:\win2k\root\asrv\ql1240.sy_
  d:\win2k\root\asrv\ql2100.sy_
  d:\win2k\root\asrv\read1st.txt
  d:\win2k\root\asrv\readme.doc
  d:\win2k\root\asrv\sbp2port.sy_
  d:\win2k\root\asrv\scsiport.sy_
  d:\win2k\root\asrv\serenum.sy_
  d:\win2k\root\asrv\serial.sy_
  d:\win2k\root\asrv\setup.exe
  d:\win2k\root\asrv\setupdd.sy_
  d:\win2k\root\asrv\setupldr.bin
  d:\win2k\root\asrv\setupreg.hiv
  d:\win2k\root\asrv\sfloppy.sy_
  d:\win2k\root\asrv\sparrow.sy_
  d:\win2k\root\asrv\spcmdcon.sys
  d:\win2k\root\asrv\spddlang.sy_
  d:\win2k\root\asrv\spnotes.htm
  d:\win2k\root\asrv\sym_hi.sy_
  d:\win2k\root\asrv\symc810.sy_
  d:\win2k\root\asrv\symc8xx.sy_
  d:\win2k\root\asrv\tffsport.sy_
  d:\win2k\root\asrv\txtsetup.sif
  d:\win2k\root\asrv\uhcd.sy_
  d:\win2k\root\asrv\ultra66.sy_
  d:\win2k\root\asrv\usbd.sy_
  d:\win2k\root\asrv\usbhub.sy_
  d:\win2k\root\asrv\usbstor.sy_
  d:\win2k\root\asrv\vga.sy_
  d:\win2k\root\asrv\vgaoem.fo_
  d:\win2k\root\asrv\videoprt.sy_
  d:\win2k\root\asrv\wmilib.sy_
  d:\win2k\root\asrv\bootdisk\……
  d:\win2k\root\asrv\clients\……
  d:\win2k\root\asrv\i386\……
  d:\win2k\root\asrv\printers\……
  d:\win2k\root\asrv\setuptxt\……
  d:\win2k\root\asrv\support\……
  d:\win2k\root\asrv\system32\ntdll.dll
  d:\win2k\root\asrv\system32\smss.exe
  d:\win2k\root\asrv\valueadd\……
  d:\win2k\root\wpro\1394bus.sy_
  d:\win2k\root\wpro\abp480n5.sy_
  d:\win2k\root\wpro\acpi.sy_
  d:\win2k\root\wpro\acpiec.sy_
  d:\win2k\root\wpro\adpu160m.sy_
  d:\win2k\root\wpro\aha154x.sy_
  d:\win2k\root\wpro\aic116x.sy_
  d:\win2k\root\wpro\aic78u2.sy_
  d:\win2k\root\wpro\aic78xx.sy_
  d:\win2k\root\wpro\amsint.sy_
  d:\win2k\root\wpro\asc.sy_
  d:\win2k\root\wpro\asc3350p.sy_
  d:\win2k\root\wpro\asc3550.sy_
  d:\win2k\root\wpro\atapi.sy_
  d:\win2k\root\wpro\autorun.inf
  d:\win2k\root\wpro\biosinfo.inf
  d:\win2k\root\wpro\bootfix.bin
  d:\win2k\root\wpro\bootfont.bin
  d:\win2k\root\wpro\bootvid.dl_
  d:\win2k\root\wpro\buslogic.sy_
  d:\win2k\root\wpro\c_936.nl_
  d:\win2k\root\wpro\cd20xrnt.sy_
  d:\win2k\root\wpro\cdfs.sy_
  d:\win2k\root\wpro\cdrom.sy_
  d:\win2k\root\wpro\cdrom_ip.5
  d:\win2k\root\wpro\cdrom_nt.5
  d:\win2k\root\wpro\cdromsp3.tst
  d:\win2k\root\wpro\class2.sy_
  d:\win2k\root\wpro\classpnp.sy_
  d:\win2k\root\wpro\cpqarray.sy_
  d:\win2k\root\wpro\cpqarry2.sy_
  d:\win2k\root\wpro\cpqfcalm.sy_
  d:\win2k\root\wpro\cpqfws2e.sy_
  d:\win2k\root\wpro\dac960nt.sy_
  d:\win2k\root\wpro\disk.sy_
  d:\win2k\root\wpro\disk101
  d:\win2k\root\wpro\disk102
  d:\win2k\root\wpro\disk103
  d:\win2k\root\wpro\disk104
  d:\win2k\root\wpro\dmboot.sy_
  d:\win2k\root\wpro\dmio.sy_
  d:\win2k\root\wpro\dmload.sy_
  d:\win2k\root\wpro\fastfat.sy_
  d:\win2k\root\wpro\fd16_700.sy_
  d:\win2k\root\wpro\fdc.sy_
  d:\win2k\root\wpro\fireport.sy_
  d:\win2k\root\wpro\flashpnt.sy_
  d:\win2k\root\wpro\flpydisk.sy_
  d:\win2k\root\wpro\ftdisk.sy_
  d:\win2k\root\wpro\hal.dl_
  d:\win2k\root\wpro\halaacpi.dl_
  d:\win2k\root\wpro\halacpi.dl_
  d:\win2k\root\wpro\halapic.dl_
  d:\win2k\root\wpro\hidclass.sy_
  d:\win2k\root\wpro\hidparse.sy_
  d:\win2k\root\wpro\hidusb.sy_
  d:\win2k\root\wpro\i8042prt.sy_
  d:\win2k\root\wpro\ini910u.sy_
  d:\win2k\root\wpro\intelide.sy_
  d:\win2k\root\wpro\ipsraidn.sy_
  d:\win2k\root\wpro\isapnp.sy_
  d:\win2k\root\wpro\kbdclass.sy_
  d:\win2k\root\wpro\kbdhid.sy_
  d:\win2k\root\wpro\kbdus.dll
  d:\win2k\root\wpro\l_intl.nl_
  d:\win2k\root\wpro\lbrtfdc.sy_
  d:\win2k\root\wpro\lp6nds35.sy_
  d:\win2k\root\wpro\mountmgr.sy_
  d:\win2k\root\wpro\mraid35x.sy_
  d:\win2k\root\wpro\ncrc710.sy_
  d:\win2k\root\wpro\ntdetect.com
  d:\win2k\root\wpro\ntfs.sy_
  d:\win2k\root\wpro\ntkrnlmp.ex_
  d:\win2k\root\wpro\ohci1394.sy_
  d:\win2k\root\wpro\openhci.sy_
  d:\win2k\root\wpro\partmgr.sy_
  d:\win2k\root\wpro\pci.sy_
  d:\win2k\root\wpro\pciide.sy_
  d:\win2k\root\wpro\pciidex.sy_
  d:\win2k\root\wpro\pcmcia.sy_
  d:\win2k\root\wpro\ql1080.sy_
  d:\win2k\root\wpro\ql10wnt.sy_
  d:\win2k\root\wpro\ql1240.sy_
  d:\win2k\root\wpro\ql2100.sy_
  d:\win2k\root\wpro\read1st.txt
  d:\win2k\root\wpro\readme.doc
  d:\win2k\root\wpro\sbp2port.sy_
  d:\win2k\root\wpro\scsiport.sy_
  d:\win2k\root\wpro\serenum.sy_
  d:\win2k\root\wpro\serial.sy_
  d:\win2k\root\wpro\setup.exe
  d:\win2k\root\wpro\setupdd.sy_
  d:\win2k\root\wpro\setupldr.bin
  d:\win2k\root\wpro\setupreg.hiv
  d:\win2k\root\wpro\sfloppy.sy_
  d:\win2k\root\wpro\sparrow.sy_
  d:\win2k\root\wpro\spcmdcon.sys
  d:\win2k\root\wpro\spddlang.sy_
  d:\win2k\root\wpro\spnotes.htm
  d:\win2k\root\wpro\sym_hi.sy_
  d:\win2k\root\wpro\symc810.sy_
  d:\win2k\root\wpro\symc8xx.sy_
  d:\win2k\root\wpro\tffsport.sy_
  d:\win2k\root\wpro\txtsetup.sif
  d:\win2k\root\wpro\uhcd.sy_
  d:\win2k\root\wpro\ultra66.sy_
  d:\win2k\root\wpro\usbd.sy_
  d:\win2k\root\wpro\usbhub.sy_
  d:\win2k\root\wpro\usbstor.sy_
  d:\win2k\root\wpro\vga.sy_
  d:\win2k\root\wpro\vgaoem.fo_
  d:\win2k\root\wpro\videoprt.sy_
  d:\win2k\root\wpro\wmilib.sy_
  d:\win2k\root\wpro\bootdisk\……
  d:\win2k\root\wpro\discover\……
  d:\win2k\root\wpro\i386\……
  d:\win2k\root\wpro\setuptxt\……
  d:\win2k\root\wpro\support\……
  d:\win2k\root\wpro\system32\ntdll.dll
  d:\win2k\root\wpro\system32\smss.exe
  d:\win2k\root\wpro\valueadd\……
  d:\win2k\root\wsrv\1394bus.sy_
  d:\win2k\root\wsrv\abp480n5.sy_
  d:\win2k\root\wsrv\acpi.sy_
  d:\win2k\root\wsrv\acpiec.sy_
  d:\win2k\root\wsrv\adpu160m.sy_
  d:\win2k\root\wsrv\aha154x.sy_
  d:\win2k\root\wsrv\aic116x.sy_
  d:\win2k\root\wsrv\aic78u2.sy_
  d:\win2k\root\wsrv\aic78xx.sy_
  d:\win2k\root\wsrv\amsint.sy_
  d:\win2k\root\wsrv\asc.sy_
  d:\win2k\root\wsrv\asc3350p.sy_
  d:\win2k\root\wsrv\asc3550.sy_
  d:\win2k\root\wsrv\atapi.sy_
  d:\win2k\root\wsrv\autorun.inf
  d:\win2k\root\wsrv\biosinfo.inf
  d:\win2k\root\wsrv\bootfix.bin
  d:\win2k\root\wsrv\bootfont.bin
  d:\win2k\root\wsrv\bootvid.dl_
  d:\win2k\root\wsrv\buslogic.sy_
  d:\win2k\root\wsrv\c_936.nl_
  d:\win2k\root\wsrv\cd20xrnt.sy_
  d:\win2k\root\wsrv\cdfs.sy_
  d:\win2k\root\wsrv\cdrom.sy_
  d:\win2k\root\wsrv\cdrom_is.5
  d:\win2k\root\wsrv\cdrom_nt.5
  d:\win2k\root\wsrv\cdromsp3.tst
  d:\win2k\root\wsrv\class2.sy_
  d:\win2k\root\wsrv\classpnp.sy_
  d:\win2k\root\wsrv\cpqarray.sy_
  d:\win2k\root\wsrv\cpqarry2.sy_
  d:\win2k\root\wsrv\cpqfcalm.sy_
  d:\win2k\root\wsrv\cpqfws2e.sy_
  d:\win2k\root\wsrv\dac960nt.sy_
  d:\win2k\root\wsrv\disk.sy_
  d:\win2k\root\wsrv\disk101
  d:\win2k\root\wsrv\disk102
  d:\win2k\root\wsrv\disk103
  d:\win2k\root\wsrv\disk104
  d:\win2k\root\wsrv\dmboot.sy_
  d:\win2k\root\wsrv\dmio.sy_
  d:\win2k\root\wsrv\dmload.sy_
  d:\win2k\root\wsrv\fastfat.sy_
  d:\win2k\root\wsrv\fd16_700.sy_
  d:\win2k\root\wsrv\fdc.sy_
  d:\win2k\root\wsrv\fireport.sy_
  d:\win2k\root\wsrv\flashpnt.sy_
  d:\win2k\root\wsrv\flpydisk.sy_
  d:\win2k\root\wsrv\ftdisk.sy_
  d:\win2k\root\wsrv\hal.dl_
  d:\win2k\root\wsrv\halaacpi.dl_
  d:\win2k\root\wsrv\halacpi.dl_
  d:\win2k\root\wsrv\halapic.dl_
  d:\win2k\root\wsrv\hidclass.sy_
  d:\win2k\root\wsrv\hidparse.sy_
  d:\win2k\root\wsrv\hidusb.sy_
  d:\win2k\root\wsrv\i8042prt.sy_
  d:\win2k\root\wsrv\ini910u.sy_
  d:\win2k\root\wsrv\intelide.sy_
  d:\win2k\root\wsrv\ipsraidn.sy_
  d:\win2k\root\wsrv\isapnp.sy_
  d:\win2k\root\wsrv\kbdclass.sy_
  d:\win2k\root\wsrv\kbdhid.sy_
  d:\win2k\root\wsrv\kbdus.dll
  d:\win2k\root\wsrv\l_intl.nl_
  d:\win2k\root\wsrv\lbrtfdc.sy_
  d:\win2k\root\wsrv\lp6nds35.sy_
  d:\win2k\root\wsrv\mountmgr.sy_
  d:\win2k\root\wsrv\mraid35x.sy_
  d:\win2k\root\wsrv\ncrc710.sy_
  d:\win2k\root\wsrv\ntdetect.com
  d:\win2k\root\wsrv\ntfs.sy_
  d:\win2k\root\wsrv\ntkrnlmp.ex_
  d:\win2k\root\wsrv\ohci1394.sy_
  d:\win2k\root\wsrv\openhci.sy_
  d:\win2k\root\wsrv\partmgr.sy_
  d:\win2k\root\wsrv\pci.sy_
  d:\win2k\root\wsrv\pciide.sy_
  d:\win2k\root\wsrv\pciidex.sy_
  d:\win2k\root\wsrv\pcmcia.sy_
  d:\win2k\root\wsrv\ql1080.sy_
  d:\win2k\root\wsrv\ql10wnt.sy_
  d:\win2k\root\wsrv\ql1240.sy_
  d:\win2k\root\wsrv\ql2100.sy_
  d:\win2k\root\wsrv\read1st.txt
  d:\win2k\root\wsrv\readme.doc
  d:\win2k\root\wsrv\sbp2port.sy_
  d:\win2k\root\wsrv\scsiport.sy_
  d:\win2k\root\wsrv\serenum.sy_
  d:\win2k\root\wsrv\serial.sy_
  d:\win2k\root\wsrv\setup.exe
  d:\win2k\root\wsrv\setupdd.sy_
  d:\win2k\root\wsrv\setupldr.bin
  d:\win2k\root\wsrv\setupreg.hiv
  d:\win2k\root\wsrv\sfloppy.sy_
  d:\win2k\root\wsrv\sparrow.sy_
  d:\win2k\root\wsrv\spcmdcon.sys
  d:\win2k\root\wsrv\spddlang.sy_
  d:\win2k\root\wsrv\spnotes.htm
  d:\win2k\root\wsrv\sym_hi.sy_
  d:\win2k\root\wsrv\symc810.sy_
  d:\win2k\root\wsrv\symc8xx.sy_
  d:\win2k\root\wsrv\tffsport.sy_
  d:\win2k\root\wsrv\txtsetup.sif
  d:\win2k\root\wsrv\uhcd.sy_
  d:\win2k\root\wsrv\ultra66.sy_
  d:\win2k\root\wsrv\usbd.sy_
  d:\win2k\root\wsrv\usbhub.sy_
  d:\win2k\root\wsrv\usbstor.sy_
  d:\win2k\root\wsrv\vga.sy_
  d:\win2k\root\wsrv\vgaoem.fo_
  d:\win2k\root\wsrv\videoprt.sy_
  d:\win2k\root\wsrv\wmilib.sy_
  d:\win2k\root\wsrv\bootdisk\……
  d:\win2k\root\wsrv\clients\……
  d:\win2k\root\wsrv\i386\……
  d:\win2k\root\wsrv\printers\……
  d:\win2k\root\wsrv\setuptxt\……
  d:\win2k\root\wsrv\support\……
  d:\win2k\root\wsrv\system32\ntdll.dll
  d:\win2k\root\wsrv\system32\smss.exe
  d:\win2k\root\wsrv\valueadd\……  


[ 本帖最后由 白荷 于 2008-2-21 02:00 AM 编辑 ]
回复

使用道具 举报

5#
 楼主| 发表于 2008-2-21 01:49:54 | 只看该作者

启动光盘制作完全手册(四.Windows n合1启动光盘制作攻略)接上

10. 制作ISO文件  CDImage程序加“-o”参数优化后生成的镜像文件约为502 MB,我们假设将它存放在f:盘的根目录下,命令行命令如下:
  d:\win2k\cdimage -lWin2K-3in1 -t01/10/2000,12:00:00 -g -h -n -o -m -bd:\win2k\w2kall.bin d:\win2k\root f:\w2k-3in1.iso
  上述命令中各参数含义分别为:
  -l:设置光盘卷标。此处为“Win2K-3in1”。
  -t:设置光盘上所有文件的生成日期。此处为“2000年1月10日格林威治时间(GMT)上午12点整”。
  -g:转换本地时间与格林威治时间(GMT)。但如果是在Windows XP系统下,该参数似乎不起作用,“-t”参数指定的是GMT时间,而文件的生成时间是“-t”指定的时间加上时区转换后的本地时间。如,上例中的文件生成本地时间是“20:00:00”,即GMT+8=北京时间。
  -h:包含隐藏的目录和文件。
  -n:允许长文件名。
  -o:优化相同的文件,最重要的参数,这是我们将3个版本的1.24 GB文件压缩到502 MB的关键。
  -m:允许生成的ISO文件超过640 MB。
  -b:光盘启动引导程序,此处我们使用了w2kall.bin。
  d:\win2k\root:源文件路径,将作为光盘的根目录。
  f:\w2k-3in1.iso:最后生成的ISO文件,我们要的就是它。
  要点:cdimage /?可显示所有选项。CDImagegui提供了一个图形界面,使用更直观,功能是一样的。  11. 测试ISO文件  用VMware加载w2k-3in1.iso文件,设置第1启动设备为光驱。从光盘启动后,系统首先显示信息“Press any key to boot from CD.”,按任意键后,出现[A]、、[C]3个选项菜单,键入A、B或C键然后回车,可启动相应安装版本,此后的安装与原版光盘的安装一致。需要逐个安装,以测试各个版本的完整性。  12. 增加特殊文件  可以根据个人的爱好,在光盘上再增加一些特殊文件,例如新版IE、DirectX及一些专用的驱动程序等,只需将其复制到d:\win2k\root目录下,并重新制作ISO文件。  13.烧录光盘  ISO镜像文件测试无误后,即可用自己熟悉的烧录软件软件(例如Nero)将其烧录到光盘。 这样,一张可启动的Windows 2000 3合1光盘就制作完成了。当然,最好再用光盘正式地安装一遍,因为VMware测试与光盘测试是不完全一样的。
三、Windows XP 2合1启动光盘的制作  Windows XP与Windows 2000(当然还包括Windows NT 4.0)同属于Windows NT系列,其启动过程是非常相似的。虽然Bart开发w2kall.bin的初衷是制作3合1的Windows 2000,但既然它能够引导Windows 2000,那么它能否引导Windows XP呢?绝对可以。虽然与制作Windows 2000 3合1的过程类似,但其中有一些明显的不同,而且我们还需要对w2kall.bin进行一些适当的改造,希望朋友们多加注意。下面我介绍Windows XP 2合1启动光盘的制作过程。  1. 所需工具  (1)w2kall.bin
  必须。Windows 2000/XP光盘启动引导文件。
  下载地址:http://www.tech-hints.com/files/w2kall.zip
  (2)CDImage.exe(命令行界面)或CDImagegui.exe(图形界面)
  必须。可启动光盘镜像制作工具,生成标准的ISO文件,同时具有优化光盘上文件的功能,使相同的文件只刻录一个,其他的文件都连接到该文件。
  下载地址:http://www.tech-hints.com/prog/cdimage.ziphttp://www.tech-hints.com/prog/cdimagegui.zip
  (3)WinZip、WinImg
  可选。解Windows XP安装软盘组的img文件。可替换方法是制作6张安装软盘,然后将6张软盘上的全部文件复制到硬盘。
  下载地址:http://www.winimage.com/winimage/winima60.ziphttp://www.winzip.com/getsite.cgi?winzip81.exe
  (4)UltraEdit
  必须。十六进制编辑器,修改启动引导文件中的显示文字,并修改Windows XP不同版本的存放路径。
  下载地址:ftp://ultraedit.com/uedit32.zip
  (5)Windows XP安装软盘组
  必须。用软盘引导机器,加载必要的系统文件及基本驱动程序,然后从光盘继续安装。
  专业版及家庭版的安装软盘是不同的,二者不能混用。XP的安装软盘组必须从微软网站下载:
  简体中文专业版:winxp_cn_pro_bf.exe
  下载地址:http://www.microsoft.com/downloads/release.asp?releaseid=33494
  简体中文家庭版:winxp_cn_hom_bf.exe
  下载地址:http://www.microsoft.com/downloads/release.asp?releaseid=33493
  (6)VMware(或Virtual PC)和Nero
  可选。测试制作完成的3合1镜像文件并烧录光盘。  2. 目录及文件结构  保证硬盘上有足够空余空间(假设将文件存放在硬盘d:,全部2个版本的原始文件约占用空间为1.02 GB,生成的镜像文件约为558 MB),建立如下目录结构,并复制文件w2kall.bin、cdimage.exe到相应位置:
  d:\winxp\w2kall.bin
  d:\winxp\cdimage.exe
  d:\winxp\root\home
  d:\winxp\root\wpro
  其中,d:\winxp\root\是Windows XP 2合1光盘的根目录,d:\winxp\root\home用于存放Windows XP家庭版文件,d:\winxp\root\wpro用于存放Windows XP专业版文件。
  要点:“home”和“wpro”的目录名称需要固定在w2kall.bin中,只能是4个字符长度。若需要存放在其他目录下,必须用UltraEdit修改w2kall.bin文件,找到“WPROWSRVASRV”,将其替换为其他名称,并相应修改目录结构。此外,还必须在后面的配置中进行相应修改。  3. 文件复制  将Windows XP家庭版光盘上的文件全部复制到home目录,将Windows XP专业版光盘上的文件全部复制到wpro目录。
  必须确保复制了全部文件和子目录,包括具有系统和隐藏属性的。
  复制完毕后,清除d:\winxp\root\下全部文件和子目录的系统、隐藏和只读属性。
  将d:\winxp\root\home目录下的win51和win51ic复制到d:\winxp\root\,将d:\winxp\root\wpro目录下的win51ip复制到d:\winxp\root\。
  要点:d:\winxp\root\下面必须有win51、win51ic和win51ip文件,这是我们欺骗安装程序的标志:这张光盘是Windows XP原始安装盘。  4. 配置安装程序  将下载到的winxp_cn_pro_bf.exe文件用WinZip释放到硬盘任一目录,得到6个img文件。用WinImg将6个img文件释放到目录d:\winxp\root\wpro\。
  将下载到的winxp_cn_hom_bf.exe文件用WinZip释放到硬盘任一目录,得到6个img文件。用WinImg将6个img文件释放到目录d:\winxp\root\home\。
  要点:这是我们模拟软盘安装的关键,一定要连带system32目录(里面有两个文件)一起释放。
  从d:\winxp\root\wpro\i386目录中复制bootfix.bin,将其分别粘贴到d:\winxp\root\home和d:\winxp\root\wpro。该文件的作用就是光盘启动后显示一条信息“Press any key to boot from CD.”,并等待5秒钟,若没有按键,则从硬盘启动;否则从光盘启动。
  如果觉得5秒的延时太短,可以用Ultraedit编辑该文件,找到“Press any key to boot from CD.”后面的“49 00 12 00”,将“49”改为“AA”延时可达10秒,改为“FF”延时可达15秒。  5. 修改w2kall.bin  w2kall.bin是专门针对Windows 2000 3合1启动光盘而开发的,要使它适用于Windows XP 2合1光盘的启动引导,我们必须对其进行一些适当的修改。
  用UltraEdit打开d:\win2k\root\w2kall.bin,找到启动菜单:  [A] Windows 2000 Professional - English
   Windows 2000 Server - English
  [C] Windows 2000 Advanced Server - English  Choose an option and press [Enter]:  将其修改为:  [A] Windows XP Professional
   Windows XP Home
  ==================================  Choose an option and press [Enter]:  再查找“WPROWSRVASRV”,将其替换为找到“WPROHOMEHOME”。
  启动菜单接受4个键:A、B、C键和回车键,若用户按了A和B键,将进行相应的安装,若用户按了C键,将安装家庭版,且没有提示。这样的处理比较简单,高手们可以考虑屏蔽C键。
  要点:“WPROHOMEHOME”是光盘安装路径,一定要与目录结构相匹配。最后一个“HOME”对应C键,若用户按了C键后,应使其能够找到相应目录,或在启动菜单中干脆注明“[B/C] Windows XP Home”。  6. 修改setupldr.bin和txtsetup.si_  用UltraEdit打开d:\winxp\root\home\setupldr.bin,用ASCII方式替换“i386”为“home”,共4处。
  用UltraEdit打开d:\winxp\root\wpro\setupldr.bin,用ASCII方式替换“i386”为“wpro”,共4处。
  存盘退出。
  将文件d:\winxp\root\home\txtsetup.si_复制到d:\,在d:\下运行命令行命令:
  expand txtsetup.si_ txtsetup.sif
  用UltraEdit打开d:\txtsetup.sif,替换“SetupSourcePath = "\"”为“SetupSourcePath = "\home"”;
  存盘退出。
  将txtsetup.sif改名为txtsetup.si_,覆盖掉d:\winxp\root\home\txtsetup.si_。
  将文件d:\winxp\root\wpro\txtsetup.si_复制到d:\,在d:\下运行命令行命令:
  expand txtsetup.si_ txtsetup.sif
  用UltraEdit打开d:\txtsetup.sif,替换“SetupSourcePath = "\"”为“SetupSourcePath = "\wpro"”;
  存盘退出。
  将txtsetup.sif改名为txtsetup.si_,覆盖掉d:\winxp\root\wpro\txtsetup.si_
  简单办法:将i386中的txtsetup.sif复制到各自的上层目录,删除掉txtsetup.si_,并修改txtsetup.sif,效果一样。
  要点:这两个文件中的路径安装程序告诉安装程序从何处复制文件,必须与目录结构相匹配。  7. 配置完毕的目录结构及文件列表  d:\winxp\cdimage.exe
  d:\winxp\w2kall.bin
  d:\winxp\root\win51
  d:\winxp\root\win51ic
  d:\winxp\root\win51ip
  d:\winxp\root\home\1394bus.sy_
  d:\winxp\root\home\1394vdbg.sy_
  d:\winxp\root\home\abp480n5.sy_
  d:\winxp\root\home\acpi.sy_
  d:\winxp\root\home\acpiec.sy_
  d:\winxp\root\home\adpu160m.sy_
  d:\winxp\root\home\aha154x.sy_
  d:\winxp\root\home\aic78u2.sy_
  d:\winxp\root\home\aic78xx.sy_
  d:\winxp\root\home\aliide.sy_
  d:\winxp\root\home\amsint.sy_
  d:\winxp\root\home\asc.sy_
  d:\winxp\root\home\asc3350p.sy_
  d:\winxp\root\home\asc3550.sy_
  d:\winxp\root\home\atapi.sy_
  d:\winxp\root\home\autorun.inf
  d:\winxp\root\home\biosinfo.inf
  d:\winxp\root\home\bootfix.bin
  d:\winxp\root\home\bootfont.bin
  d:\winxp\root\home\bootvid.dl_
  d:\winxp\root\home\c_936.nl_
  d:\winxp\root\home\cbidf2k.sy_
  d:\winxp\root\home\cd20xrnt.sy_
  d:\winxp\root\home\cdfs.sy_
  d:\winxp\root\home\cdrom.sy_
  d:\winxp\root\home\classpnp.sy_
  d:\winxp\root\home\cmdide.sy_
  d:\winxp\root\home\cpqarray.sy_
  d:\winxp\root\home\dac2w2k.sy_
  d:\winxp\root\home\dac960nt.sy_
  d:\winxp\root\home\disk.sy_
  d:\winxp\root\home\disk101
  d:\winxp\root\home\disk102
  d:\winxp\root\home\disk103
  d:\winxp\root\home\disk104
  d:\winxp\root\home\disk105
  d:\winxp\root\home\disk106
  d:\winxp\root\home\dmboot.sy_
  d:\winxp\root\home\dmio.sy_
  d:\winxp\root\home\dmload.sy_
  d:\winxp\root\home\dpti2o.sy_
  d:\winxp\root\home\drvmain.sdb
  d:\winxp\root\home\fastfat.sy_
  d:\winxp\root\home\fdc.sy_
  d:\winxp\root\home\flpydisk.sy_
  d:\winxp\root\home\ftdisk.sy_
  d:\winxp\root\home\hal.dl_
  d:\winxp\root\home\halaacpi.dl_
  d:\winxp\root\home\halacpi.dl_
  d:\winxp\root\home\halapic.dl_
  d:\winxp\root\home\halmacpi.dl_
  d:\winxp\root\home\halmps.dl_
  d:\winxp\root\home\halsp.dl_
  d:\winxp\root\home\hidclass.sy_
  d:\winxp\root\home\hidparse.sy_
  d:\winxp\root\home\hidusb.sy_
  d:\winxp\root\home\hpn.sy_
  d:\winxp\root\home\hpt3xx.sy_
  d:\winxp\root\home\i2omgmt.sy_
  d:\winxp\root\home\i2omp.sy_
  d:\winxp\root\home\i8042prt.sy_
  d:\winxp\root\home\ini910u.sy_
  d:\winxp\root\home\intelide.sy_
  d:\winxp\root\home\isapnp.sy_
  d:\winxp\root\home\kbda1.dll
  d:\winxp\root\home\kbda2.dll
  d:\winxp\root\home\kbda3.dll
  d:\winxp\root\home\kbdal.dll
  d:\winxp\root\home\kbdarme.dll
  d:\winxp\root\home\kbdarmw.dll
  d:\winxp\root\home\kbdaze.dll
  d:\winxp\root\home\kbdazel.dll
  d:\winxp\root\home\kbdbe.dll
  d:\winxp\root\home\kbdblr.dll
  d:\winxp\root\home\kbdbr.dll
  d:\winxp\root\home\kbdbu.dll
  d:\winxp\root\home\kbdca.dll
  d:\winxp\root\home\kbdclass.sy_
  d:\winxp\root\home\kbdcr.dll
  d:\winxp\root\home\kbdcz.dll
  d:\winxp\root\home\kbdcz1.dll
  d:\winxp\root\home\kbdcz2.dll
  d:\winxp\root\home\kbdda.dll
  d:\winxp\root\home\kbddiv1.dll
  d:\winxp\root\home\kbddiv2.dll
  d:\winxp\root\home\kbddv.dll
  d:\winxp\root\home\kbdes.dll
  d:\winxp\root\home\kbdest.dll
  d:\winxp\root\home\kbdfa.dll
  d:\winxp\root\home\kbdfc.dll
  d:\winxp\root\home\kbdfi.dll
  d:\winxp\root\home\kbdfr.dll
  d:\winxp\root\home\kbdgae.dll
  d:\winxp\root\home\kbdgeo.dll
  d:\winxp\root\home\kbdgkl.dll
  d:\winxp\root\home\kbdgr.dll
  d:\winxp\root\home\kbdgr1.dll
  d:\winxp\root\home\kbdhe.dll
  d:\winxp\root\home\kbdhe220.dll
  d:\winxp\root\home\kbdhe319.dll
  d:\winxp\root\home\kbdheb.dll
  d:\winxp\root\home\kbdhela2.dll
  d:\winxp\root\home\kbdhela3.dll
  d:\winxp\root\home\kbdhept.dll
  d:\winxp\root\home\kbdhid.sy_
  d:\winxp\root\home\kbdhu.dll
  d:\winxp\root\home\kbdhu1.dll
  d:\winxp\root\home\kbdic.dll
  d:\winxp\root\home\kbdindev.dll
  d:\winxp\root\home\kbdinguj.dll
  d:\winxp\root\home\kbdinhin.dll
  d:\winxp\root\home\kbdinkan.dll
  d:\winxp\root\home\kbdinmar.dll
  d:\winxp\root\home\kbdinpun.dll
  d:\winxp\root\home\kbdintam.dll
  d:\winxp\root\home\kbdintel.dll
  d:\winxp\root\home\kbdir.dll
  d:\winxp\root\home\kbdit.dll
  d:\winxp\root\home\kbdit142.dll
  d:\winxp\root\home\kbdkaz.dll
  d:\winxp\root\home\kbdkyr.dll
  d:\winxp\root\home\kbdla.dll
  d:\winxp\root\home\kbdlt.dll
  d:\winxp\root\home\kbdlt1.dll
  d:\winxp\root\home\kbdlv.dll
  d:\winxp\root\home\kbdlv1.dll
  d:\winxp\root\home\kbdmon.dll
  d:\winxp\root\home\kbdne.dll
  d:\winxp\root\home\kbdnec.dll
  d:\winxp\root\home\kbdno.dll
  d:\winxp\root\home\kbdpl.dll
  d:\winxp\root\home\kbdpl1.dll
  d:\winxp\root\home\kbdpo.dll
  d:\winxp\root\home\kbdro.dll
  d:\winxp\root\home\kbdru.dll
  d:\winxp\root\home\kbdru1.dll
  d:\winxp\root\home\kbdsf.dll
  d:\winxp\root\home\kbdsg.dll
  d:\winxp\root\home\kbdsl.dll
  d:\winxp\root\home\kbdsl1.dll
  d:\winxp\root\home\kbdsp.dll
  d:\winxp\root\home\kbdsw.dll
  d:\winxp\root\home\kbdsyr1.dll
  d:\winxp\root\home\kbdsyr2.dll
  d:\winxp\root\home\kbdtat.dll
  d:\winxp\root\home\kbdth0.dll
  d:\winxp\root\home\kbdth1.dll
  d:\winxp\root\home\kbdth2.dll
  d:\winxp\root\home\kbdth3.dll
  d:\winxp\root\home\kbdtuf.dll
  d:\winxp\root\home\kbdtuq.dll
  d:\winxp\root\home\kbduk.dll
  d:\winxp\root\home\kbdur.dll
  d:\winxp\root\home\kbdurdu.dll
  d:\winxp\root\home\kbdus.dll
  d:\winxp\root\home\kbdusl.dll
  d:\winxp\root\home\kbdusr.dll
  d:\winxp\root\home\kbdusx.dll
  d:\winxp\root\home\kbduzb.dll
  d:\winxp\root\home\kbdvntc.dll
  d:\winxp\root\home\kbdycc.dll
  d:\winxp\root\home\kbdycl.dll
  d:\winxp\root\home\kd1394.dl_
  d:\winxp\root\home\kdcom.dl_
  d:\winxp\root\home\ksecdd.sys
  d:\winxp\root\home\l_intl.nl_
  d:\winxp\root\home\lbrtfdc.sy_
  d:\winxp\root\home\mountmgr.sy_
  d:\winxp\root\home\mraid35x.sy_
  d:\winxp\root\home\ntdetect.com
  d:\winxp\root\home\ntfs.sys
  d:\winxp\root\home\ntkrnlmp.ex_
  d:\winxp\root\home\ohci1394.sy_
  d:\winxp\root\home\oprghdlr.sy_
  d:\winxp\root\home\partmgr.sy_
  d:\winxp\root\home\pci.sy_
  d:\winxp\root\home\pciide.sy_
  d:\winxp\root\home\pciidex.sy_
  d:\winxp\root\home\pcmcia.sy_
  d:\winxp\root\home\perc2.sy_
  d:\winxp\root\home\perc2hib.sy_
  d:\winxp\root\home\ql1080.sy_
  d:\winxp\root\home\ql10wnt.sy_
  d:\winxp\root\home\ql12160.sy_
  d:\winxp\root\home\ql1240.sy_
  d:\winxp\root\home\ql1280.sy_
  d:\winxp\root\home\ramdisk.sy_
  d:\winxp\root\home\readme.htm
  d:\winxp\root\home\sbp2port.sy_
  d:\winxp\root\home\scsiport.sy_
  d:\winxp\root\home\serenum.sy_
  d:\winxp\root\home\serial.sy_
  d:\winxp\root\home\setup.exe
  d:\winxp\root\home\setupdd.sy_
  d:\winxp\root\home\setupldr.bin
  d:\winxp\root\home\setupreg.hiv
  d:\winxp\root\home\sfloppy.sy_
  d:\winxp\root\home\slip.sy_
  d:\winxp\root\home\sparrow.sy_
  d:\winxp\root\home\spcmdcon.sys
  d:\winxp\root\home\spddlang.sy_
  d:\winxp\root\home\sq.txt
  d:\winxp\root\home\streamip.sy_
  d:\winxp\root\home\sym_hi.sy_
  d:\winxp\root\home\sym_u3.sy_
  d:\winxp\root\home\symc810.sy_
  d:\winxp\root\home\symc8xx.sy_
  d:\winxp\root\home\tffsport.sy_
  d:\winxp\root\home\toside.sy_
  d:\winxp\root\home\txtsetup.si_
  d:\winxp\root\home\ultra.sy_
  d:\winxp\root\home\usbccgp.sy_
  d:\winxp\root\home\usbd.sy_
  d:\winxp\root\home\usbhub.sy_
  d:\winxp\root\home\usbohci.sy_
  d:\winxp\root\home\usbport.sy_
  d:\winxp\root\home\usbstor.sy_
  d:\winxp\root\home\usbuhci.sy_
  d:\winxp\root\home\vga.sy_
  d:\winxp\root\home\vgaoem.fo_
  d:\winxp\root\home\viaide.sy_
  d:\winxp\root\home\videoprt.sy_
  d:\winxp\root\home\win51
  d:\winxp\root\home\win51ic
  d:\winxp\root\home\wmilib.sy_
  d:\winxp\root\home\docs\……
  d:\winxp\root\home\i386\……
  d:\winxp\root\home\support\……
  d:\winxp\root\home\system32\ntdll.dll
  d:\winxp\root\home\system32\smss.exe
  d:\winxp\root\home\valueadd\……
  d:\winxp\root\wpro\1394bus.sy_
  d:\winxp\root\wpro\1394vdbg.sy_
  d:\winxp\root\wpro\abp480n5.sy_
  d:\winxp\root\wpro\acpi.sy_
  d:\winxp\root\wpro\acpiec.sy_
  d:\winxp\root\wpro\adpu160m.sy_
  d:\winxp\root\wpro\aha154x.sy_
  d:\winxp\root\wpro\aic78u2.sy_
  d:\winxp\root\wpro\aic78xx.sy_
  d:\winxp\root\wpro\aliide.sy_
  d:\winxp\root\wpro\amsint.sy_
  d:\winxp\root\wpro\asc.sy_
  d:\winxp\root\wpro\asc3350p.sy_
  d:\winxp\root\wpro\asc3550.sy_
  d:\winxp\root\wpro\atapi.sy_
  d:\winxp\root\wpro\autorun.inf
  d:\winxp\root\wpro\biosinfo.inf
  d:\winxp\root\wpro\bootfix.bin
  d:\winxp\root\wpro\bootfont.bin
  d:\winxp\root\wpro\bootvid.dl_
  d:\winxp\root\wpro\c_936.nl_
  d:\winxp\root\wpro\cbidf2k.sy_
  d:\winxp\root\wpro\cd20xrnt.sy_
  d:\winxp\root\wpro\cdfs.sy_
  d:\winxp\root\wpro\cdrom.sy_
  d:\winxp\root\wpro\classpnp.sy_
  d:\winxp\root\wpro\cmdide.sy_
  d:\winxp\root\wpro\cpqarray.sy_
  d:\winxp\root\wpro\dac2w2k.sy_
  d:\winxp\root\wpro\dac960nt.sy_
  d:\winxp\root\wpro\disk.sy_
  d:\winxp\root\wpro\disk101
  d:\winxp\root\wpro\disk102
  d:\winxp\root\wpro\disk103
  d:\winxp\root\wpro\disk104
  d:\winxp\root\wpro\disk105
  d:\winxp\root\wpro\disk106
  d:\winxp\root\wpro\dmboot.sy_
  d:\winxp\root\wpro\dmio.sy_
  d:\winxp\root\wpro\dmload.sy_
  d:\winxp\root\wpro\dpti2o.sy_
  d:\winxp\root\wpro\drvmain.sdb
  d:\winxp\root\wpro\fastfat.sy_
  d:\winxp\root\wpro\fdc.sy_
  d:\winxp\root\wpro\flpydisk.sy_
  d:\winxp\root\wpro\ftdisk.sy_
  d:\winxp\root\wpro\hal.dl_
  d:\winxp\root\wpro\halaacpi.dl_
  d:\winxp\root\wpro\halacpi.dl_
  d:\winxp\root\wpro\halapic.dl_
  d:\winxp\root\wpro\halmacpi.dl_
  d:\winxp\root\wpro\halmps.dl_
  d:\winxp\root\wpro\halsp.dl_
  d:\winxp\root\wpro\hidclass.sy_
  d:\winxp\root\wpro\hidparse.sy_
  d:\winxp\root\wpro\hidusb.sy_
  d:\winxp\root\wpro\hpn.sy_
  d:\winxp\root\wpro\hpt3xx.sy_
  d:\winxp\root\wpro\i2omgmt.sy_
  d:\winxp\root\wpro\i2omp.sy_
  d:\winxp\root\wpro\i8042prt.sy_
  d:\winxp\root\wpro\ini910u.sy_
  d:\winxp\root\wpro\intelide.sy_
  d:\winxp\root\wpro\isapnp.sy_
  d:\winxp\root\wpro\kbda1.dll
  d:\winxp\root\wpro\kbda2.dll
  d:\winxp\root\wpro\kbda3.dll
  d:\winxp\root\wpro\kbdal.dll
  d:\winxp\root\wpro\kbdarme.dll
  d:\winxp\root\wpro\kbdarmw.dll
  d:\winxp\root\wpro\kbdaze.dll
  d:\winxp\root\wpro\kbdazel.dll
  d:\winxp\root\wpro\kbdbe.dll
  d:\winxp\root\wpro\kbdblr.dll
  d:\winxp\root\wpro\kbdbr.dll
  d:\winxp\root\wpro\kbdbu.dll
  d:\winxp\root\wpro\kbdca.dll
  d:\winxp\root\wpro\kbdclass.sy_
  d:\winxp\root\wpro\kbdcr.dll
  d:\winxp\root\wpro\kbdcz.dll
  d:\winxp\root\wpro\kbdcz1.dll
  d:\winxp\root\wpro\kbdcz2.dll
  d:\winxp\root\wpro\kbdda.dll
  d:\winxp\root\wpro\kbddiv1.dll
  d:\winxp\root\wpro\kbddiv2.dll
  d:\winxp\root\wpro\kbddv.dll
  d:\winxp\root\wpro\kbdes.dll
  d:\winxp\root\wpro\kbdest.dll
  d:\winxp\root\wpro\kbdfa.dll
  d:\winxp\root\wpro\kbdfc.dll
  d:\winxp\root\wpro\kbdfi.dll
  d:\winxp\root\wpro\kbdfr.dll
  d:\winxp\root\wpro\kbdgae.dll
  d:\winxp\root\wpro\kbdgeo.dll
  d:\winxp\root\wpro\kbdgkl.dll
  d:\winxp\root\wpro\kbdgr.dll
  d:\winxp\root\wpro\kbdgr1.dll
  d:\winxp\root\wpro\kbdhe.dll
  d:\winxp\root\wpro\kbdhe220.dll
  d:\winxp\root\wpro\kbdhe319.dll
  d:\winxp\root\wpro\kbdheb.dll
  d:\winxp\root\wpro\kbdhela2.dll
  d:\winxp\root\wpro\kbdhela3.dll
  d:\winxp\root\wpro\kbdhept.dll
  d:\winxp\root\wpro\kbdhid.sy_
  d:\winxp\root\wpro\kbdhu.dll
  d:\winxp\root\wpro\kbdhu1.dll
  d:\winxp\root\wpro\kbdic.dll
  d:\winxp\root\wpro\kbdindev.dll
  d:\winxp\root\wpro\kbdinguj.dll
  d:\winxp\root\wpro\kbdinhin.dll
  d:\winxp\root\wpro\kbdinkan.dll
  d:\winxp\root\wpro\kbdinmar.dll
  d:\winxp\root\wpro\kbdinpun.dll
  d:\winxp\root\wpro\kbdintam.dll
  d:\winxp\root\wpro\kbdintel.dll
  d:\winxp\root\wpro\kbdir.dll
  d:\winxp\root\wpro\kbdit.dll
  d:\winxp\root\wpro\kbdit142.dll
  d:\winxp\root\wpro\kbdkaz.dll
  d:\winxp\root\wpro\kbdkyr.dll
  d:\winxp\root\wpro\kbdla.dll
  d:\winxp\root\wpro\kbdlt.dll
  d:\winxp\root\wpro\kbdlt1.dll
  d:\winxp\root\wpro\kbdlv.dll
  d:\winxp\root\wpro\kbdlv1.dll
  d:\winxp\root\wpro\kbdmon.dll
  d:\winxp\root\wpro\kbdne.dll
  d:\winxp\root\wpro\kbdnec.dll
  d:\winxp\root\wpro\kbdno.dll
  d:\winxp\root\wpro\kbdpl.dll
  d:\winxp\root\wpro\kbdpl1.dll
  d:\winxp\root\wpro\kbdpo.dll
  d:\winxp\root\wpro\kbdro.dll
  d:\winxp\root\wpro\kbdru.dll
  d:\winxp\root\wpro\kbdru1.dll
  d:\winxp\root\wpro\kbdsf.dll
  d:\winxp\root\wpro\kbdsg.dll
  d:\winxp\root\wpro\kbdsl.dll
  d:\winxp\root\wpro\kbdsl1.dll
  d:\winxp\root\wpro\kbdsp.dll
  d:\winxp\root\wpro\kbdsw.dll
  d:\winxp\root\wpro\kbdsyr1.dll
  d:\winxp\root\wpro\kbdsyr2.dll
  d:\winxp\root\wpro\kbdtat.dll
  d:\winxp\root\wpro\kbdth0.dll
  d:\winxp\root\wpro\kbdth1.dll
  d:\winxp\root\wpro\kbdth2.dll
  d:\winxp\root\wpro\kbdth3.dll
  d:\winxp\root\wpro\kbdtuf.dll
  d:\winxp\root\wpro\kbdtuq.dll
  d:\winxp\root\wpro\kbduk.dll
  d:\winxp\root\wpro\kbdur.dll
  d:\winxp\root\wpro\kbdurdu.dll
  d:\winxp\root\wpro\kbdus.dll
  d:\winxp\root\wpro\kbdusl.dll
  d:\winxp\root\wpro\kbdusr.dll
  d:\winxp\root\wpro\kbdusx.dll
  d:\winxp\root\wpro\kbduzb.dll
  d:\winxp\root\wpro\kbdvntc.dll
  d:\winxp\root\wpro\kbdycc.dll
  d:\winxp\root\wpro\kbdycl.dll
  d:\winxp\root\wpro\kd1394.dl_
  d:\winxp\root\wpro\kdcom.dl_
  d:\winxp\root\wpro\ksecdd.sys
  d:\winxp\root\wpro\l_intl.nl_
  d:\winxp\root\wpro\lbrtfdc.sy_
  d:\winxp\root\wpro\mountmgr.sy_
  d:\winxp\root\wpro\mraid35x.sy_
  d:\winxp\root\wpro\ntdetect.com
  d:\winxp\root\wpro\ntfs.sys
  d:\winxp\root\wpro\ntkrnlmp.ex_
  d:\winxp\root\wpro\ohci1394.sy_
  d:\winxp\root\wpro\oprghdlr.sy_
  d:\winxp\root\wpro\partmgr.sy_
  d:\winxp\root\wpro\pci.sy_
  d:\winxp\root\wpro\pciide.sy_
  d:\winxp\root\wpro\pciidex.sy_
  d:\winxp\root\wpro\pcmcia.sy_
  d:\winxp\root\wpro\perc2.sy_
  d:\winxp\root\wpro\perc2hib.sy_
  d:\winxp\root\wpro\ql1080.sy_
  d:\winxp\root\wpro\ql10wnt.sy_
  d:\winxp\root\wpro\ql12160.sy_
  d:\winxp\root\wpro\ql1240.sy_
  d:\winxp\root\wpro\ql1280.sy_
  d:\winxp\root\wpro\ramdisk.sy_
  d:\winxp\root\wpro\readme.htm
  d:\winxp\root\wpro\sbp2port.sy_
  d:\winxp\root\wpro\scsiport.sy_
  d:\winxp\root\wpro\serenum.sy_
  d:\winxp\root\wpro\serial.sy_
  d:\winxp\root\wpro\setup.exe
  d:\winxp\root\wpro\setupdd.sy_
  d:\winxp\root\wpro\setupldr.bin
  d:\winxp\root\wpro\setupreg.hiv
  d:\winxp\root\wpro\sfloppy.sy_
  d:\winxp\root\wpro\slip.sy_
  d:\winxp\root\wpro\sparrow.sy_
  d:\winxp\root\wpro\spcmdcon.sys
  d:\winxp\root\wpro\spddlang.sy_
  d:\winxp\root\wpro\streamip.sy_
  d:\winxp\root\wpro\sym_hi.sy_
  d:\winxp\root\wpro\sym_u3.sy_
  d:\winxp\root\wpro\symc810.sy_
  d:\winxp\root\wpro\symc8xx.sy_
  d:\winxp\root\wpro\tffsport.sy_
  d:\winxp\root\wpro\toside.sy_
  d:\winxp\root\wpro\txtsetup.si_
  d:\winxp\root\wpro\ultra.sy_
  d:\winxp\root\wpro\usbccgp.sy_
  d:\winxp\root\wpro\usbd.sy_
  d:\winxp\root\wpro\usbhub.sy_
  d:\winxp\root\wpro\usbohci.sy_
  d:\winxp\root\wpro\usbport.sy_
  d:\winxp\root\wpro\usbstor.sy_
  d:\winxp\root\wpro\usbuhci.sy_
  d:\winxp\root\wpro\vga.sy_
  d:\winxp\root\wpro\vgaoem.fo_
  d:\winxp\root\wpro\viaide.sy_
  d:\winxp\root\wpro\videoprt.sy_
  d:\winxp\root\wpro\win51
  d:\winxp\root\wpro\win51ip
  d:\winxp\root\wpro\wmilib.sy_
  d:\winxp\root\wpro\docs\……
  d:\winxp\root\wpro\i386\……
  d:\winxp\root\wpro\support\……
  d:\winxp\root\wpro\system32\ntdll.dll
  d:\winxp\root\wpro\system32\smss.exe
  d:\winxp\root\wpro\valueadd\……  8. 制作ISO文件  CDImage程序加“-o”参数优化后生成的镜像文件约为558 MB,我们假设将它存放在f:盘的根目录下,命令如下:
  d:\winxp\cdimage -lWinXP-2in1 -t09/05/2001,12:00:00 -g -h -j1 -o -m -bd:\winxp\w2kall.bin d:\winxp\root f:\wxp-2in1.iso
  上述命令与生成Windows 2000的命令略有不同,各参数含义分别为:
  -l:设置光盘卷标。此处为“WinXP-2in1”。
  -t:设置光盘上所有文件的生成日期。此处为“2001年9月5日格林威治时间(GMT)上午12点整”。
  -g:转换本地时间与格林威治时间(GMT)。但如果是在Windows XP系统下,该参数似乎不起作用,“-t”参数指定的是GMT时间,而文件的生成时间是“-t”指定的时间加上时区转换后的本地时间。如,上例中的文件生成本地时间是“20:00:00”,即GMT+8=北京时间。
  -h:包含隐藏的目录和文件。
  -j1:编码Joliet文件名,并兼容DOS的8.3格式文件名。
  -o:优化相同的文件,最重要的参数,这是我们将3个版本的1.02 GB文件压缩到558 MB的关键。
  -m:允许生成的ISO文件超过640 MB。
  -b:光盘启动引导程序,此处我们使用了w2kall.bin。
  d:\winxp\root:源文件路径,将作为光盘的根目录。
  f:\wxp-2in1.iso:最后生成的ISO文件,我们要的就是它。
  要点:cdimage /?可显示所有选项。CDImagegui提供了一个图形界面,使用更直观,功能是一样的。  9. 测试ISO文件  用VMware加载wxp-2in1.iso文件,设置第1启动设备为光驱。从光盘启动后,系统首先显示信息“Press any key to boot from CD.”,按任意键后,出现[A]、2个选项菜单,键入A、B键然后回车,可启动相应安装版本,键入C键然后回车,可安装家庭版。此后的安装与原版光盘的安装一致。需要逐个安装,以测试各个版本的完整性。  10. 增加特殊文件  可以根据个人的爱好,在光盘上再增加一些特殊文件,只需将其复制到d:\winxp\root目录下,并重新制作ISO文件。
  11.烧录光盘  ISO镜像文件测试无误后,即可用自己熟悉的软件(例如Nero)将其烧录到光盘。 这样,一张可启动的Windows XP 2合1光盘就制作完成了。同样,需要测试这张CD,最好的办法就是用它逐个安装一遍。
四、特色点评

  优点:与街面上流行的Windows 2000/XP n合1光盘相比,上述方法制作的光盘目录结构更简洁,没有一个多余的文件,不需要diskem1x引导程序,不需要重新制作启动菜单,不需要为每个版本分别准备不同的引导文件,针对性更强。
  缺点:只针对Windows 2000/XP系列,最多只能包含3个版本,无法制作出漂亮的彩色菜单。

不发了^!^教程太长。有九十章提供个下载地址吧自己下来看。。。。。。
下载地址:http://www.bibidu.com/fileview-367807.html

[ 本帖最后由 白荷 于 2008-2-21 01:57 AM 编辑 ]
回复

使用道具 举报

6#
发表于 2008-3-3 21:25:20 | 只看该作者
真得太长一时吸收不了,做个记号慢慢看
回复

使用道具 举报

7#
发表于 2008-3-6 01:46:02 | 只看该作者
你原创?

我得知的,这篇文章02年就出现在cdbest.net上了,不针对任何人,也不是别人的托

原创的注明下,转载,copy的也注明下,这是对别人劳动成果的尊重!

不过也可能你就是他本人,也有可能的,未知名的 精英就不计其数
回复

使用道具 举报

8#
发表于 2008-3-7 16:39:22 | 只看该作者
进来支持,再慢慢学习。
回复

使用道具 举报

9#
发表于 2008-3-7 17:37:27 | 只看该作者
原帖由 tangge 于 2008-3-6 01:46 AM 发表
你原创?

我得知的,这篇文章02年就出现在cdbest.net上了,......


正解! N年了。
回复

使用道具 举报

10#
发表于 2008-3-8 15:45:04 | 只看该作者
8错,收藏,谢谢楼主分享
回复

使用道具 举报

11#
发表于 2008-3-8 21:02:37 | 只看该作者
一直想自己动手做个系统,但苦于技术有限.而且找的文章有看不懂,只好做罢.
现在好了,可以慢慢研究了.急于做一张自己的系统.也眩一下.
支持LZ.
回复

使用道具 举报

12#
发表于 2008-3-8 21:21:04 | 只看该作者
学习了。
很详细!!
回复

使用道具 举报

13#
发表于 2008-3-9 08:52:34 | 只看该作者
下载中   慢慢学吧      谢谢楼主
回复

使用道具 举报

14#
发表于 2008-5-22 23:31:49 | 只看该作者
十分详细,好东西,收藏了,谢谢楼主~~~~~
回复

使用道具 举报

15#
发表于 2008-5-23 10:10:48 | 只看该作者
哎呀
路漫漫啊 好长的帖子
回复

使用道具 举报

16#
发表于 2008-5-24 16:30:52 | 只看该作者
路过,收藏了。谢谢楼主。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-9-18 07:31

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表