论坛: 电脑门诊 标题: 三合一启动光盘制作  复制本贴地址    
作者: blackeyes [ilovewhere]    论坛用户   登录
作者: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主板。如果你已经按照本文方法,却未能成功引导,务必到其他机子上试一下,以免浪费时间。


地主 发表时间: 07/30 02:33

回复: xiaojun [xiaojun]   剑客   登录
此法着实不错,大家都来看看,也做一张"3in1"~~~

B1层 发表时间: 07/31 15:24

回复: yxh428 [yxh428]   论坛用户   登录
这个主意不错,解决了我的不少问题.3in1...

B2层 发表时间: 07/31 19:40

论坛: 电脑门诊

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号