|
发表于 2007-3-5 22:35:57
|
显示全部楼层
来自: 中国江西南昌
回楼上:教程贴给你。8 @# J P) [( \, U1 I6 i
一、Windows 2000/XP多重启动光盘的启动原理6 w8 a0 J, }- O
Windows 2000/XP各版本的原始安装光盘是单重启动,其引导文件中固化了光盘根目录下的i386目录(这一点给制作多重启动的 N 合 1 光盘带来了最大的障碍),该目录中不仅存放了Windows 2000/XP的系统文件,而且还存放了安装所需的安装文件和驱动程序。其引导过程如下:
# w ~+ C8 I0 ~& e先加载光盘引导文件(引导文件比如是 WIN2000.WBT),加载过程: WIN2000.WBT->setupldr.bin->ntdetect.com->再加载驱动程序->读txtsetup.sif->开始光盘安装' l ]' p0 D0 ?. W! {" ?. G4 l: f ?: i
上述多个步骤中都涉及了光盘根目录下的i386目录,而我们将制作的 N 合 1 光盘是多重启动的,每个版本都包含一个i386子目录,它与单重启动光盘的目录结构不同(在光盘根目录与i386目录之间多了1层版本目录),因此不能简单地照搬单重启动的引导过程。所幸前辈高手们早就碰到了这个难题,而且也非常巧妙地解决了,那就是使用Windows 2000/XP的安装软盘组:用软盘启动计算机,依次加载所需驱动程序及必要的系统文件,从而避开安装时到光盘根目录下的i386目录加载安装文件和驱动程序,然后安装程序再从Windows 2000/XP安装光盘中安装复制其余的文件,继续安装。我们所要模拟的就是这一过程。改造后的 N 合 1 光盘引导过程如下:& v1 i4 N a4 m1 d
光盘引导->选择版本模块->模拟软盘启动->setupldr.bin->ntdetect.com->再加载驱动程序->读txtsetup.sif->开始光盘安装。
: q5 a9 w Y1 p! @7 i1 a) v 并将上述多个步骤中都涉及到的光盘根目录下的 i386 目录,现在要把它放在双层目录下,光盘根目录中将存放安装软盘组。: K3 X: {& o ~7 [3 i, U
二、Windows 2000 3 合 1 启动光盘的制作
5 M6 e; O9 _8 E" n( C' B⑴、所需工具* p" H& B! R. f/ |) Z
①、 EasyBoot V3.2 光盘制作软件,下载地址:http://www.ultraiso.com/easyboot/cn/index.html. I: I/ l# t h5 R
②、制作 Windows 2000 安装软盘组的img文件。可替换方法是制作4张安装软盘,然后将4张软盘上的全部文件复制到硬盘相应目录下。1 V B9 h' I: a# D% b+ V
制作软盘组软件,下载地址:http://www.winimage.com/winimage/winima60.zip
/ Q- V" V9 P! j6 p9 t③、能打开二进制的软件 Microsoft Visual C++,精简版,下载地址:http://www.yy-china.net/htm/hhgj.htm
3 l8 q! a1 { m# J* q& A/ v( B3 `3 W④、Windows 2000 安装软盘组
/ f% ~& R) ~7 q1 d* e3 `* X 必须用软盘引导机器,加载必要的系统文件及基本驱动程序,然后从光盘继续安装。! I G5 J( T b0 s
Windows 2000 安装软盘组在正版光盘的 bootdisk 目录下,三个版本的安装软盘是不同的,不能混用。5 D3 d ?: Z$ l
⑤、虚拟电脑软件 VMware(或Virtual PC)和刻录软件 Nero
. \* d+ O( ] h q! m8 W: [ 可选,用来测试制作完成的3合1镜像文件并烧录光盘。7 m* t0 E" e' u6 V; ~5 m4 {6 Y! w
⑥、WinISO 这个软件用来编辑镜像和取出启动文件(XXX.WBT)
" {! |/ f. Q9 m2 |# x! u T⑵、 目录及文件结构
7 `. D7 Z u/ I+ i& n2 s 保证硬盘上有足够的空间(假设将文件存放在默认的 EasyBoot 文件夹下 D:\EasyBoot\WIN2K,全部三个版本的原始文件约占用空间为1.24 GB,生成的镜像文件约为520 MB 左右),建立的目录结构如下:. Q0 `( j- Z. t# M) `
①、建立目录结构及文件位置5 m9 o; m4 G/ e6 G2 E, X
D:\EasyBoot\WIN2K4 X( P6 a: J; f/ @0 T
D:\EasyBoot\WIN2K\IMG7 k& \' H u$ o I
D:\EasyBoot\WIN2K\IMG\W2KWPRO.WBT5 q: X+ F. u6 }! @ B9 k
D:\EasyBoot\WIN2K\IMG\W2KWSRV.WBT( W) q) i9 D" z' T7 ?6 C5 J: d3 f
D:\EasyBoot\WIN2K\IMG\W2DASRV.WBT
& k% B C9 P8 A+ p D:\EasyBoot\WIN2K\WPRO
8 ^; K& A: A% D# F& c6 M" g D:\EasyBoot\WIN2K\WSRV
( K! j: ?) Z% l- ?" @; O" @5 d D:\EasyBoot\WIN2K\ASRV: t& f* S, O; G" \' @
D:\EasyBoot\WIN2K\CDROM_IA.5
+ @3 x; P9 }1 } D:\EasyBoot\WIN2K\CDROM_ID.5+ j r$ T# `' T9 O9 u
D:\EasyBoot\WIN2K\CDROM_IP.5
0 @7 \ l, c2 X4 o: O- s% y! f D:\EasyBoot\WIN2K\CDROM_IS.54 ~' u$ h( T+ q2 [2 G7 t8 c
D:\EasyBoot\WIN2K\CDROM_NT.5
8 H( o: o! ~9 N: u4 A# O D:\EasyBoot\WIN2K\CDROMSP3.TST8 M* `7 q, {4 B# Y" O
D:\EasyBoot\WIN2K\BOOTFONT.BIN6 I0 [) R3 n$ W! p
D:\EasyBoot\WIN2K\SYSTEM\WIN2KWPRO
( t' W0 @+ `# n) Z) X D:\EasyBoot\WIN2K\SYSTEM\WIN2KWSRV8 R9 J+ X& \" C9 N+ M; C
D:\EasyBoot\WIN2K\SYSTEM\WIN2KASRV# \3 [7 s' w' n8 O1 \8 i2 l5 L
D:\EasyBoot\WIN2K\WIN2000.BIN -> (我取名为 WIN2000.BIN,这个文件名任意取)
( A* G9 f6 ?2 M& w6 ^7 ?" b D:\EasyBoot\WIN2K\LOADER.BIN
' `. k3 d1 l' s# \9 @# W建好以上目录和文件放好后+ |6 Q9 }; K; d7 w7 }. E( f
②、复制文件4 Q! ~ ]" P9 a- M8 j% }
接着开始按放三个版的文件,其中,D:\EasyBoot\WIN2K\ 是Windows 2000 3合1光盘的根目录,
" e. w" K/ P+ z+ s. U% QD:\EasyBoot\WIN2K\SYSTEM\WIN2KWPRO 用于存放Windows 2000专业版文件。(光盘根目录下的全部文件), D' s1 Y7 X9 d7 s4 [+ q; @$ i
D:\EasyBoot\WIN2K\SYSTEM\WIN2KWSRV 用于存放Windows 2000服务器版文件,(光盘根目录下的全部文件)9 r8 D+ j9 i8 R2 l/ n8 u
D:\EasyBoot\WIN2K\SYSTEM\WIN2KASRV 用于存放Windows 2000高级服务器版文件,(光盘根目录下的全部文件)1 E: W* h0 i; X1 q* E1 E1 j# o
将 Windows 2000 专业版光盘上的文件全部复制到 D:\EasyBoot\WIN2K\SYSTEM\WIN2KWPRO 目录。
9 L; ~% K* j( F1 q C将 Windows 2000 服务器版光盘上的文件全部复制到 D:\EasyBoot\WIN2K\SYSTEM\WIN2KWSRV 目录。: w9 e5 J6 q7 Z- u. Z+ d6 F: [
将 Windows 2000 高级服务器版光盘上的文件全部复制到 D:\EasyBoot\WIN2K\SYSTEM\WIN2KASRV 目录。0 X# y" S" A) l9 C
必须确保复制了全部文件和子目录,包括具有系统和隐藏属性的。 m6 S1 j! T# C6 V3 O% k" E! n% e% U9 i5 B
复制完毕后,清除 D:\EasyBoot\WIN2K\SYSTEM\下全部文件和子目录的系统、隐藏和只读属性。6 o( ?: f6 A5 e$ L" j9 I
将 D:\EasyBoot\WIN2K\SYSTEM\WIN2KWPRO 目录下的 cdrom_ia.5 复制到 D:\EasyBoot\WIN2K\目录下,+ J9 n. t/ o+ i5 a4 Z3 {* ?7 G
将 D:\EasyBoot\WIN2K\SYSTEM\WIN2KWSRV 目录下的 cdrom_is.5 复制到 D:\EasyBoot\WIN2K\目录下,
% Z* w! N8 G3 s9 V; e4 r. J+ G将 D:\EasyBoot\WIN2K\SYSTEM\WIN2KASRV 目录下的 cdrom_ip.5 和 cdrom_nt.5 复制到 D:\EasyBoot\WIN2K\目录下,
- P/ y* D( P8 V9 M" M( M: Q: _③、集成 WINDOWS 2000 SP3
2 O3 [$ X- c: @; W 这一步是把刚复制好的 WINDOWS 2000 三个版本进行集成为 WINDOWS 2000 SP3 ,首先到网上下载 WINSP3.EXE 升级文件,下载好后,用 WINRAR 解压到 D 盘下,然后打开 DOS 命令符,输入以下字符串:
7 a9 {$ h. b) f- p6 UD:\W2Ksp3\i386\update\update /s:\EASYBOOT\WIN2K\SYSTEM\WIN2KWPRO (这个集成专业版)
: @( G# f- ^) x! f. oD:\W2Ksp3\i386\update\update /s:\EASYBOOT\WIN2K\SYSTEM\WIN2KWSRV (这个集成服务器版)
' O; X. a8 l0 }7 _: b) v% {, sD:\W2Ksp3\i386\update\update /s:\EASYBOOT\WIN2K\SYSTEM\WIN2KASRV (这个集成高级服务器版)2 c8 i+ ]9 x/ q! B
要点: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 光盘,! q- b! J2 ]2 S
⑶、配置软盘组安装程序文件; \; c0 Z, t7 v5 v) f( \: Q) v. S# q& W
D:\EasyBoot\WIN2K\WPRO
% }" ~! J* `) W% U" {D:\EasyBoot\WIN2K\WSRV; i4 n7 O( d- C8 j) r0 y, n4 F8 Y
D:\EasyBoot\WIN2K\ASRV
! |; Q9 A, n2 _! D% k以上这三个目录是三个版本的软盘组目录:; ?% ~, b5 y- u6 T- {# d
注意要点:我把这三个版本取名为大家通用的“WPRO”、“WSRV”、“WPRO”的软盘组,而软盘组目录名称是固定在这三个版本的启动文件里(比如我取名为 W2KWPRO.WBT、W2KWSRV.WBT、 W2KASRV.WBT 这三个文件,而这三个文件里面只能改动的字符长度是4个字符长度。; s$ D. d8 o U% @2 _ ]
Windows 2000正版光盘上有个bootdisk子目录,里面包含4张Windows 2000安装软盘镜像的img文件。用WinImg将各个版本bootdisk目录下的4个img文件分别释放到各自的系统文件目录下:
; c% S& c- i/ V$ D将原版光盘根目录下的\bootdisk目录里的img文件全部释放到 D:\EasyBoot\WIN2K\WPRO\下。
. F5 e9 W5 P4 ]2 N7 s' ^将原版光盘根目录下的\bootdisk目录里的img文件全部释放到 D:\EasyBoot\WIN2K\WSRV\下。
/ b2 I8 b0 z: T. u, J. R# P1 i将原版光盘根目录下的\bootdisk目录里的img文件全部释放到 D:\EasyBoot\WIN2K\ASRV\下。* k9 y9 U1 x* h) D( I- l$ q; w. A
要点:这是我们模拟软盘安装的关键,一定要连带system32目录(里面有两个文件)一起释放。还有把三个版本里面都有一个 I386 目录,在 I386 里面都有一个文件你必须把它复制到相应的软盘组里面去(文件名是 TXTSETUP.SIF) ,把原来的覆盖。
* j4 [1 n( D) ?. A4 D( s⑷、取启动文件; D: E1 Z( n4 h( Z5 c
用 WinISO 制作 WIN2000 镜像文件 ISO ,然后打开刚做好的镜像文件,取出启动文件,保存为 XXX.WBT(那一个版本都行)。& c; o3 Q* V" D2 B/ N/ t# ?* W3 Z
⑸、修改文件3 S: j1 ^& W% v; P2 \
用 VC++(或其它软件)打开刚保存的 XXX.WBT 文件,找到这个字符串 SETUPLDR.BINBOOTFIX.BINI386 将其后面的 4 个字符(I386)修改为相应的 “WPRO”、“WSRV”、“ASRV”字符,分别把它保存为这三个启动文件 W2KWPRO.WBT、W2KWSRV.WBT、 W2KASRV.WBT ,这三个文件取名可以任意取。要存放在其他目录下,并相应修改目录结构。此外,还必须在后面的配置中进行相应修改。这三个文件修改好后,再找出软盘组里面的二个文件分别是setupldr.bin 和 txtsetup.sif,这二个文件修改如下:
+ R! ]: K# a& a2 p# l用 VC++(或其它软件)二进制打开 D:\EasyBoot\WIN2K\WPRO\setupldr.bin,找到“I386”,把“i386”替换为“WPRO”,共3处;3 y) q$ L% I0 g: c! P
用 VC++(或其它软件)二进制打开 D:\EasyBoot\WIN2K\WSRV\setupldr.bin,找到“I386”,把“i386”替换为“WSRV”,共3处;. O) S. Z5 n5 q
用 VC++(或其它软件)二进制打开 D:\EasyBoot\WIN2K\ASRV\setupldr.bin,找到“I386”,把“i386”替换为“ASRV”,共3处。4 U" i% \" N2 X1 \9 H0 e1 G# d
存盘退出。
5 G* Z& s* l2 M" i4 j. j I1 L用 VC++(或其它软件)打开 D:\EasyBoot\WIN2K\WPRO\txtsetup.sif,替换“SetupSourcePath = "\"”为“SetupSourcePath = "\SYSTEM\WIN2KWPRO\"”;' h- }. n& z( z5 `1 r6 ~: z
用 VC++(或其它软件)打开 D:\EasyBoot\WIN2K\WSRV\txtsetup.sif,替换“SetupSourcePath = "\"”为“SetupSourcePath = "\SYSTEM\WIN2KWSRV\"”;
2 z2 s8 d+ S4 d) _+ \5 }8 q: g用 VC++(或其它软件)打开 D:\EasyBoot\WIN2K\ASRV\txtsetup.sif,替换“SetupSourcePath = "\"”为“SetupSourcePath = "\SYSTEM\WIN2KASRV\"”。
5 u' r @, b* [: A存盘退出。
! ?4 {. ?; V4 K' M! Q( U- d4 \* q要点:这两个文件中的路径告诉安装程序从何处复制文件,必须与目录结构相匹配。
3 @7 g/ q! X& Q+ b1 N! J4 Q⑹、跳过输入产品序列号& O/ m3 P- T) S/ S& R
查找各个版本i386目录,找到文件setupp.ini,用记事本打开,将其中的“Pid=xxxxx000”修改为为“Pid=xxxxx270”,存盘退出。这一步不是必须的,只是图个方便。
1 t8 W0 o. b! I; ?& N0 }⑺、 制作ISO文件
2 c l. P. ~! H# w7 ~, m 配好和修改好以上文件与目录结构,就可以制作 ISO 镜像了,用 EasyBoot 制作是非常简单,只要点击“制作ISO”按扭,弹出一个对话框,在对话框里点优化光盘文件和其它设置,(优化光盘设置是必须点上的)然后点击“制作”,制作就开始了。
4 e, \% F" f6 h7 T, u$ }* U⑻、测试ISO文件. `0 X' l% d: @- P2 N- N1 ^
用 VMware 加载 WIN2000.ISO 文件,设置第1启动设备为光驱。从光盘启动后,系统首先显示信息用 EasyBoot 制作好的菜单,按相应的键后,就可启动相应安装版本。此后的安装与原版光盘的安装一致。需要逐个安装,以测试各个版本的完整性。
& ?! }3 @& A7 L9 T2 ~0 e. V/ P2 j⑼、烧录光盘
: v, l/ H8 K+ S5 w Q: i$ T5 q: d2 AISO镜像文件测试无误后,即可用自己熟悉的烧录软件软件(例如Nero)将其烧录到光盘。 这样,一张可启动的Windows 2000 3合1光盘就制作完成了。3 b, ]7 ?" A* ^& g% l
⑽、特色: x6 N* E/ u$ s C6 C- _
优点:用 EasyBoot 制作出来的与流行的 Windows 2000/XP N 合 1 光盘相比,上述方法制作的光盘目录结构更简洁,没有一个多余的文件,用 EasyBoot 制作出漂亮的彩色菜单(当然diskem1x也不能,但 EasyBoot 制作能)。
( o. V- ^+ S6 w: H- G: Y6 w! u* e5 \* ~: c. P+ j
[ 本帖最后由 zxq111 于 2007-3-5 22:37 编辑 ] |
|