三合一启动光盘制作
/ns/wz/otherwz/data/20020801030238.htm
作者:DuYihua wwwfox
有关说明:
1、Windows 2000 三合一光盘是指将WIN2000的PRO、SERVER和ADVSERVER三个版本做成一张光盘。
由于这三个版本的很多文件是相同的,利用微软内部使用的工具cdimage,可以共享这些相同文件,而不必重复地放在一张光盘上,
这样,三个完整版本(1.2G)可以放在一张光盘上(500多M).
欲了解详细情况,请看cdimage中带有的帮助文件。
2、本文介绍如何使用这三合一光盘成为启动光盘,而且是菜单方式选择三个OS来安装。
本引导光盘的开机画面如下,
*******************************************************************************
MultiBoot Setup Title
A.Setup Win2000 Professional
B.Setup Win2000 Server
C.Setup Win2000 Adv Server
Select item to boot...
*******************************************************************************
选A、B、C进入各自的引导,其引导是windows 2000/NT特有的引导方式安装,不是简单地通过运行winnt.exe来安装。
3、本文系 DuYihua 发给我,非常感谢!DuYihua 的原文写得非常详细。
本站长手头有一张正版的三合一光盘的复制盘,是去年一位网友用NERO帮我复制的,原版盘是能三引导,而这张复制盘不能引导。
由于正版三合一光盘的目录结构和 DuYihua 所说的有一点出入,
如正版光盘上的Windows 2000 Advance Server目录是:\simpchin\win2000\adv_srv
而DuYihua写的Windows 2000 Advance Server目录是:\simpchin\win2000\adv_svr
为了和正版保持一致,所以做了一些修改。
附:DuYihua的原文
正文部分:
经过我 (DuYihua)的多次跟踪,发现其实Win2000的启动关键就在于其引导文件固化了i386目录,只要修改其引导文件就可以从不同
的地方来引导不同的Win2000安装。
Win2000启动过程:
Boot->setupldr->ntdetect->引导驱动程序->读txtsetup.sif->开始安装
运行环境:要求在windows 2000 下,因为制作工具CDImage只能在Win2000下运行。
以下为制作过程:
1. 首先你应该拥有前面提到的工具。
还有十六进制编辑工具,如: Ultraedit,解img文件工具,如: winimage
2. 你应该拥有Win2000的三个版本文件,最好每个版本都有bootdisk目录(启动软盘)。
3. 你应该有Win2000的启动文件
这里假设为 w2ksect.dat。将他一拷为三,这里假设为 wprosect.dat,wsrvsect.dat,asrvsect.dat
4. 制作CD目录
在你的硬盘上建一个目录example,在下面建子目录CD,
拷贝 cdimage, mkbootcd.exe到example目录下,在example目录下建立一文件mkbootcd.txt,
拷贝[urhttp://www.wwwfox.net/tool/bootcat.bin]bootcat.bin,diskemu.bin,[urhttp://www.wwwfox.net/tool/wprosect.dat]wprosect.dat,wsrvsect.dat,asrvsect.dat到CD目录下,
在CD目录下建立引导目录WPRO,WSRV,ASRV,SIMPCHIN,
在SIMPCHIN目录下建立目录 WIN2000,在WIN2000下建立目录PRO,SERVER,ADV_SRV,
拷贝bootfont.bin ,cdrom_ip.5,cdrom_is.5, cdrom_ia.5,cdrom_nt.5到CD目录下,
拷贝各个版本的i386目录到各自目录下,
现在你的目录结构应该如下:
example
example\cdimage.exe
example\mkbootcd.exe
example\mkbootcd.txt
example\cd
example\cd\bootcat.bin
example\cd\diskemu.bin
example\cd\wprosect.dat
example\cd\wsrvsect.dat
example\cd\asrvsect.dat
example\cd\bootfont.bin
example\cd\cdrom_ip.5
example\cd\cdrom_is.5
example\cd\cdrom_ia.5
example\cd\cdrom_nt.5
example\cd\wpro
example\cd\wsrv
example\cd\asrv
example\cd\simpchin
example\cd\simpchin\win2000
example\cd\simpchin\win2000\pro
example\cd\simpchin\win2000\pro\i386
example\cd\simpchin\win2000\server
example\cd\simpchin\win2000\server\i386
example\cd\simpchin\win2000\adv_srv
example\cd\simpchin\win2000\adv_srv\i386
5. 修改启动文件
用Ultraedit以十六进制方式打开wprosect.dat,修改I386为WPRO,
打开wsrvsect.dat,修改I386为WSRV,
打开asrvsect.dat,修改I386为ASRV。
6. 制作引导驱动
如果你们的光盘上已经有BOOTDISK的目录,那么只要将BOOTDISK目录下的四个img文件(启动盘)解到各自的引导目录下,
如:PRO版本的四个img文件就解到wpro目录下,SERVER版本的四个img文件解到wsrv目录下,Adv版本的四个img文件解到asrv目录下。
如果你没有启动盘img文件,那就从各自的i386目录下拷贝,
如wpro目录下的文件列表如下(内有一个目录system32):
2001-02-23 13:58 <DIR> .
2001-02-23 13:58 <DIR> ..
2000-01-10 12:00 21,840 1394BUS.SY_
2000-01-10 12:00 13,657 ABP480N5.SY_
2000-01-10 12:00 84,185 ACPI.SY_
2000-01-10 12:00 6,541 ACPIEC.SY_
2000-01-10 12:00 34,361 ADPU160M.SY_
2000-01-10 12:00 7,846 AHA154X.SY_
2000-01-10 12:00 41,772 AIC116X.SY_
2000-01-10 12:00 33,686 AIC78U2.SY_
2000-01-10 12:00 30,488 AIC78XX.SY_
2000-01-10 12:00 7,163 AMSINT.SY_
2000-01-10 12:00 15,222 ASC.SY_
2000-01-10 12:00 13,195 ASC3350P.SY_
2000-01-10 12:00 8,738 ASC3550.SY_
2000-01-10 12:00 44,382 ATAPI.SY_
2000-01-10 12:00 20,951 BIOSINFO.INF
2000-01-10 12:00 64,584 BOOTFONT.BIN
2000-01-10 12:00 6,152 BOOTVID.DL_
2000-01-10 12:00 14,885 BUSLOGIC.SY_
2000-01-10 12:00 3,907 CD20XRNT.SY_
2000-01-10 12:00 32,879 CDFS.SY_
2000-01-10 12:00 15,402 CDROM.SY_
2000-01-10 12:00 7,669 CLASS2.SY_
2000-01-10 12:00 19,363 CLASSPNP.SY_
2000-01-10 12:00 6,903 CPQARRAY.SY_
2000-01-10 12:00 7,687 CPQARRY2.SY_
2000-01-10 12:00 29,155 CPQFCALM.SY_
2000-01-10 12:00 23,039 CPQFWS2E.SY_
2000-01-10 12:00 90,722 C_936.NL_
2000-01-10 12:00 8,079 DAC960NT.SY_
2000-01-10 12:00 15,529 DISK.SY_
2000-01-10 12:00 3 DISK101
2000-01-10 12:00 3 DISK102
2000-01-10 12:00 3 DISK103
2000-01-10 12:00 3 DISK104
2000-01-10 12:00 116,391 DMBOOT.SY_
2000-01-10 12:00 62,287 DMIO.SY_
2000-01-10 12:00 3,301 DMLOAD.SY_
2000-01-10 12:00 75,806 FASTFAT.SY_
2000-01-10 12:00 6,187 FD16_700.SY_
2000-01-10 12:00 14,952 FDC.SY_
2000-01-10 12:00 12,505 FIREPORT.SY_
2000-01-10 12:00 25,827 FLASHPNT.SY_
2000-01-10 12:00 10,977 FLPYDISK.SY_
2000-01-10 12:00 54,977 FTDISK.SY_
2000-01-10 12:00 49,668 HAL.DL_
2000-01-10 12:00 39,499 HALAACPI.DL_
2000-01-10 12:00 33,948 HALACPI.DL_
2000-01-10 12:00 45,370 HALAPIC.DL_
2000-01-10 12:00 14,539 HIDCLASS.SY_
2000-01-10 12:00 11,941 HIDPARSE.SY_
2000-01-10 12:00 6,023 HIDUSB.SY_
2000-01-10 12:00 22,649 I8042PRT.SY_
2000-01-10 12:00 8,604 INI910U.SY_
2000-01-10 12:00 2,359 INTELIDE.SY_
2000-01-10 12:00 8,153 IPSRAIDN.SY_
2000-01-10 12:00 25,787 ISAPNP.SY_
2000-01-10 12:00 12,435 KBDCLASS.SY_
2000-01-10 12:00 7,503 KBDHID.SY_
2000-01-10 12:00 6,416 KBDUS.DLL
2000-01-10 12:00 14,534 LBRTFDC.SY_
2000-01-10 12:00 17,845 LP6NDS35.SY_
2000-01-10 12:00 847 L_INTL.NL_
2000-01-10 12:00 14,677 MOUNTMGR.SY_
2000-01-10 12:00 5,393 MRAID35X.SY_
2000-01-10 12:00 6,164 NCRC710.SY_
2000-01-10 12:00 34,468 NTDETECT.COM
2000-01-10 12:00 267,127 NTFS.SY_
2000-01-10 12:00 719,041 NTKRNLMP.EX_
2000-01-10 12:00 21,105 OHCI1394.SY_
2000-01-10 12:00 15,044 OPENHCI.SY_
2000-01-10 12:00 6,032 PARTMGR.SY_
2000-01-10 12:00 33,276 PCI.SY_
2000-01-10 12:00 1,505 PCIIDE.SY_
2000-01-10 12:00 12,266 PCIIDEX.SY_
2000-01-10 12:00 51,335 PCMCIA.SY_
2000-01-10 12:00 22,839 QL1080.SY_
2000-01-10 12:00 19,030 QL10WNT.SY_
2000-01-10 12:00 22,967 QL1240.SY_
2000-01-10 12:00 33,267 QL2100.SY_
2000-01-10 12:00 19,031 SBP2PORT.SY_
2000-01-10 12:00 40,581 SCSIPORT.SY_
2000-01-10 12:00 7,652 SERENUM.SY_
2000-01-10 12:00 29,589 SERIAL.SY_
2000-01-10 12:00 152,766 SETUPDD.SY_
2001-02-23 10:56 229,776 SETUPLDR.BIN
2000-01-10 12:00 69,632 SETUPREG.HIV
2000-01-10 12:00 5,964 SFLOPPY.SY_
2000-01-10 12:00 11,072 SPARROW.SY_
2000-01-10 12:00 187,024 SPCMDCON.SYS
2000-01-10 12:00 8,929 SPDDLANG.SY_
2000-01-10 12:00 8,366 SYMC810.SY_
2000-01-10 12:00 13,194 SYMC8XX.SY_
2000-01-10 12:00 12,017 SYM_HI.SY_
2001-02-23 10:30 <DIR> SYSTEM32
2000-01-10 12:00 33,455 TFFSPORT.SY_
2000-02-01 02:45 363,365 TXTSETUP.SIF
2000-01-10 12:00 19,273 UHCD.SY_
2000-01-10 12:00 14,120 ULTRA66.SY_
2000-01-10 12:00 11,893 USBD.SY_
2000-01-10 12:00 22,049 USBHUB.SY_
2000-01-10 12:00 11,268 USBSTOR.SY_
2000-01-10 12:00 7,042 VGA.SY_
2000-01-10 12:00 2,437 VGAOEM.FO_
2000-01-10 12:00 27,261 VIDEOPRT.SY_
2000-01-10 12:00 2,423 WMILIB.SY_
104 个文件 4,037,039 字节
WPRO\SYSTEM32 的目录
2001-02-23 10:30 <DIR> .
2001-02-23 10:30 <DIR> ..
2000-01-10 12:00 481,040 NTDLL.DLL
2000-01-10 12:00 152,336 SMSS.EXE
2 个文件 633,376 字节
7. 修改setupldr.bin和txtsetup.sif
进入各自的引导目录wpro,wsrv,asrv,
用Ultraedit以二进制方式打开setupldr.bin,修改i386为各自的目录WPRO,WSRV,ASRV,
用Ultraedit以文本方式打开txtsetup.sif,找到SetupSourcePath = "\"(引号内有可能不同),修改为各自的安装目录,
例如:
SetupSourcePath = "\SIMPCHIN\WIN2000\PRO\"
SetupSourcePath = "\SIMPCHIN\WIN2000\SERVER\"
SetupSourcePath = "\SIMPCHIN\WIN2000\ADV_SRV\"
8、在wpro、wsrv、asrv目录中各加入一个bootfix.bin,
可以增加"按任意键从CD-ROM引导;不按任何键,5秒后从硬盘引导"的功能。
9. 制作ISO文件
在Win2000的DOS下,进入example目录,输入以下命令:
cdimage -lW2KBOOT -h -n -o cd bootcd.iso
这时会在example目录下产生文件bootcd.iso
10. 编写mkbootcd.txt
打开mkbootcd.txt,输入如下文本:
;
; MKBOOTCD command file created by Gary Tong
; for DiskEmu.bin v0.8 Beta
;
; Center the MultiBoot Menu Title in a 24-character range
; / \
-S MultiBoot Menu Title
bootcat.bin
;
;--- Boot entries ---
; Default boot image entry
; Boot Media Type = No Emulation
-T0
; Sector Count in 512-byte sectors
-C8
; Recommended DiskEmu.bin Load Segment is between 4000 and 9000
-L5000
diskemu.bin
; Continue with remaining boot image entries
; Only each Section's first bootable image will appear in DiskEmu.bin's Menu
; 80x86 Platform ID w/high bit set to avoid PC BIOS multiboot menu
-P80
; Use Default Load Segment (07C0)
-L0
; Up to nine boot images may be listed here
; Left justify the Menu text for each entry in a 28-character range
; / \
-t0
-c4
-SSetup Win2000 Professional
wprosect.dat
-SSetup Win2000 Server
wsrvsect.dat
-SSetup Win2000 Adv Server
asrvsect.dat
; etc...
11.制作启动CD
在Win2000的DOS下,进入example目录,输入以下命令:
mkbootcd bootcd.iso - < mkbootcd.txt
注意:一定要在Win2000的DOS下执行上述命令,因为这时可以看到你的文件引导有没有被加入到引导区中,并且有没有出错情况。
11.用easycd将bootcd.iso刻录到CD上,然后...
(站长注:或用nero burning rom刻录bootcd.iso,我都是用NERO来刻三合一启动盘)
补充说明:
1、如何让2000安装程序跳过输入产品序列号
打开i386目录下setupp.ini,编辑
Pid=xxxxx000为
Pid=xxxxx270
2、如何制作Win2000+SP2 的多重启动
一、升级windows 2000 各版本升级到 sp2
1、在拷贝完i386目录后,运行W2KSP2.exe /x将SP2解开.,
2、在w2ksp2同级目录中做一个批文件,内容如下:
w2ksp2\update\update.exe -s:x:\example\cd\simpchin\win2000\pro
w2ksp2\update\update.exe -s:x:\example\cd\simpchin\win2000\server
w2ksp2\update\update.exe -s:x:\example\cd\simpchin\win2000\adv_srv
3、执行上述批文件,自动完成windows 2000 各版本升级到 sp2
4、拷贝cdrom_sp2.tst到cd目录下。
二、把wpro,wsvr,asvr(引导目录)下的文件更新掉:
1、下载文件 xxcopy.exe (注:在无忧启动各版的引导文件中都有该文件),拷入example中。
2、在example目录中做一个批文件,内容如下:
xxcopy.exe cd\simpchin\win2000\pro\i386 cd\wpro /U /E /YY
xxcopy.exe cd\simpchin\win2000\server\i386 cd\wsrv /U /E /YY
xxcopy.exe cd\simpchin\win2000\adv_srv\i386 cd\asrv /U /E /YY
3、执行一次上述命令,将自动完成替换过程。
3、Windows 2000三合一启动还可以加入无忧启动022版,方法如下:
在上文的CD目录中,加入无忧启动配套文件BOOT和UCDOS这两个目录及022.IMG,并且修改mkbootcd.txt.
修改后的mkbootcd.txt.
;
; MKBOOTCD command file created by Gary Tong
; for DiskEmu.bin v0.8 Beta
;
; Center the MultiBoot Menu Title in a 24-character range
; V V
-S MultiBoot Menu Title
bootcat.bin
;
;--- Boot entries ---
; Default boot image entry
; Boot Media Type = No Emulation
-T0
; Sector Count in 512-byte sectors
-C8
; Recommended DiskEmu.bin Load Segment is between 4000 and 9000
-L5000
diskemu.bin
; Continue with remaining boot image entries
; Only each Section's first bootable image will appear in DiskEmu.bin's Menu
; 80x86 Platform ID w/high bit set to avoid PC BIOS multiboot menu
-P80
; Sector Count in 512-byte sectors
-C1
; Use Default Load Segment (07C0)
-L0
; Boot Media Type:
; -T0 = No Emulation
; -T1 = 1.2 MB Floppy
; -T2 = 1.44 MB Floppy
; -T3 = 2.88 MB Floppy
-T2
; Up to nine boot images may be listed here
; Left justify the Menu text for each entry in a 28-character range
; V V
-SStart Bootcd 022
022.img
; etc...
-T0
-C4
-SSetup Win2000 Professional
wprosect.dat
-SSetup Win2000 Server
wsrvsect.dat
-SSetup Win2000 Adv Server
asrvsect.dat
; etc...
在Windows 2000 的DOS下,执行mkbootcd.exe bootcd.iso - < mkbootcd.txt,检查屏幕上有无出现类似下面的提示:
4、可以用同样的方法加入NT 4.0 的两个版本,成为5in1版本。启动文件用NT引导使用的三张启动软盘文件,并用SP6中的
Atapi.sys替换引导目录和I386目录下的同名文件,即可支持大硬盘。
5、可以用本站的隐藏目录的方法,隐藏与启动有关的文件,且不影响启动功能。这些文件在正版三合一启动光盘是找不到的。
如隐藏WPRO、WSRV、ASRV、BOOT、UCDOS目录及所有的*.dat、DISKEMU.BIN、BOOTCAT.BIN,这样更象正版盘。
注意:
1、不要去隐藏BOOTFONT.BIN,不然在刚开始安装显示中文会出现乱码。
2、不要去隐藏SIMPCHIN目录和*.5这几个文件,否则可能会出问题,我没有试过,如你有兴趣,可以去试一下。
6、据网友反映,本文制作的三合一光盘在某些主板上不能正常引导,如INTEL主板。如果你已经按照本文方法,却未能成功引导,务必到其他机子上试一下,以免浪费时间。