|
发表于 2007-3-5 22:35:57
|
显示全部楼层
来自: 中国江西南昌
回楼上:教程贴给你。& b% v8 U% }. t( P
一、Windows 2000/XP多重启动光盘的启动原理
# d# N9 g+ T2 e6 T5 G: G5 F L Windows 2000/XP各版本的原始安装光盘是单重启动,其引导文件中固化了光盘根目录下的i386目录(这一点给制作多重启动的 N 合 1 光盘带来了最大的障碍),该目录中不仅存放了Windows 2000/XP的系统文件,而且还存放了安装所需的安装文件和驱动程序。其引导过程如下:( C! `0 s4 S2 {( @, r" D
先加载光盘引导文件(引导文件比如是 WIN2000.WBT),加载过程: WIN2000.WBT->setupldr.bin->ntdetect.com->再加载驱动程序->读txtsetup.sif->开始光盘安装' p. W }. D3 {, N$ ~! L8 P
上述多个步骤中都涉及了光盘根目录下的i386目录,而我们将制作的 N 合 1 光盘是多重启动的,每个版本都包含一个i386子目录,它与单重启动光盘的目录结构不同(在光盘根目录与i386目录之间多了1层版本目录),因此不能简单地照搬单重启动的引导过程。所幸前辈高手们早就碰到了这个难题,而且也非常巧妙地解决了,那就是使用Windows 2000/XP的安装软盘组:用软盘启动计算机,依次加载所需驱动程序及必要的系统文件,从而避开安装时到光盘根目录下的i386目录加载安装文件和驱动程序,然后安装程序再从Windows 2000/XP安装光盘中安装复制其余的文件,继续安装。我们所要模拟的就是这一过程。改造后的 N 合 1 光盘引导过程如下:1 x2 `; K. [! Q
光盘引导->选择版本模块->模拟软盘启动->setupldr.bin->ntdetect.com->再加载驱动程序->读txtsetup.sif->开始光盘安装。& J) y6 V; v( {" q: D# i7 j# ]
并将上述多个步骤中都涉及到的光盘根目录下的 i386 目录,现在要把它放在双层目录下,光盘根目录中将存放安装软盘组。1 {- D# H7 Q# r9 h5 I8 C' y
二、Windows 2000 3 合 1 启动光盘的制作' K8 J1 i' a, r% K( |
⑴、所需工具0 {+ J9 A0 F7 z4 n/ M% V
①、 EasyBoot V3.2 光盘制作软件,下载地址:http://www.ultraiso.com/easyboot/cn/index.html0 m) a9 t' X5 _" H+ M( u. q
②、制作 Windows 2000 安装软盘组的img文件。可替换方法是制作4张安装软盘,然后将4张软盘上的全部文件复制到硬盘相应目录下。
2 a. L6 H; E% z$ r" l 制作软盘组软件,下载地址:http://www.winimage.com/winimage/winima60.zip
6 s8 }' u6 g* x' J) v③、能打开二进制的软件 Microsoft Visual C++,精简版,下载地址:http://www.yy-china.net/htm/hhgj.htm
1 Z) b; V+ r j; p④、Windows 2000 安装软盘组) \, N& K- E" n3 l
必须用软盘引导机器,加载必要的系统文件及基本驱动程序,然后从光盘继续安装。
/ E" E# n I J5 q, }" T( ?4 G0 OWindows 2000 安装软盘组在正版光盘的 bootdisk 目录下,三个版本的安装软盘是不同的,不能混用。% m" y9 H+ z$ _0 D! h
⑤、虚拟电脑软件 VMware(或Virtual PC)和刻录软件 Nero$ V$ s4 e2 G+ K9 }# w0 x
可选,用来测试制作完成的3合1镜像文件并烧录光盘。! }! n: _0 n$ b2 N S
⑥、WinISO 这个软件用来编辑镜像和取出启动文件(XXX.WBT)
0 h& r$ U' M c X9 F⑵、 目录及文件结构) f2 O# {6 @- J4 ]
保证硬盘上有足够的空间(假设将文件存放在默认的 EasyBoot 文件夹下 D:\EasyBoot\WIN2K,全部三个版本的原始文件约占用空间为1.24 GB,生成的镜像文件约为520 MB 左右),建立的目录结构如下:
% _, R2 h- i3 b: B# z9 S j①、建立目录结构及文件位置5 A L7 \% q1 A8 r3 M; C
D:\EasyBoot\WIN2K* ^; m: m/ G% e/ |1 F8 C% ~+ D' n
D:\EasyBoot\WIN2K\IMG- p# P7 z+ t: q5 X! a
D:\EasyBoot\WIN2K\IMG\W2KWPRO.WBT
P6 A* a& N8 W( Z D:\EasyBoot\WIN2K\IMG\W2KWSRV.WBT) I+ [7 K( f0 e7 {0 g2 a- E# w
D:\EasyBoot\WIN2K\IMG\W2DASRV.WBT: w* z E$ H; z5 s; [6 }) m2 e
D:\EasyBoot\WIN2K\WPRO5 G: P' _! [2 N; ~2 H% l4 y
D:\EasyBoot\WIN2K\WSRV0 ^4 L: m$ I* Y* E8 X4 k- M; t) Z7 w: ?
D:\EasyBoot\WIN2K\ASRV( k& S/ P0 c! |
D:\EasyBoot\WIN2K\CDROM_IA.52 Q) m/ l+ b* j% |
D:\EasyBoot\WIN2K\CDROM_ID.5$ _8 @+ M# n, U% n3 W3 M: p
D:\EasyBoot\WIN2K\CDROM_IP.5
r1 p2 f/ J- ]$ m. E D:\EasyBoot\WIN2K\CDROM_IS.5
; b/ f0 I6 c4 u9 K! l8 i D:\EasyBoot\WIN2K\CDROM_NT.58 v4 p% j5 S& f3 e2 l$ W
D:\EasyBoot\WIN2K\CDROMSP3.TST: M+ v/ x8 k8 n2 v
D:\EasyBoot\WIN2K\BOOTFONT.BIN: s) c! W4 z S* o/ f+ Q- }6 D
D:\EasyBoot\WIN2K\SYSTEM\WIN2KWPRO2 b! l: N: x% v3 @
D:\EasyBoot\WIN2K\SYSTEM\WIN2KWSRV- i5 o- ^ {6 w y' i' n2 m+ r9 U
D:\EasyBoot\WIN2K\SYSTEM\WIN2KASRV
) G2 F( f2 F1 ~/ S$ A4 c D:\EasyBoot\WIN2K\WIN2000.BIN -> (我取名为 WIN2000.BIN,这个文件名任意取)* g. ~% \! M( x& ?
D:\EasyBoot\WIN2K\LOADER.BIN
. T# X7 @; `& t# j建好以上目录和文件放好后6 C) u& r! g1 Z! p( _8 c: I
②、复制文件& v" ~$ u3 ~/ X1 b: r9 f9 x
接着开始按放三个版的文件,其中,D:\EasyBoot\WIN2K\ 是Windows 2000 3合1光盘的根目录,
- Q! Y8 y7 @+ fD:\EasyBoot\WIN2K\SYSTEM\WIN2KWPRO 用于存放Windows 2000专业版文件。(光盘根目录下的全部文件)
& y7 z& _4 o8 QD:\EasyBoot\WIN2K\SYSTEM\WIN2KWSRV 用于存放Windows 2000服务器版文件,(光盘根目录下的全部文件)
) V% U k: D4 TD:\EasyBoot\WIN2K\SYSTEM\WIN2KASRV 用于存放Windows 2000高级服务器版文件,(光盘根目录下的全部文件)! s! h0 Z9 R- f; d( A) d
将 Windows 2000 专业版光盘上的文件全部复制到 D:\EasyBoot\WIN2K\SYSTEM\WIN2KWPRO 目录。6 Q. |8 V- X6 j* T% w, e+ E" ~& ?
将 Windows 2000 服务器版光盘上的文件全部复制到 D:\EasyBoot\WIN2K\SYSTEM\WIN2KWSRV 目录。
% h, f/ }: k: G" v将 Windows 2000 高级服务器版光盘上的文件全部复制到 D:\EasyBoot\WIN2K\SYSTEM\WIN2KASRV 目录。5 W5 e% d: j/ C% j$ Y+ c
必须确保复制了全部文件和子目录,包括具有系统和隐藏属性的。
- L% t. [4 k+ A+ p2 ?复制完毕后,清除 D:\EasyBoot\WIN2K\SYSTEM\下全部文件和子目录的系统、隐藏和只读属性。
& i/ `1 e# _% {, k9 n* w将 D:\EasyBoot\WIN2K\SYSTEM\WIN2KWPRO 目录下的 cdrom_ia.5 复制到 D:\EasyBoot\WIN2K\目录下,
/ c4 s5 B$ W& C将 D:\EasyBoot\WIN2K\SYSTEM\WIN2KWSRV 目录下的 cdrom_is.5 复制到 D:\EasyBoot\WIN2K\目录下,7 L" Q3 _2 J( t* Q9 H
将 D:\EasyBoot\WIN2K\SYSTEM\WIN2KASRV 目录下的 cdrom_ip.5 和 cdrom_nt.5 复制到 D:\EasyBoot\WIN2K\目录下,2 \" U: ]% J' k0 ?
③、集成 WINDOWS 2000 SP3
! I, R, ^& `- e- b) Z 这一步是把刚复制好的 WINDOWS 2000 三个版本进行集成为 WINDOWS 2000 SP3 ,首先到网上下载 WINSP3.EXE 升级文件,下载好后,用 WINRAR 解压到 D 盘下,然后打开 DOS 命令符,输入以下字符串:3 x5 }& Q. }5 ^: c4 {
D:\W2Ksp3\i386\update\update /s:\EASYBOOT\WIN2K\SYSTEM\WIN2KWPRO (这个集成专业版)
8 ~" H( f; P1 m3 e& vD:\W2Ksp3\i386\update\update /s:\EASYBOOT\WIN2K\SYSTEM\WIN2KWSRV (这个集成服务器版)
. p7 a3 s) b" n- S! @& ED:\W2Ksp3\i386\update\update /s:\EASYBOOT\WIN2K\SYSTEM\WIN2KASRV (这个集成高级服务器版)0 Q* l# W* P# U& q0 Z
要点:D:\EasyBoot\WIN2K\目录下面必须有cdrom_ia.5、cdrom_is.5、cdrom_ip.5和cdrom_nt.5文件,这是我们欺骗安装程序的标志,这张光盘是Windows 2000 的原始安装盘。还有 D:\EasyBoot\WIN2K\目录下面必须有cdromsp3.tst 文件,否则安装程序会要求我们插入 Service Pack 3 光盘,
% r- ^0 W( E/ J⑶、配置软盘组安装程序文件4 y4 C; Y6 Z& h& E7 h. t9 h4 x) S
D:\EasyBoot\WIN2K\WPRO0 v8 y6 U/ @* u) B& ?4 l
D:\EasyBoot\WIN2K\WSRV
5 ]# X7 K: K( v# O" i% t( ~D:\EasyBoot\WIN2K\ASRV
( g7 k3 y6 g8 k: v& F以上这三个目录是三个版本的软盘组目录:
2 }7 c! e! ^( [' X 注意要点:我把这三个版本取名为大家通用的“WPRO”、“WSRV”、“WPRO”的软盘组,而软盘组目录名称是固定在这三个版本的启动文件里(比如我取名为 W2KWPRO.WBT、W2KWSRV.WBT、 W2KASRV.WBT 这三个文件,而这三个文件里面只能改动的字符长度是4个字符长度。0 S7 K6 P3 j: z/ A) L
Windows 2000正版光盘上有个bootdisk子目录,里面包含4张Windows 2000安装软盘镜像的img文件。用WinImg将各个版本bootdisk目录下的4个img文件分别释放到各自的系统文件目录下:
) o1 E' n( K3 _" ~5 c将原版光盘根目录下的\bootdisk目录里的img文件全部释放到 D:\EasyBoot\WIN2K\WPRO\下。
$ g" D5 @9 M+ l# l4 {将原版光盘根目录下的\bootdisk目录里的img文件全部释放到 D:\EasyBoot\WIN2K\WSRV\下。
+ e! l. Y7 X% g" C. d! u f将原版光盘根目录下的\bootdisk目录里的img文件全部释放到 D:\EasyBoot\WIN2K\ASRV\下。
! C8 e8 |9 u: ^. s要点:这是我们模拟软盘安装的关键,一定要连带system32目录(里面有两个文件)一起释放。还有把三个版本里面都有一个 I386 目录,在 I386 里面都有一个文件你必须把它复制到相应的软盘组里面去(文件名是 TXTSETUP.SIF) ,把原来的覆盖。! b% c" P1 L3 R6 O8 t
⑷、取启动文件
6 l1 j* C/ v( z: ~8 [ 用 WinISO 制作 WIN2000 镜像文件 ISO ,然后打开刚做好的镜像文件,取出启动文件,保存为 XXX.WBT(那一个版本都行)。; h) D9 p" e9 y. q9 Q
⑸、修改文件9 ]! Q C) `% I7 w% o7 R5 a4 q
用 VC++(或其它软件)打开刚保存的 XXX.WBT 文件,找到这个字符串 SETUPLDR.BINBOOTFIX.BINI386 将其后面的 4 个字符(I386)修改为相应的 “WPRO”、“WSRV”、“ASRV”字符,分别把它保存为这三个启动文件 W2KWPRO.WBT、W2KWSRV.WBT、 W2KASRV.WBT ,这三个文件取名可以任意取。要存放在其他目录下,并相应修改目录结构。此外,还必须在后面的配置中进行相应修改。这三个文件修改好后,再找出软盘组里面的二个文件分别是setupldr.bin 和 txtsetup.sif,这二个文件修改如下:
+ g% B) X: i r& h& s用 VC++(或其它软件)二进制打开 D:\EasyBoot\WIN2K\WPRO\setupldr.bin,找到“I386”,把“i386”替换为“WPRO”,共3处;" K& F8 H5 H$ E; B7 W3 O( ^
用 VC++(或其它软件)二进制打开 D:\EasyBoot\WIN2K\WSRV\setupldr.bin,找到“I386”,把“i386”替换为“WSRV”,共3处;
! y7 o( [/ h0 ^: _# o: m5 }: |4 Z用 VC++(或其它软件)二进制打开 D:\EasyBoot\WIN2K\ASRV\setupldr.bin,找到“I386”,把“i386”替换为“ASRV”,共3处。( S5 c1 k9 V3 G) S: a
存盘退出。
. F# k( Y5 W3 K. `- q3 X8 v+ r: O用 VC++(或其它软件)打开 D:\EasyBoot\WIN2K\WPRO\txtsetup.sif,替换“SetupSourcePath = "\"”为“SetupSourcePath = "\SYSTEM\WIN2KWPRO\"”;
. O# U& M+ M( Q9 s! E9 M( }用 VC++(或其它软件)打开 D:\EasyBoot\WIN2K\WSRV\txtsetup.sif,替换“SetupSourcePath = "\"”为“SetupSourcePath = "\SYSTEM\WIN2KWSRV\"”;
" j( F( @$ X; Q, A! L2 V; `8 r; O用 VC++(或其它软件)打开 D:\EasyBoot\WIN2K\ASRV\txtsetup.sif,替换“SetupSourcePath = "\"”为“SetupSourcePath = "\SYSTEM\WIN2KASRV\"”。
2 t& w( n! P# j' q. t% E* y存盘退出。
: L1 V$ s: V) S. }要点:这两个文件中的路径告诉安装程序从何处复制文件,必须与目录结构相匹配。2 n- g( [( Z3 r" l( J: N; o. M# t1 K
⑹、跳过输入产品序列号' P) \) L% p- Y' B; U% Z4 q$ u
查找各个版本i386目录,找到文件setupp.ini,用记事本打开,将其中的“Pid=xxxxx000”修改为为“Pid=xxxxx270”,存盘退出。这一步不是必须的,只是图个方便。7 }" J" Q3 E! f0 N" g) ]' }, Q
⑺、 制作ISO文件$ h0 l6 d1 m, J/ r! p% i
配好和修改好以上文件与目录结构,就可以制作 ISO 镜像了,用 EasyBoot 制作是非常简单,只要点击“制作ISO”按扭,弹出一个对话框,在对话框里点优化光盘文件和其它设置,(优化光盘设置是必须点上的)然后点击“制作”,制作就开始了。; K/ {& b4 `. k5 Y. o
⑻、测试ISO文件
5 E$ w& n0 A; F4 J) e% I& g 用 VMware 加载 WIN2000.ISO 文件,设置第1启动设备为光驱。从光盘启动后,系统首先显示信息用 EasyBoot 制作好的菜单,按相应的键后,就可启动相应安装版本。此后的安装与原版光盘的安装一致。需要逐个安装,以测试各个版本的完整性。1 e1 L6 S+ g( l" C# |
⑼、烧录光盘& Y: w- ^1 I& H8 U: _4 S2 d8 o4 x
ISO镜像文件测试无误后,即可用自己熟悉的烧录软件软件(例如Nero)将其烧录到光盘。 这样,一张可启动的Windows 2000 3合1光盘就制作完成了。
r* q% }, @, D' R5 E& g+ |⑽、特色& m3 J6 ^; x% ?7 Z% ~+ \
优点:用 EasyBoot 制作出来的与流行的 Windows 2000/XP N 合 1 光盘相比,上述方法制作的光盘目录结构更简洁,没有一个多余的文件,用 EasyBoot 制作出漂亮的彩色菜单(当然diskem1x也不能,但 EasyBoot 制作能)。
" f. E3 d' ^; Z+ z8 F
7 y: h: W5 p; j2 z[ 本帖最后由 zxq111 于 2007-3-5 22:37 编辑 ] |
|