[DIY]Windows2000三合一光盘

发表于:2007-07-13来源:作者:点击数: 标签:
如何制作Windows 2000三合一光盘(一) A.有关说明: 1、Windows 2000 三合一光盘是指将WIN2000的PRO、SERVER和ADVSERVER三个版本做成一张光盘。 由于这三个版本的很多文件是相同的,利用微软内部使用的工具cdimage,可以共享这些相同文件,而不必重复地放在

如何制作Windows 2000三合一光盘(一)
A.有关说明:

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
为了和正版保持一致,所以做了一些修改。

 

B.正文部分:

附: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

如何制作Windows 2000三合一光盘(二)

4. 制作CD目录

在你的硬盘上建一个目录example,
在下面建子目录CD,拷贝cdimage, mkbootcd.exe到example目录下,
在example目录下建立一文件mkbootcd.txt,拷贝bootcat.bin,diskemu.bin,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 字节

如何制作Windows 2000三合一光盘(三)
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

<img src:/http://www.wwwfox.net/images/mkbootcd1.jpg>

注意:一定要在Win2000的DOS下执行上述命令,因为这时可以看到你的文件引导有没有被加入到引导区中,并且有没有出错情况。

12.用easycd将bootcd.iso刻录到CD上,然后...
(站长注:或用nero burning rom刻录bootcd.iso,我都是用NERO来刻三合一启动盘)

如何制作Windows 2000三合一光盘(四)
C.补充说明:
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\386 cd\asrv /U /E /YY

执行一次上述命令,将自动完成替换过程。

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、据网友反映,本文制作的三合一光盘在某些主板上不能正常引导,如果你已经按照本文方法,却未能成功引导,务必到其它机子上试一下,以免浪费时间。

转自:无忧启动

原文转自:http://www.ltesting.net