草根站长论坛's Archiver

k110wwi 发表于 2008-8-4 12:26

制作WinPE基本知识

1、WINPE.INI调用过程
au7v7?O&g WINPE.INI由PE系统的SYSTEM32\PECONFIG.INI指定:如:O8^{ i$w0C
进程延时=10k8R!Zyl0|*c
外部配置文件=外置程序\WinPE.INI
q-\,Cy!U!d ?/N4J@8u P b
2、编辑PE注册表
)VUR5Z)_~~ 运行regedit.exe,光标定位到HKEY_USERS或HKEY_LOCAL_MACHINE项,然后“文件-加载配置单元-选择注册表文件setupreg.hiv-随便起个名字如PE-修改-光标定位PE项-文件-卸载配制单元”。4Zn~nC1\E
O^8zWL }:?7]}
3、menu.lst中磁盘分区的表示方法
A#C4_/BeN4^2B J hdx,y ]D3bq8a
x代表磁盘数,从0开始
|,}'eW&R y代表分区数,从0开始,主分区用了0、1、2、3,所以逻辑分区是从4开始的
AU`'VG5M
7~,n Rjo,i2` 4、PELDR跨分区加载文件
o:o'_q(z'm"H JU /rdpath=multi(0)disk(0)rdisk(0)partition(2)\XPE.IMG
1qz mKz.IOY dHhse9T?:@
5、grubinst_gui的用法%G!R zb(bE
1、下载grubinst3@2pey7?`4c"nb
2、双击grubinst_gui.exe
;nF7U)G*V 3、在"磁盘"右面的列表中选择需要安装Grub4Dos的硬盘/软盘,如果你有多个磁盘(包括USB移动硬盘),请留意[]中显示的磁盘大小,以便选择正确的磁盘。
(w_ ^KwOC5N,m z5Sx 4、若需要安装到分区,可点击"分区列表"右面的"刷新"按钮,然后从下拉列表中选择需要的分区(支持FAT12/FAT16/FAT32/EXT2/EXT3)。若需要安装到MBR,这一步可省略。|*r"O(J&B1d F2q+^$T
5、若想以后能恢复原来的MBR/BS,则在"保存文件"中输入用于保存的文件名字。
a-U8@E$eD#F 6、点"安装",出现命令窗口,如果看到"The MBR/BS has been successfully installer", 则说明安装成功。` H&jm8Y\D
当然,以上步骤只是安装启动代码,要能正常启动Grub4Dos,还需要以下的步骤:
t?2}$U'Uz]v*{K 7、下载最新版的Grub4Dos。
*Z*Zi y?:zn,}wM 8、在压缩包中找到grldr,把它放到FAT16/FAT32分区的根目录中。*Z;U:u\4_Oy&w8N
9、编辑menu.lst文件(应该放在和GRLDR一样的目录里),以配置启动菜单。U$WtHA7s%xF:t*x)C
若没有FAT16/FAT32分区,则不能把Grub4Dos安装到MBR/BS,而只能利用NT的启动管理器启动Grub4Dos:
ecZa1PJ)C-Y` 1、下载Grub4Dos,把GRLDR解压到系统盘的根目录里(C:\);os L W1\,w
2、编辑C:\boot.ini(此文件是隐藏的),在文件的最后加上 C:\GRLDR="Load Grub4Dos"6N9fIS P/~
3、编辑C:\menu.lst文件,以配置启动菜单。
%XM)O;Z6Pn 4、下次启动Windows时,会增加"Load Grub4Dos"一项,选择它便能进入Grub4Dos O9y\Q"L i(\#c/a8Y
)Gm+W-h9fBsn
6、PE引导文件
O!}k4[8i Zt$C AVLDR.PE PELDR WINNT.SIF这三个文件是必须的,跟PE镜像一起放入C盘再改下boot.ini文件后重启就能看到你要的PE系统了,下面是它们的作用及需要修改的内容:
.d e.mEk_g ①AVLDR.PE是计算机启动时载入的文件,文件中有1条数据为PELDR的文件名。g@,[$fs%hp
②PELDR是PE启动载入程序,文件中有7条数据为PE的系统目录名,要根据PE镜像的不同而更改,如I386和WXPE,修改注意区分大小写;还有9条数据为WINNT.SIF的文件名。4c2Ia9]7Z9Ny
③WINNT.SIF是引导配置文件,可用记事本打开,内容如下: [?`"]A cn9S
[SetupData]
MjI?8jl BootDevice="ramdisk(0)"
Kc*{|P*M BootPath="\系统目录名\SYSTEM32\" ] bO0I/I|-La%C
OsLoadOptions="/minint /fastdetect /rdexportascd /rdpath=PE镜像文件名"9H,jSA1W7F6?6_
例如:'mq T O2m1E%ubPi
[SetupData]
3?9Hp!sCx BootDevice="ramdisk(0)"UOlB^} N*r
BootPath="\WXPE\SYSTEM32\"
9@si#RWNL%e^s-y OsLoadOptions="/minint /fastdetect /rdexportascd /rdpath=WinPE.IS_"H-D@;w${9nP*D8sk
④把这3个文件和PE镜像文件都拷到C盘后,记得在boot.ini文件最后一行加上如下内容:
1\ Pe-L:Tt C:\AVLDR.PE="启动菜单显示名称随便改"*P2OaR U JY(O
修改注意事项:这3个文件名都可随便更改,AVLDR.PE改名后到④里更新一下,PELDR改名后到①里更新,WINNT.SIF改名后到②里更新。
5D*{s^+k5Lg
9fs2myI's0M\z"x 7、改变X盘空间大小
7h(om2H.Je 提取pecmd.ini文件,将开头的:PLH值改大一点,再放回ISO文件中。
6zV%o0ml*s?8B 其中:
doXo1ET&q P ——表示占内存的百分比^mLZ;M)F!F"x?
L ——表示X盘的最小值We C:r7wYa
H ——表示X盘的最大值,单位Mb
q V _+c%J#s g1G+h
*t%M$]FO-Yk 8、NTBOOT的用法
2m }d3P0K/X&]gG nt52为写入2000、XP、2003等老的NT引导,启动后引导ntldr,格式为bootsect /nt52 X:(X为你要写入NT引导的在WINDOWS 下的盘符)(J.u)d\1D_`4b/Sl
nt60为写入VISTA引导,启动后引导bootmgr,格式为bootsect /nt60 X:(X为你要写入NT引导的在WINDOWS 下的盘符)oR9Ec0Tf+?[

K^4Lz1^/D1r m.Y R Ui?k
9、不设置bois也可以从cdrom启动电脑
J:U%g~;a P 把附件中的文件解压到启动分区的根目录如 C:\-Mj&Z.] @(@W-b%\
在BOOT.INI添加一行 c:\bootsect.cdr="从光驱启动 ~?8[ \!F%t\

SuA|LVL
"M N3ZXyDZ` 10、menu.lst中的菜单解释9WK Mc&l~5un Gg
title Boot From DOS Toolkit----定义菜单名称9mO|3d`N9wiZ t SE
#kernel (cd)/BOOT/GRUB/MEMDISK.GZ c=60 h=8 s=36 floppy----指定memdisk内核(现在基本上很少有人用了,所以已经将该命令注释掉,可以直接将该行删除)
1O[.Yc7H8D }V #initrd (cd)/BOOT/DOS98.IMG c=60 h=8 s=36 floppy---- (memdisk引导img镜像功能,对于大于2.88M的非标准镜像,必须指定CHS参数,这就是memdisk被藐视的原因,因为grub4dos自带的map --mem就不需要CHS参数,比较方便, 这一行也是被注释掉了的,无用)I1C.|t Y:U lT'Q1j1q^
map --mem (cd)/BOOT/DOS98.IMG (fd0) ---- (grub4dos自带的仿真功能,将dos98.img仿真成软盘0)
e_1M1ckf map (fd0) (fd1)---- (将软盘0仿真成软盘1, 这是为了当系统存在物理软驱,或者U盘以zip方式启动后, 可以访问物理软驱和U盘, 以盘符B:来访问)%g}:~ O9p'Y}
map --floppies=2---- (定义仿真磁盘数)J/uM6a0YQ
map --hook---- (使仿真生效)
u&K(Ef"ay8i'x chainloader (fd0)+1---- (从软驱0(其实是img仿真的,非物理软驱0)的第一扇区启动)
GQI1HQ~P)^ rootnoverify (fd0)---- (设置根为软驱0)(dEfH!nS
boot---- (启动系统)
#[]zSU'QW3g 启动基于DOS的镜像都是上面的步骤;g.WrEC9za.U,y!{
因为IMG是软盘镜像,所以仿真成FD0fJpNNC$z B5[N
如果是基于硬盘的镜像,像mini win98的imgJ6f,J2F1i3Di
则需要将其仿真成HD03O8KnP0cct?D

)}3Yfl.F&s8wJ]G;c7i 11、PE中加载微软五笔输入法:P r7F(V4`u:`.NX0i

!c;DhK0zepwmN 如何把输入法添加进去PE呢?以微软五笔86为例,仔细分析了一下,它共需要winwb86.IME、winwb86.MB和输入法指示器internat.exe(借用2000的),把这些文件放到system32里面,然后把五笔的注册表信息加进去,最后启动internat.exe,为此编写了一个批处理来完成(这里先假设3个文件已经手工加进去了)。0gP i{?%?/o%f
reg add HKLM\SYSTEM\ControlSet001\Control\Keyboard Layouts\E0100804[P,y,J u D
reg add HKLM\SYSTEM\ControlSet001\Control\Keyboard Layouts\E0100804 /v IME file /t REG_SZ /d winwb86.ime ];|(Z0d j+q C+m
reg add HKLM\SYSTEM\ControlSet001\Control\Keyboard Layouts\E0100804 /v Layout file /t REG_SZ /d kbdus.dll
WFqtW:O/K3i` reg add HKLM\SYSTEM\ControlSet001\Control\Keyboard Layouts\E0100804 /v Layout Text /t REG_SZ /d 王码五笔型输入法86版
9A:E_ |HsE %systemroot%\system32\internat.exe4| N};R7GUG5`QR5xL
O"mf4w:~ AM R@)@ B+o
12、grub4dos引导PE的过程!E'S K)A)P_V2Xv{
PgY2pHUZa
grub4dos>setupldr.bin>ntdetect.com
.T3yh*l\s(h >winnt.sif>winpe.is_
j&T4m:` ^3J | setupldr.bin中定义了ntdetect.com和winnt.sif的位置、名称等。例如毛桃的ntdetect.com位置被定义为/ntdetect.com;/wxpe/ntdetect.com,在定义的位置中,任意一个位置能找到ntdetect.com就可以正常执行。所以,如果直接使用maotao的setupldr.bin,可以把NTDETECT.COM放在根目录,也可以放在wxpe目录,当然,如果你想放在别的位置,自己改一下就可以。同样,winnt.sif也是可以改位置和路径的,毛桃的被改成了WINNT.XPE,位置仍然是磁盘根目录,注意如果要改到别的目录,目录名不要太长,目录+文件名总共字符长度和winnt.sif所占字符长度正好相等即可。例如WINNT.SIF改成WINNT.XPE或者改成BOOT\PE.X,都可以。然后,winnt.sif中定义了RAMDISK的启动方式, 也定义了映象的路径,例如:$f/e CH1B"D jb
/rdpath=WINPE.IS_
&wEst hnyt 或者是Xf;S%E/ZN,Ua
/rdpath=BOOT\WINPE.IS_
B*_-],py1p4|u;NT 所以SETUPLDR.BIN的位置和名称是灵活的,可以随便放置、随便改名。只要grub4dos的配置菜单中chainloader语句指定了这个位置即可。
T lG;W"VqRC+IOP 例如:chainloader (hd0,4)/boot/ldr/peldr
`[.zN_'[L,N 其中:peldr就是由setupldr.bin改名而来ca]K~8B4a"}
放置在第一个逻辑分区的boot\ldr文件夹下
WXxfm 其他几个文件的路径和名称都互相引用8A%n.y.\G)V
NTDETECT.COM的名称和路径受setupldr.bin控制
DnVn_4@[&d WINNT.SIF的名称和路径受setupldr.bin控制
Pt7]rG V winpe.is_的名称和路径受winnt.sif控制
&S \W;\4G G:NH ;x n {f%n6U9@;e
13、WIM外置程序调用过程
2} VY0xJvFD[${ 主要是在这个WIM外置文件的相同目录中放一个INI文件,内部的PECMD.INI文件通过以下命令来加载这个INI文件:
iz%Nje:_ YvIx Load \WIM外置程序\OP.INIU!A4{1F9U@MD2h
再在OP.INI文件中通过MOUN命令来挂上WIM:
Dk0L^Rm MOUN %CurDrv%\WIM外置程序\PROGRAMS.WIM,%ProgramFiles%,1
"a(e.A\*d5_,aV
V:WW s AoO1V3mZ au 14、GRUB怎样做到从光盘启动
hybX5p.QR1n_T 1. 把“ISOGRUB.BIN”文件放到光盘的“EZBOOT”目录中。
E4]NO8eRx:Y&m 2. 把“STAGE2”这个文件放到光盘的根目录。
NS.{]M~A 3. 然后将Grub程序文件、IMG文件和ZIP文件按目录放到光盘中。!Y.R"D2C\qm?
4. 然后用“EZBOOT”调用“ISOGRUB.BIN”启动就可以。
-NYrI:Y5b
1as6qqUW!c0E
Ew u%g s?"k P 15、EZBOOT怎么调用GRUBy8wbxM)j`S
在“菜单条”标签的执行命令栏中输入:bcdw 绝对路径\GRLDR,l?*wu+TI7w
RI.Are)n&]#wd%[
16、编辑WINPE.IS_文件Kf6uZl/M5I.l"G.Z
把WINPE.IS_解压成WINPE.ISO文件,用ultraiso虚拟光驱加载并添加东西后,再用mkmaxcab文件把它压缩成cab文件,最后改名为IS_文件。I7w+d)Gc;G'Y q
&_7l,mb_(Sj&B Uf
17、OP.WIM修改方法z5n"?G5d3np~ e7g
一、用WIMTOOL解开OP.WIM到一个目录如d:\wim,修改文件到完成,用WIMTOOL打包d:\wim为OP.WIM文件。
8QD }oR-l9J 二、改OP.WIM文件属性为可写,用WIMTOOL或WIMNT可写挂载,修改文件到完成,卸载OP.WIM文件,提示是否写入时,选择“是”(这种修改OP.WIM,文件大小只增不减)。T Jj'X$x/RuV
三、改OP.WIM文件属性为可写,用WIMTOOL或WIMNT可写挂载,修改文件到完成,把挂载的目录用WIMTOOL或 WIMNT打包为OP.WIM文件。
!n+s+S QZ*^!d
a$F.hEUS 18、PE的硬盘引导文件
'S`T%VYx.hi,Ms AVLDR.PE PELDR WINNT.SIF
$[ m$np O/N1vQR"T 这三个文件是必须的,跟PE镜像文件一起复制到C盘再改boot.ini文件后重启就能看到你要的PE系统
s7EF/dU? 下面是它们的作用:
D)T&T%q.wKwH ①AVLDR.PE是计算机启动时载入的文件,文件中有1条数据为PELDR的文件名。
)ia&_&Q5vmgx ②PELDR是PE启动载入程序,文件中有7条数据为PE的系统目录名,要根据PE镜像的不同而更改,如I386 WXPE,修改注意区分大小写;还有9条数据为WINNT.SIF的文件名。
2q0_-^eiCV{f H ③WINNT.SIF是引导配置文件,可用记事本打开,内容如下:
+U(f oYZm%z [SetupData]0j$c:X9EhZW
BootDevice="ramdisk(0)"
^ mq0FR BootPath="\WXPE\SYSTEM32\"0bn,[1?k9gAl
OsLoadOptions="/minint /fastdetect /rdexportascd /rdpath=WinPE.IS_"a{V8H D mm1X9Q u({3`
④把这3个文件和PE镜像文件都拷到C盘后,记得在boot.ini文件最后一行加上如下内容:
JU'{3Z vy C:\AVLDR.PE="WinPE"
l4YOvK7@j"Iaz}
7t#s-J7Qk D0K9Z![A 19、修改boot.ini产生彩色的启动菜单pc9F-O_J Y

9CUx(gH C盘根目录下的boot.ini(隐藏文件)可以使用ANSI控制码来控制启动菜单显示出彩色。您可以根据以下短短的代码来为自己设计一个彩色的Windows启动菜单。这也有助于让您理解ANSI控制码及其转义,当然彩色的菜单也非常具有个性。`(~M d!x&ja
  C盘根目录下的boot.ini(隐藏文件)可以使用ansi控制码来控制启动菜单显示出彩色,例如下面的boot.ini:Hm9jab"|(m-s X D
  CODE:  --------------------------------------------------------------------------------6\ I E$az"H5LcM N
timeout=30IR8A*X;NKI
  default=multi(0)disk(0)rdisk(0)partition(3)\WINDOWS
A/xu:kR+T)`&`'r/a   [operating systems]
c9~;t:N8M   multi(0)disk(0)rdisk(0)partition(2)\WINDOWS=" [1;32mMicrosoft [1;34mWindows [1;33mXP
o)\+D%]4e Professional" /NOEXECUTE=OPTIN /FASTDETECT#eG2Kg/P5W O^ {
  c:\Avldrxp.bin=" [1;36mAvlgo - PELDR" /noguiboot R}%ZADZaq\b
  multi(0)disk(0)rdisk(0)partition(3)\WINDOWS=" [1;31mMicrosoft [1;33mWindmows [1;35mSermver 2003" /noexecute=optout /fastdetect;o:b1O4]kr/R.m
  c:\1.bin=" [1;37mMS-DOS"}2Nm(C0yR1Z
  --------------------------------------------------------------------------------:@7e-J)m U:qY%GF
