资源描述
制作WinPE基本知识
1、WINPE.INI调用过程
WINPE.INI由PE系统的SYSTEM32\PECONFIG.INI指定:如:
进程延时=10
外部配置文件=外置程序\WinPE.INI
2、编辑PE注册表
运行regedit.exe,光标定位到HKEY_USERS或HKEY_LOCAL_MACHINE项,然后“文件-加载配置单元-选择注册表文件setupreg.hiv-随便起个名字如PE-修改-光标定位PE项-文件-卸载配制单元”。
3、menu.lst中磁盘分区的表示方法
hdx,y
x代表磁盘数,从0开始
y代表分区数,从0开始,主分区用了0、1、2、3,所以逻辑分区是从4开始的
4、PELDR跨分区加载文件
/rdpath=multi(0)disk(0)rdisk(0)partition(2)\XPE.IMG
5、grubinst_gui的用法
1、下载grubinst
2、双击grubinst_gui.exe
3、在"磁盘"右面的列表中选择需要安装Grub4Dos的硬盘/软盘,如果你有多个磁盘(包括USB移动硬盘),请留意[]中显示的磁盘大小,以便选择正确的磁盘。
4、若需要安装到分区,可点击"分区列表"右面的"刷新"按钮,然后从下拉列表中选择需要的分区(支持FAT12/FAT16/FAT32/EXT2/EXT3)。若需要安装到MBR,这一步可省略。
5、若想以后能恢复原来的MBR/BS,则在"保存文件"中输入用于保存的文件名字。
6、点"安装",出现命令窗口,如果看到"The MBR/BS has been successfully installer", 则说明安装成功。
当然,以上步骤只是安装启动代码,要能正常启动Grub4Dos,还需要以下的步骤:
7、下载最新版的Grub4Dos。
8、在压缩包中找到grldr,把它放到FAT16/FAT32分区的根目录中。
9、编辑menu.lst文件(应该放在和GRLDR一样的目录里),以配置启动菜单。
若没有FAT16/FAT32分区,则不能把Grub4Dos安装到MBR/BS,而只能利用NT的启动管理器启动Grub4Dos:
1、下载Grub4Dos,把GRLDR解压到系统盘的根目录里(C:\)
2、编辑C:\boot.ini(此文件是隐藏的),在文件的最后加上 C:\GRLDR="Load Grub4Dos"
3、编辑C:\menu.lst文件,以配置启动菜单。
4、下次启动Windows时,会增加"Load Grub4Dos"一项,选择它便能进入Grub4Dos
6、PE引导文件
AVLDR.PE PELDR WINNT.SIF这三个文件是必须的,跟PE镜像一起放入C盘再改下boot.ini文件后重启就能看到你要的PE系统了,下面是它们的作用及需要修改的内容:
①AVLDR.PE是计算机启动时载入的文件,文件中有1条数据为PELDR的文件名。
②PELDR是PE启动载入程序,文件中有7条数据为PE的系统目录名,要根据PE镜像的不同而更改,如I386和WXPE,修改注意区分大小写;还有9条数据为WINNT.SIF的文件名。
③WINNT.SIF是引导配置文件,可用记事本打开,内容如下:
[SetupData]
BootDevice="ramdisk(0)"
BootPath="\系统目录名\SYSTEM32\"
OsLoadOptions="/minint /fastdetect /rdexportascd /rdpath=PE镜像文件名"
例如:
[SetupData]
BootDevice="ramdisk(0)"
BootPath="\WXPE\SYSTEM32\"
OsLoadOptions="/minint /fastdetect /rdexportascd /rdpath=WinPE.IS_"
④把这3个文件和PE镜像文件都拷到C盘后,记得在boot.ini文件最后一行加上如下内容:
C:\AVLDR.PE="启动菜单显示名称随便改"
修改注意事项:这3个文件名都可随便更改,AVLDR.PE改名后到④里更新一下,PELDR改名后到①里更新,WINNT.SIF改名后到②里更新。
7、改变X盘空间大小
提取pecmd.ini文件,将开头的:PLH值改大一点,再放回ISO文件中。
其中:
P ——表示占内存的百分比
L ——表示X盘的最小值
H ——表示X盘的最大值,单位Mb
8、NTBOOT的用法
nt52为写入2000、XP、2003等老的NT引导,启动后引导ntldr,格式为bootsect /nt52 X:(X为你要写入NT引导的在WINDOWS 下的盘符)
nt60为写入VISTA引导,启动后引导bootmgr,格式为bootsect /nt60 X:(X为你要写入NT引导的在WINDOWS 下的盘符)
9、不设置bois也可以从cdrom启动电脑
把附件中的文件解压到启动分区的根目录 如 C:\
在BOOT.INI添加一行 c:\bootsect.cdr="从光驱启动
10、menu.lst中的菜单解释
title Boot From DOS Toolkit----定义菜单名称
#kernel (cd)/BOOT/GRUB/MEMDISK.GZ c=60 h=8 s=36 floppy----指定memdisk内核(现在基本上很少有人用了,所以已经将该命令注释掉,可以直接将该行删除)
#initrd (cd)/BOOT/DOS98.IMG c=60 h=8 s=36 floppy---- (memdisk引导img镜像功能,对于大于2.88M的非标准镜像,必须指定CHS参数,这就是memdisk被藐视的原因,因为grub4dos自带的map --mem就不需要CHS参数,比较方便, 这一行也是被注释掉了的,无用)
map --mem (cd)/BOOT/DOS98.IMG (fd0) ---- (grub4dos自带的仿真功能,将dos98.img仿真成软盘0)
map (fd0) (fd1)---- (将软盘0仿真成软盘1, 这是为了当系统存在物理软驱,或者U盘以zip方式启动后, 可以访问物理软驱和U盘, 以盘符B:来访问)
map --floppies=2---- (定义仿真磁盘数)
map --hook---- (使仿真生效)
chainloader (fd0)+1---- (从软驱0(其实是img仿真的,非物理软驱0)的第一扇区启动)
rootnoverify (fd0)---- (设置根为软驱0)
boot---- (启动系统)
启动基于DOS的镜像都是上面的步骤
因为IMG是软盘镜像,所以仿真成FD0
如果是基于硬盘的镜像,像mini win98的img
则需要将其仿真成HD0
11、PE中加载微软五笔输入法
如何把输入法添加进去PE呢?以微软五笔86为例,仔细分析了一下,它共需要winwb86.IME、winwb86.MB和输入法指示器internat.exe(借用2000的),把这些文件放到system32里面,然后把五笔的注册表信息加进去,最后启动internat.exe,为此编写了一个批处理来完成(这里先假设3个文件已经手工加进去了)。
reg add HKLM\SYSTEM\ControlSet001\Control\Keyboard Layouts\E0100804
reg add HKLM\SYSTEM\ControlSet001\Control\Keyboard Layouts\E0100804 /v IME file /t REG_SZ /d winwb86.ime
reg add HKLM\SYSTEM\ControlSet001\Control\Keyboard Layouts\E0100804 /v Layout file /t REG_SZ /d kbdus.dll
reg add HKLM\SYSTEM\ControlSet001\Control\Keyboard Layouts\E0100804 /v Layout Text /t REG_SZ /d 王码五笔型输入法86版
%systemroot%\system32\internat.exe
12、grub4dos引导PE的过程
grub4dos>setupldr.bin>
>winnt.sif>winpe.is_
setupldr.bin中定义了和winnt.sif的位置、名称等。例如毛桃的位置被定义为/;/wxpe/,在定义的位置中,任意一个位置能找到就可以正常执行。所以,如果直接使用maotao的setupldr.bin,可以把NTDETECT.COM放在根目录,也可以放在wxpe目录,当然,如果你想放在别的位置,自己改一下就可以。同样,winnt.sif也是可以改位置和路径的,毛桃的被改成了WINNT.XPE,位置仍然是磁盘根目录,注意如果要改到别的目录,目录名不要太长,目录+文件名总共字符长度和winnt.sif所占字符长度正好相等即可。例如WINNT.SIF改成WINNT.XPE或者改成BOOT\PE.X,都可以。然后,winnt.sif中定义了RAMDISK的启动方式, 也定义了映象的路径,例如:
/rdpath=WINPE.IS_
或者是
/rdpath=BOOT\WINPE.IS_
所以SETUPLDR.BIN的位置和名称是灵活的,可以随便放置、随便改名。只要grub4dos的配置菜单中chainloader语句指定了这个位置即可。
例如:chainloader (hd0,4)/boot/ldr/peldr
其中:peldr就是由setupldr.bin改名而来
放置在第一个逻辑分区的boot\ldr文件夹下
其他几个文件的路径和名称都互相引用
NTDETECT.COM的名称和路径受setupldr.bin控制
WINNT.SIF的名称和路径受setupldr.bin控制
winpe.is_的名称和路径受winnt.sif控制
13、WIM外置程序调用过程
主要是在这个WIM外置文件的相同目录中放一个INI文件,内部的PECMD.INI文件通过以下命令来加载这个INI文件:
Load \WIM外置程序\OP.INI
再在OP.INI文件中通过MOUN命令来挂上WIM:
MOUN %CurDrv%\WIM外置程序\PROGRAMS.WIM,%ProgramFiles%,1
14、GRUB怎样做到从光盘启动
1. 把“ISOGRUB.BIN”文件放到光盘的“EZBOOT”目录中。
2. 把“STAGE2”这个文件放到光盘的根目录。
3. 然后将Grub程序文件、IMG文件和ZIP文件按目录放到光盘中。
4. 然后用“EZBOOT”调用“ISOGRUB.BIN”启动就可以。
15、EZBOOT怎么调用GRUB
在“菜单条”标签的执行命令栏中输入:bcdw 绝对路径\GRLDR
16、编辑WINPE.IS_文件
把WINPE.IS_解压成WINPE.ISO文件,用ultraiso虚拟光驱加载并添加东西后,再用mkmaxcab文件把它压缩成cab文件,最后改名为IS_文件。
17、OP.WIM修改方法
一、用WIMTOOL解开OP.WIM到一个目录如d:\wim,修改文件到完成,用WIMTOOL打包d:\wim为OP.WIM文件。
二、改OP.WIM文件属性为可写,用WIMTOOL或WIMNT可写挂载,修改文件到完成,卸载OP.WIM文件,提示是否写入时,选择“是”(这种修改OP.WIM,文件大小只增不减)。
三、改OP.WIM文件属性为可写,用WIMTOOL或WIMNT可写挂载,修改文件到完成,把挂载的目录用WIMTOOL或 WIMNT打包为OP.WIM文件。
18、PE的硬盘引导文件
AVLDR.PE PELDR WINNT.SIF
这三个文件是必须的,跟PE镜像文件一起复制到C盘再改boot.ini文件后重启就能看到你要的PE系统
下面是它们的作用:
①AVLDR.PE是计算机启动时载入的文件,文件中有1条数据为PELDR的文件名。
②PELDR是PE启动载入程序,文件中有7条数据为PE的系统目录名,要根据PE镜像的不同而更改,如I386 WXPE,修改注意区分大小写;还有9条数据为WINNT.SIF的文件名。
③WINNT.SIF是引导配置文件,可用记事本打开,内容如下:
[SetupData]
BootDevice="ramdisk(0)"
BootPath="\WXPE\SYSTEM32\"
OsLoadOptions="/minint /fastdetect /rdexportascd /rdpath=WinPE.IS_"
④把这3个文件和PE镜像文件都拷到C盘后,记得在boot.ini文件最后一行加上如下内容:
C:\AVLDR.PE="WinPE"
19、修改boot.ini产生彩色的启动菜单
C盘根目录下的boot.ini(隐藏文件)可以使用ANSI控制码来控制启动菜单显示出彩色。您可以根据以下短短的代码来为自己设计一个彩色的Windows启动菜单。这也有助于让您理解ANSI控制码及其转义,当然彩色的菜单也非常具有个性。
C盘根目录下的boot.ini(隐藏文件)可以使用ansi控制码来控制启动菜单显示出彩色,例如下面的boot.ini:
CODE: --------------------------------------------------------------------------------
timeout=30
default=multi(0)disk(0)rdisk(0)partition(3)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS=" [1;32mMicrosoft [1;34mWindows [1;33mXP
Professional" /NOEXECUTE=OPTIN /FASTDETECT
c:\Avldrxp.bin=" [1;36mAvlgo - PELDR" /noguiboot
multi(0)disk(0)rdisk(0)partition(3)\WINDOWS=" [1;31mMicrosoft [1;33mWindmows [1;35mSermver 2003" /noexecute=optout /fastdetect
c:\1.bin=" [1;37mMS-DOS"
--------------------------------------------------------------------------------
ansi控制码:
箭头+“ [”声明了转义序列的开始
后面的 “1 ”定义了默认的字体宽度。对于文本属性来说,这些值是有意义的:0、1、22、4、24、5、25、7、27, 分别表示:默认值、粗体、非粗体、下划线、非下划线、闪烁、非闪烁、 反显、非反显。
30m —— 37m 设置前景色
40m —— 47m 设置背景色
可选颜色:红色、绿色、黄色、蓝色、洋红、青色和白色。
他们对应的颜色代码是:
30(黑色)、31(红色)、32(绿色)、 33(黄色)、34(蓝色)、35(洋红)、36(青色)、37(白色)。
用同样色方法设置背景色,不过要把第一个数字“3”替换成“4”,
40(黑色)、41(红色)、42(绿色)、 43(黄色)、44(蓝色)、45(洋红)、46(青色)、47(白色)。
20、取消软驱检测
打开TXTSETUP.SIF文件, 将Txtsetup.sif中HardwareIdsDatabase段里的以下这行删除:
*PNP0700 = "fdc
21、WIM文件动态加载
实现这个目需要 Imagex.exe 和 SUBST.exe,将以下三行命令保存到一个批处理文件中:
md %TEMP%\PEIMG>nul 2>nul //创建一个临时空白目录作为加载点目标目录
imagex.exe /mount PEIMG.WIM 1 %TEMP%\PEIMG //PEIMG.WIM 是你要加载的 WIM 映像名称,根据具体情况修改
subst B: %TEMP%\PEIMG //将上述临时目录虚拟为 B:
注意:上述步骤的第二、三行绝对不能反过来!如果先虚拟盘符,然后再将 WIM 挂载到这个 B:,你会发现死得很难看——居然连 C: 都变成了这个虚拟目录了,此时除非重启别无它法。
winPE DIY核心部分教程
首先,要DIY,就要掌握一个大概的原理,这里说的只是大概。那么PE是如何运作的?其实PE的文件从粗略来分,可以分为核心和外置程序两个部分,相信外置是大家所关心的,但是这里要先讲核心,因为外置是在一定程度上依赖核心的。
PE的核心格式可分为三种ISO格式,NTFS IMG格式,FAT IMG格式,这三种格式有什么不同先不用管,先讲一下PE的运作
PE其实就类似一个未安装的系统(只是类似,还是有区别的),PE的系统文件就在PE的核心中,PE启动时,会先将一部分内存当作硬盘来使用,我们暂且可以称其为Ramdisk盘,当Ramdisk盘设置好了,就会根据核心中的txtsetup.sif文件的设置来进行“安装”,也就是把核心中的文件释放到Ramdisk盘当中,也就是PE启动后我们所看到的X盘。当PE“安装”好后就可以进入PE了。
接下来,在进入PE的桌面前,会根据x:\I386(或WXPE或其他文件夹名)\system32\PECMD.INI文件来进行PE的一些设置,和调用外部配置文件。而外部配置文件就是和外置程序有关的了。
PE的启动过程基本就这样(不包括引导过程),接下来要讲讲X盘大小的设置问题,X盘正如上面所说的,是PE的系统文件所在地,那么在调整X盘的大小前弄明白调整它的意义,举一个简单的例子,假如一个PE的系统文件一共有60M,而X盘的大小只有61M,那么就有1M的空间剩余。假如你想启动网络,那当然是要先安装网卡驱动。而网卡驱动当然不只1M那么小,这样说来,X盘的剩余空间就不足够你安装网卡驱动。那么网络就会无法启动,假如我把X盘调整到70M,那么10M的剩余空间就足够安装网卡驱动了。
那么现在,结果出来了,当你的外置程序中含有需要解压到核心的东西时,例如驱动,则核心中就必须预留空间。那么意义明确了,不同的PE,核心就需要进行相应的调整,这样才可以达到最大利用率。
ISO核心PE的X盘大小调整方法(以毛桃0911为例)
找到核心文件WINPE.IS_,用WINRAR打开,把里面的WINPE.ISO提出来.用ULTRAISO打开WINPE.ISO,找到WXPE\SYSTEM32\PECMD.INI文件,看到FBWF这行,这条命令就是用来设置X盘大小的,不需要懂原理,会用就可以了.
命令参数如下:
FBWF [P可用内存百分数] [L最小值] [H最大值]
FBWF P20 L32 H64
三个参数都可单独使用,如 FBWF L64 表示强制设置 64M 的 FBWF;FBWF命令必须在 MOUN 命令之后
这样就可以设置X盘的大小了,把修改后的ISO保存,再用CAB压缩就OK.
IMG核心中X盘大小调整方案
一.FAT IMG X盘调整方案
1.类似ISO一样调整FBWF(不过FBWF+IMG+卡巴=蓝屏,并且FBWF不太稳定),方法是先用WINRAR解压后缀为IM_的文件,把里面的IMG后缀的文件解压出来,然后用VDM加载
,同样找到WXPE(这个文件夹名能会有点变化,不同的PE可能不同)\SYSTEM32\PECMD.INI,调整好后,卸载镜象.再用CAB压缩.
2.直接建立所需要大小的IMG(即X盘需要70M就建立70M大的IMG,并关闭FBWF)
假设我的PE的系统文件为60M,那么我要建立一个70M的IMG,则先打开VDM,建立一个70M的IMG,如图
然后加载IMG-----格式化为FAT格式---把PE的文件都复制进去---卸载IMG-----在如上图最右边的压缩按钮。
这里还要再提一下,表面上PE的系统文件为60M,PE核心大小为70M,那么就多了10M空间,但启动后,X盘的剩余空间会比10M要大一些,这是因为启动后会删除一些启动后就没用的文件,例如SRS驱动等。
二.NTFS IMG X盘调整方案
1.用FBWF(方法和FAT IMG一样,但也会蓝屏)
2.建立所需大小的IMG(和FAT IMG有所不同,请注意),因为是NTFS格式的关系,所以我们可以起用NTFS压缩来自动压缩核心中的文件,例如,60M的文件,经过NTFS压缩后就变成了48M。那么我们建立核心只要52M就可以放下原来是60M的文件。
过程是这样的:建立一个50M的IMG-----格式化为NTFS格式-----启用NTFS压缩,如图
接下来到了关键的一步,就是复制文件,这里和FAT IMG的复制不同,FAT IMG是一次全部复制过去就可以了,但NTFS IMG不可以。
首先把SYSTEM32目录以外的目录先复制过去,SYSTEM32目录里的文件要几个一批慢慢复制,遇到体积较大的文件如SHELL32.DLL,一次复制一个,假如遇到提示磁盘空间不足,则卸载IMG,重新再挂载再继续复制,直到所有文件都复制完毕。复制完成后就可以卸载IMG了,然后把后缀名改为IM_,这里不要用CAB压缩,具体原因看下面PE启动内存的计算。
PE启动内存计算
PE的启动内存和核心有关,大概为下面这个公式(只是大概)
1. 用CAB压缩过的核心
X*2+16(单位MB)(X为未压缩时的核心大小)
2. 不用CAB压缩的核心
X+32(单位MB)(X为未压缩时的核心大小)
这里就可以解释为什么NTFS IMG的核心一般不用CAB压缩,因为NTFS IMG格式的核心用CAB压缩效果很差,压缩率低,例如:50M的NTFS IMG用CAB压缩后才35M,而70M(里面有60M的文件)的FAT IMG用CAB压缩后,体积变成了26-29M左右。所以NTFS IMG不用CAB压缩,体积减小不多,而启动内存要加倍,因小失大
关于安装配置文件txtsetup.sif的简单说明
相信玩过精简版系统的朋友都知道这个文件的用途,同样PE里也有这个文件,这也是为什么我在文章一开始把PE比喻成类似未安装的系统,废话不多说,我就简单讲讲这个文件。
[WinntDirectories]
这个字段是用代码表示文件拷贝的目标文件夹,其根目录为%WinDir%即安装指定的Windows文件夹。
[SourceDiskFiles]
根据前面设定的代码表示文件拷贝的具体细节。
下面三段为集成SATA SCSI等驱动时所用
[HardwareIdsDatebase]—硬件标识
[SCSI.load]——SCSI驱动加载
[SCSI]??——SCSI设备说明
添加srs驱动实例
◇在PE中添加sata,raid驱动的方法:(这里以Intel Matrix Storage Manager driver为例,以便于说明,以下描述的驱动文件名只基于本实例,实际操作中的具体的文件名称以需要添加的具体驱动为准)
一. 准备材料:1.原版驱动文件
2.从PE中提取的txtsetup.sif文件
二. 从PE中提取txtsetup.sif文件:
先将PE中的winpe.is_重命名为winpe.cab,然后用RAR解压出winpe.iso
用UltraISO打开它,将txtsetup.sif提取出来,并用记事本打开备用。
三. 修改txtsetup.sif文件
1. 打开驱动包,里面有一个扩展名为“.inf”或“.oem”的小文件,如“oemsetup.inf”或者“txtsetup.oem”等(本例中为“txtsetup.oem”),用记事本打开备用;
2. 在txtsetup.sif中查找[SourceDisksFiles]字段,在其下添加iaStor.sys=1,,,,,,4_,4,1,,,1,4
3. 查找[SCSI.Load]字段,在其下添加iaStor=iaStor.sys,4
4. 切换到刚才打开的txtsetup.oem,查找HardwareIds关键字,将该字段下的代码全部拷贝到txtsetup.sif文件的[HardwareIdsDatabase]字段末尾,但需要更改一下代码的格式,比如将id = "PCI\VEN_8086&DEV_27C3&CC_0104","iaStor"改为PCI\VEN_8086&DEV_27C3&CC_0104=iaStor
5. 查找[SCSI]字段,在其下添加iaStor="Intel(R) 82801FBM SATA AHCI Controller (Mobile ICH6M)"
至此,修改txtsetup.sif文件部分完成,将修改后的sif文件替换原来的文件。
四. 复制驱动文件
将驱动文件iaStor.sys用makecab.exe压缩成iaStor.sy_并添加到PE的system32\DRIVERS目录下,然后将修改后的winpe.iso用makecab.exe重新压缩成winpe.is_替换原来的文件。
至此整个添加驱动工作完成,重启动以测试成功与否。
关于更详细的txtsetup.sif的用法,可以到精简区搜索,那里有不少教程,我这里就不多说了。
关于修改PE的注册表
要DIY核心,修改注册表是肯定要会的,先找到SYSTEM32目录下的setupreg.hi_,用WINRAR打开把里面的setupreg.hiv解压出来。打开开始菜单---运行----输入regedit,用鼠标选中HKEY_LOCAL_MACHINE项,然后单击文件---加载外部配置文件(如图)
然后找到刚刚的那个setupreg.hiv加载,然后提示项名称,这里随便填,我填!方便区分。
之后,你就可以修改!项里的注册表了,!项里的就是PE的注册表,修改完了后不要忘记卸载配置单元,选中!项,按文件—卸载配置单元。最后用CAB把修改好的setupreg.hiv文件压缩再替换原文件即可。
WinPE 之 DIY心得--定制自己的PE启动盘的技巧
要 DIY PE,将不可避免的接触到 PE 配置文件,在动手之前,最好先读一下 PECMD 的帮助。PECMD 的帮助花了作者很多时间,一个文本格式的帮助文件能做出如此清晰的表格是很不容易的,因为每一个换行、对齐都需要手工处理(我是这样猜想的,作者自己写个程序完成这个过程也说不定),如果使用了 PECMD 而不读一下帮助,就有些对不起它的作者了。
读过 PECMD 的帮助,再来看配置文件就很容易了(这里我要对老毛桃提点意见,配置文件没有进行结构化整理,也没有断行处理,读起来不是很方便,好在注释还是比较丰富的。有时间的话,新版本中应该改进),结合注释和 PECMD 帮助将配置文件从头到尾看一遍,肯定能读懂的。其实只要读懂了配置文件,就能够自己做一些简单的 DIY 了。
本文不涉及任何技术性的东西,期望目的在于让刚接触 PE 的朋友能对 PE 进行简单的修改,以适合自己使用。本文的内容全部散见于本论坛中,我只是根据自己学习的过程,将它们整理到一起而已(有可能我自己认识错误导致后面的内容错误,请高手指正,如果高手们有耐心看的话)。
包含以下几个方面的内容:
1、增减外置程序
2、定制登录过程
3、修改外置程序目录名
4、修改系统设定(注册表)
5、添加驱动
需要会使用的几个工具软件:
1、UltraISO / WinRAR (毛桃PE中已含)
2、CAB 打包软件
废话结束,开始啰嗦:
一、增减外置程序
外置程序在光盘的“外置程序”目录中,对应的配置文件是该目录下的 WinPE.INI
删除程序只须删除该软件在外置程序目录对应的子目录,再删除 WinPE.INI 中相应的 LINK 创建快捷方式的语句行即可。
添加程序正好相反,将绿色软件放到外置程序目录中,在 WinPE.INI 中加入相应的 LINK 语句行创建快捷方式即可(参照其它 LINK 语句,复制一行,只须要改一下快捷方式的位置、名称/目标程序的目录名、可执行文件名)。
这里所说的绿色软件是指能在 PE 中运行绿软,网上所见的大多绿软并不是真正的绿色软件,应该叫准绿色软件或者免安装软件。
实际上很多并不是为 PE 准备的软件也是可以在 PE 中运行的,用一个笨办法来判断一个普通的绿软是否可以直接在 PE 中运行,启动 PE 环境,找到该软件所在目录,复制一份备份,然后将该目录和目录下的所有文件属性改为只读,直接双击目录内的可执行文件,看能否运行,运行后各项功能都使用一下看是否正常,如无异常,则可按上面的方法简单加入。
如运行异常,有可能缺某些库文件(这种情况一般有提示),或它在自己的目录内写东西,或依赖注册表中的某些键值,这就需要动点手脚,如准备缺少的库文件,看它自己的目录下有没有配置文件可以修改,在 XP 中运行监视它要读些哪些注册表项。这种情况对不同的软件解决的方法不同,也可能无法解决,不过此种情况超出本文的定位,不再详述。
二、定制登录过程
这一项改动需要熟悉 PECMD 各命令的用法,读懂配置内外配置文件,最好对系统登录的过程有点了解。
只作为兴趣,因为老毛桃的登录顺序几乎也没什么可改动的了,可以留给我们定制的就是改改提示句、外置程序的加载方式、调整一下细节而已。
这一过程会涉及到内部配置文件:
1、将光盘映像根目录中的 WinPE.IS_ 用 UltraISO 或 WinRAR 提取出来
2、将名称改成 WinPE.CAB(不改也可以,但用 WinRAR 打开会麻烦点)
3、用 WinRAR 将其中的 WinPE.ISO 解压出来
4、用同样的方法,将 WinPE.ISO 中的 WXPE\SYSTEM32\PECMD.INI 提取出来
(要修改什么文件就提取什么文件,后面的改注册表也要用到此方法)
5、按自己的需要修改提取出来的文件
6、将修改后的文件放入 WinPE.ISO 中替换原来的(目录位置一定要相同)
7、用 CAB 打包工具将 WinPE.ISO 重新打包为 WinPE.IS_
8、再将 WinPE.IS_ 放到老毛桃的光盘映像中替换原来的
注:用 UltraISO 修改 ISO 映像文件时最好用另存,以免改错了原来的备份也没有了。
三、修改外置程序目录名
要改动的地方有 3 个文件 + 1 个目录名:
1、内部配置文件 PECMD.INI(修改方法见前面说明)
2、\外置程序\WinPE.INI (前面的根指光盘映像的根目录)
3、\WINPE安装\SETUP.INI (老毛桃的安装卸载程序要用它)
4、外置程序的目录名(这个是当然的)
将三个 INI 文件提取出来按下面的步骤修改,假设新名为 "NEWNAME":
1、用记事本打开 INI 文件,将光标定在文件最前面
2、菜单:编辑-替换...
3、在“查找内容”编辑框中输入"\外置程序"(不含引号)
4、在“替换为”编辑框中输入"\NEWNAME"(不含引号)
5、点全部替换
6、在“查找内容”编辑框中输入"外置程序\"(不含引号)
7、在“替换为”编辑框中输入"NEWNAME\"(不含引号)
8、点全部替换
9、保存
用修改后的文件替换下载的光盘映像中原来的(外置程序这个目录的名字可以直接在 UltraISO 中改)
说得这么麻烦只是为了防止漏改或者将注释也给改了,实际上新版本因采用的 %CurDir% 这个环境变量后,要改的只有几个地方,手工改也是可以的。
四、修改系统设定
这一步主要是指修改 PE 的注册表,可以直接修改PE注册表,也可以修改配置文件。
1、修改内部注册表的方法:
用前面修改 PECMD.INI 的方法将内部注册表的文件提取出来:
\WXPE\SYSTEM32\CONFIG\*.*
\WXPE\SYSTEM32\SETUPREG.HI_ (这是CAB压缩包,将它解开成 SETUPREG.HIV)
运行注册表编辑器 REGEDIT.EXE,鼠标点击 HKEY_LOCAL_MACHINE,然后点“文件”-“加载配置单元”,打到提取出来的注册表文件(需要改哪个就加载哪个),打开,提示挂载名时随便输入取一个名字如“WinPE”,展开 HKEY_LOCAL_MACHINE 后里面就有一项 WinPE,然后就跟普通的注册表操作一样了,改好后用鼠标点一下 “WinPE”项目,然后“文件”-“卸载配置单元”,这个文件就改好了。
用改过的注册表文件替换原来的。
2、修改配置文件的方法:
对于普通的不依赖于外置程序目录结构的注册表项目,可以用常规方法将修改项写成 REG 文件(可以直接从 XP 系统中导出,然后在其基础上修)。在外置程序目录下有个 RegDoc.cmd,这个文件是毛桃用来注册外置程序文档关联的(就是改注册表),可以用记事本打开它,加入一行:
REGEDIT /s REG文件名
则 PE 加载外部配置时它会自动导入。
这是最简单的改注册表的方法。但是如果要修的项依赖于外置程序的目录结构(比如要在右键菜单中添加用 UltraEdit32 打开),就不能用上面的方法了,因为外置程序的绝对路径是不确定的(不同的机器中盘符不能确定)。
这种情况就需要用原始的 REG 命令来做了(就跟毛桃在REGDOC.CMD 中的做法一样),这个命令的语法比较艰涩,且注册表键值的表示方法跟 REG 文件不同。在命令提示符
展开阅读全文