[转帖]Windows 2000 3合1与Windows XP 2合1启动光盘的最新制作方法
Windows 2000 3合1光盘(简体中文专业版+简体中文服务器版+简体中文高级服务器版)已经在街面上流行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
(2)CDImage.exe(命令行界面)或CDImagegui.exe(图形界面)
必须。可启动光盘镜像制作工具,生成标准的ISO文件,同时具有优化光盘上文件的功能,使相同的文件只刻录1个,其他的文件都连接到该文件,有点类似Unix的功能。
下载地址: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 2
可选。将Windows 2000 Service Pack 2集成进Windows 2000的三个版本中,这样安装完毕的Windows 2000就集成了Service Pack 2,不必再单独安装了。
下载地址:http://download.microsoft.com/download/win2000platform/SP/SP2/NT5/CN/w2ksp2.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 2集成到Windows 2000各版本中
运行w2ksp2.exe /x将Service Pack 2全部文件提取出来,假设提取到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 2已经集成到Windows 2000各版本中,且d:\win2k\root\asrv、d:\win2k\root\wsrv、d:\win2k\root\wpro各目录下应有一文件cdromsp2.tst,将其复制到d:\win2k\root\。
要点:d:\win2k\root\下面必须有cdromsp2.tst文件,否则安装程序会要求我们插入Service Pack 2光盘。
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秒。
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
[B] 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\cdromsp2.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\cdromsp2.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\cdromsp2.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\cdromsp2.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\……
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]、[B]、[C]3个选项菜单,键入A、B或C键然后回车,可启动相应安装版本,此后的安装与原版光盘的安装一致。需要逐个安装,以测试各个版本的完整性。
12. 增加特殊文件
可以根据个人的爱好,在光盘上再增加一些特殊文件,例如新版IE、DirectX及一些专用的驱动程序等,只需将其复制到d:\win2k\root目录下,并重新制作ISO文件。
13.烧录光盘
ISO镜像文件测试无误后,即可用自己熟悉的烧录软件软件(例如Nero)将其烧录到光盘。 这样,一张可启动的Windows 2000 3合1光盘就制作完成了。
三、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启动光盘的制作过程(你也可以去试一试Windows NT 4.0)。
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.zip,http://www.tech-hints.com/prog/cdimagegui.zip
(3)WinZip、WinImg
可选。解Windows XP安装软盘组的img文件。可替换方法是制作6张安装软盘,然后将6张软盘上的全部文件复制到硬盘。
下载地址:http://www.winimage.com/winimage/winima60.zip,http://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
[B] Windows 2000 Server - English
[C] Windows 2000 Advanced Server - English
Choose an option and press [Enter]:
将其修改为:
[A] Windows XP Professional
[B] 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_
要点:这两个文件中的路径安装程序告诉安装程序从何处复制文件,必须与目录结构相匹配。
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 -n -o -m -bd:\winxp\w2kall.bin d:\winxp\root f:\wxp-2in1.iso
上述命令中各参数含义分别为:
-l:设置光盘卷标。此处为“WinXP-2in1”。
-t:设置光盘上所有文件的生成日期。此处为“2001年9月5日格林威治时间(GMT)上午12点整”。
-g:转换本地时间与格林威治时间(GMT)。但如果是在Windows XP系统下,该参数似乎不起作用,“-t”参数指定的是GMT时间,而文件的生成时间是“-t”指定的时间加上时区转换后的本地时间。如,上例中的文件生成本地时间是“20:00:00”,即GMT+8=北京时间。
-h:包含隐藏的目录和文件。
-n:允许长文件名。
-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]、[B]2个选项菜单,键入A、B键然后回车,可启动相应安装版本,键入C键然后回车,可安装家庭版(但没有任何提示)。此后的安装与原版光盘的安装一致。需要逐个安装,以测试各个版本的完整性。
10. 增加特殊文件
可以根据个人的爱好,在光盘上再增加一些特殊文件,只需将其复制到d:\winxp\root目录下,并重新制作ISO文件。
11.烧录光盘
ISO镜像文件测试无误后,即可用自己熟悉的软件(例如Nero)将其烧录到光盘。 这样,一张可启动的Windows XP 2合1光盘就制作完成了。
四、特色点评
优点:与街面上流行的Windows 2000/XP n合1光盘相比,上述方法制作的光盘目录结构更简洁,没有一个多余的文件,不需要diskem1x引导程序,不需要重新制作启动菜单,不需要为每个版本分别准备不同的引导文件,针对性更强。
缺点:只针对Windows 2000/XP系列,最多只能包含3个版本,无法制作出漂亮的彩色菜单(当然diskem1x也不能,但我能)。
|