ansi控制码:S5AH&BRs
  箭头+“ [”声明了转义序列的开始
Y Xav|dr}%Gm   后面的 “1 ”定义了默认的字体宽度。对于文本属性来说,这些值是有意义的:0、1、22、4、24、5、25、7、27,分别表示:默认值、粗体、非粗体、下划线、非下划线、闪烁、非闪烁、 反显、非反显。
D/cw0y&G E~   30m —— 37m 设置前景色Bi*[f|V.L
  40m —— 47m 设置背景色)Z1T0Yz6E
  可选颜色:红色、绿色、黄色、蓝色、洋红、青色和白色。
"S&b-~Pi%g:| r   他们对应的颜色代码是:
9eu`"yR^   30(黑色)、31(红色)、32(绿色)、 33(黄色)、34(蓝色)、35(洋红)、36(青色)、37(白色)。;F/`m ]9EYi
  用同样色方法设置背景色,不过要把第一个数字“3”替换成“4”,
2z/pft0Rs8dQ}XQ|   40(黑色)、41(红色)、42(绿色)、 43(黄色)、44(蓝色)、45(洋红)、46(青色)、47(白色)。
/Ghgx+f:zZ o+\OT 8AE'C.pBz w
20、取消软驱检测
:a"y*b ^ m({4^ +D OCHK
打开TXTSETUP.SIF文件, 将Txtsetup.sif中HardwareIdsDatabase段里的以下这行删除:5J#z)I.AI3LJ
*PNP0700 = "fdc4u,r m9Oj

b*\*sC oc,U8tvl 21、WIM文件动态加载
Y5n'D}.H d!Xenrx$i)z
实现这个目需要 Imagex.exe 和 SUBST.exe,将以下三行命令保存到一个批处理文件中:
Ta+{)M `#yvZ v M(@ md %TEMP%\PEIMG>nul 2>nul //创建一个临时空白目录作为加载点目标目录
y7~ U5{ \P3wk imagex.exe /mount PEIMG.WIM 1 %TEMP%\PEIMG //PEIMG.WIM 是你要加载的 WIM 映像名称,根据具体情况修改
9ZS2V _Kp]t!jw subst B: %TEMP%\PEIMG //将上述临时目录虚拟为 B:
-S%u#^*Q/s6c 注意:上述步骤的第二、三行绝对不能反过来!如果先虚拟盘符,然后再将 WIM 挂载到这个 B:,你会发现死得很难看——居然连 C: 都变成了这个虚拟目录了,此时除非重启别无它法&B A%TU D?H!{ O
[size=7][color=red]中国数据 客服8093 qq 356054959[/color][/size]

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.