如何手动定制完全属于自己的WinPE.doc
动手制作完全属于自己的WinPE(包括win8和win8.1PE)网上的PE各有各的特点,每一个都或多或少存在一些问题,要么是内核陈旧,不支持新的win8和win8.1,要么是不支持64位,要么界面太丑,要么兼容性不好,要么内置的PE软件不安全等等。之所以要单独建立一个的分区,是因为制作WinPE的中途有可能出错,而有的错误将导致WinPE的制作无法继续下去。(本文将以L:盘为例,100G大。)在单独一个分区的情况下,这问题就简单了:格了它!只是格式化时有时会提示“此驱动器正在使用中”,单击【是】即可继续;而且格式化时,有时可能好几分钟看起来像是没有反应,请务必耐心等待。下文中,我们会将该分区简称为“工作盘”。说明:工作盘不能是移动存储设备。如果工作盘剩余空间不够时,使用批处理制作PE时,将会出现总是停滞在某一阶段的现象,但是不会提示剩余空间不够。使用批处理制作PE时,如果出现停滞,但又并不是没有空间,此时可以执行命令:Dism/unmount-image /mountdir:L:winpemount /discard放弃对内核的更改,然后删除制作对象文件夹L:winpe。在L:盘以外的盘(本文将以F:盘为例)上建立一个文件夹,例如名为“L盘备用”,用来及时备份你已经做成的半成品或者你在试验时需要用到的一些试验文件。准备制作winpe时需要使用的工具软件(1)支持win8的评估和部署工具包ADK。可以到微软官网下载,在线安装时,只需选装其中的“部署工具”、“Windows 预安装环境(WinPE)”和“用户状态迁移工具(USMT)”即可。(2)Acronis True Image Home (简称为ATIH)或者Acronis Backup & Recovery(简称为ABR)ATIH或ABR是Acronis公司开发的一款备份还原软件,有中文版,其最大的用处就是支持异机还原。所谓异机还原,就是把系统备份还原到不同硬件的电脑或虚拟机上。由于目前尚无能够支持windows 8的ABR版本,所以我们在操作机上安装ATIH的最新版。此外,由于ATIH和ABR的现有版本仅支持向32位win7pe内核集成,win8PE中目前只能使用ATIH绿色版。不过即使是绿色版,也能支持32位和64位系统的异机还原。(3)Ultraliso这是一款功能强大而又方便实用的光盘映像文件编辑和制作工具。注意,下载的Ultraliso,有的直接运行不会出现“注册”对话框,但是一旦从批处理中来执行它,就会出现“注册”对话框,这样的Ultraliso将无法使用。(4)VMware Workstation这是一款非常好用的虚拟机软件,可用来测试你制作的WinPE。(5)7-Zip这是一款压缩与解压缩软件,7-Zip的优点是可以直接处理wim文件。在操作机上需要用到但无需安装的软件有:(6)Windows 8 USB Installer Maker英文绿色版这是一款用来制作Windows 8安装U盘的工具软件。(7)Registry Workshop 绿色版这是一款注册表修改软件,比操作系统自带的Regedit功能强。可以批量自动查找与替换、批量删除、注册表对比等。(8)Process Monitor 中文绿色版这是一款微软的系统和应用程序监视工具,它可以监视文件活动、网络活动、进程和线程活动等。(9)RegShot和RegSnap ,均为绿色版前者是一款注册表修改监测工具软件,后者除开可以监测注册表修改之外,还可以同时监测系统的其它修改。建议使用前者来监测注册表,因其生成的注册表比较报告中,项、值与数据均已按照.reg文件格式编写好,使用比较方便。只是需要删除该软件向注册表添加的他自己的东西,这比较容易分辨,从比较报告中该软件路径上可以看出来。(10)PsTools这是微软提供的工具软件,用来获取Windows注册表子项的“完全控制”权限。可以到微软官方网站免费下载,无需安装即可使用。(11)Beyond Compare汉化绿色版这是一款比较文件夹或文件差异的工具软件,用来研究比较自己的PE和样本PE之间的差别。(12)Search and Replace汉化绿色版(文件内容搜索替换)这是一款文件内容搜索与批量替换的工具软件,用来批量修改你编写的批处理文件。(13)BcdTool 绿色版这是一款图形界面的BCD编辑软件,用来编辑启动管理器。如果你需要制作x86和x64的双启动winpe,就会需要用到它。也可以使用操作系统自带的命令行程序Bcdedit.exe来编辑启动管理器。(14)IcoFXPortable 绿色版这是一个用来制作和提取图标的工具软件。(15)魔方windows 7 开始按钮更换 1.2 中文绿色版这是一个用来更换winpe开始菜单中开始按钮的工具软件。注意,较新的版本可能不能够达成我们的特殊操作要求。(16)Quick Batch File Compiler绿色版这是一个用来将批处理文件转换成exe文件的工具软件。(17)SK.Inf2Reg绿色版这是一个用来向已被精简的PE内核添加驱动程序的工具软件。(18)UltraEdit32绿色版这是一个编辑软件,在这里作为向已被精简的PE内核添加驱动程序的辅助工具(批量修改.reg文件)。当然,利用记事本逐一修改.reg文件也是可以的。准备Windows首先强调一点,必须用你曾经安装过,并能正常使用的Windows的中文原版映像(或安装光盘)。为后面叙述方便,不妨假设其文件名为Windows_x86.iso和Windows_x64.iso。(1)把Windows原版ISO映像复制到F:盘在F:盘建立文件夹“Windows”,把大客户版的Windows_x86.iso和Windows_x64.iso复制到其中。建立文件夹“F:WindowsCrack”,把操作系统需要用到的激活工具放入其中。(2)提取windows的系统文件用7-zip提取Windows_x86.iso和Windows_x64.iso的全部文件,分别放到文件夹F:Windows_ X86(或x64)。为了今后在命令行操作的方便,文件夹名称中最好不要使用空格。(3)提取windows的内核文件提取内核的操作步骤如下:找到F:Windows_x86(或x64)sourcesinstall.wim,用鼠标右击install.wim选【7-zip】【打开压缩包】如果系统提示“Some files have incorrect reference count(有些文件有错误的引用计数)”,单击【确定】选中Program Files、ProgramData、Users和Windows(x64增加Program Files(x86))右击上述选中的文件夹【复制到】指定目标路径(本文以“F:windows_x86_内核”或“F:windows_ x64_内核”为例)【确定】【确定】。必须清除文件夹“F:windows_x86_内核”以及“F:windows_ x64_内核”中的所有文件的“系统”、“隐藏”和“只读”属性,否则将无法复制其中具有这些属性的文件。可以在cmd窗口中执行命令(需要一些时间,请耐心等候):attrib -s -h -r F:windows_x86_内核*.* /s或attrib -s -h -r F:windows_x64_内核*.* /s说明:为了查看你要的Windows版本在Windows安装程序中的索引号,可以用管理员身份打开ADK的命令行窗口(名为“部署和映像工具环境”),执行:dism /get-wiminfo /wimfile:F:windows_x86sourcesinstall.wim对于x64系统,把上面命令中的“x86”改成“amd64”即可。可以查出install.wim文件中,不论是x86还是x64,我们需要的索引号为1。同理,可以查出boot.wim文件中,不论是x86还是x64,我们需要的索引号为2。提取Windows的内核时,不要用Dism命令去加载install.wim,因为用Dism命令加载的install.wim,在利用文件差异比较工具时,“F:windows_ x86(或x64)_内核”中的文件打不开。准备做参考用的最新WinPE从网上找几个最新的winpe来作参考,注意,winpe有32位和64位之分,根据你打算制作32位还是64位winpe的来选择。下载回来的WinPE,其用途有二,一是看看它有些什么文件,注册表有些什么项;二是启动WinPE后,在WinPE环境下批量修改注册表。由于需要修改注册表中几千项,所以我们必须在winpe的环境下利用第三方注册表编辑器RegWorkshop来批量修改注册表。如果你已经有了自己制作的较低版本的WinPE,当然可以用来批量修改注册表。换句话说,为了制作winpe,最好先有一个winpe,这是不是有点像“先有鸡还是先有蛋”的问题!网上常见的WinPE的Windows文件夹中的文件并不完全相同,这是因为其中的很多文件是用来支持第三方应用程序的。如果你的WinPE中没有某个文件,只有在你运行需要这个文件的某个第三方应用程序时,才会发现。这里最重要的工作就是利用杀毒软件检查你下载的winpe是否被杀软报告其含有有病毒、木马或是风险程序。现在流行一种说法:“误报”,其实对于被“误报”的程序,可以找别的不被“误报”的程序来代替。总之,小心为上。检查分两步,第一步在操作机上对下载的winpe进行检查,检查之前需要先用7-zip提取其内核boot.wim中的所有文件;如果没有威胁,进行第二步,在虚拟机中启动下载的winpe,联网进行在线杀毒。之所以还要进行在线杀毒,是因为网上有些WinPE被杀软报告含有木马。而且有的隐藏得很深,你在他的WinPE映像文件中检查时可以通过,但是一旦作为PE启动,它就把木马释放到winpe启动后的系统盘(内存虚拟盘,一般为X:盘),令人防不胜防。做第二步需要耐心,因为在线杀毒网站均宣称目前仅支持IE,而下载来的WinPE一般都是使用Opera浏览器,不使用IE浏览器。也有个别杀毒网站宣称支持IE内核浏览器,但是从试验结果来看,由于WinPE一般使用绿色版浏览器,即使是IE内核,也无法正常工作。需要特别注意的是,有的winpe虽然可以利用IE上网,但是其IE会阻止在线查毒。从目前情形来看,32位PE可以使用“360急救箱winpe版”对硬盘上的32位和64位系统进行杀毒。如果第一步检查不能通过,则清除其病毒、木马或是风险程序。如果无法进行第二步检查,可以等你自己的可以IE上网的WinPE制作好以后再来进行。把从下载的WinPE中提取的内核boot.wim中的所有文件,保存到文件夹F:样本PE_x86 _内核(或x64)。如果提取出来的文件夹中多出来一个名为Files 的文件夹,可以将其删除。顺便说一句,我们推荐在操作机上使用“金山毒霸”免费版,因为它不像某某杀软那样,对你用来制作PE的L盘进行特别“关照”,使你无法对L盘执行某些操作。此外,对于下载回来的含有威胁的WinPE.iso文件,如果想用虚拟机看看其效果,可以如下操作:用7-zip提取其所有文件;加载其内核文件到Mount文件夹(详见“附录1 基本操作”之“装载基本WinPE映像”);用杀毒软件清除其威胁(可能需要多次反复查杀Mount文件夹,因为前几次可能找不到文件。Mount文件夹中明明有几千个文件,杀毒软件却报告检查了两个文件,不知何故);卸载其内核文件(详见“附录1 基本操作”之“提交上述更改(或简称“打包”)”);重新制作WinPE.iso映像文件(详见“附录1 基本操作”之“生成ISO文件”)。准备ATIH(或ABR)的系统备份和异机还原需要使用的驱动程序(1)x86和x64系统的ATIH(或ABR)备份把需要使用的x86和x64系统的ATIH(或ABR)备份拷贝到文件夹“F: ATIH和ABR映像”。关于ATIH(或ABR)备份操作,详见“附录6 Acronis True Image Home (简称为ATIH)用法” 或“附录7 Acronis Backup & Recovery(简称为ABR)用法”。(2)驱动程序把ATIH(或ABR)异机还原需要使用的所有驱动程序拷贝到文件夹“F:驱动程序库”。关于驱动程序,详见“附录1 基本操作”和“附录6 Acronis True Image Home (简称为ATIH)用法”或“附录7 Acronis Backup & Recovery(简称为ABR)用法”。1.4.9 准备添加到WinPE的一些工具软件准备添加到WinPE的工具软件必须是无需安装的所谓绿色软件!(1)PECMD.exe(可选)这是一个WinPE登录命令解释程序,有x86和x64两种版本,仅有一个文件。利用它可以控制WinPE的启动过程。有的版本的PECMD.exe在WinPE启动时会在屏幕顶部出现一行PECMD.exe作者的版权提示文字,在启动后的桌面会出现名为“pecmd说明”的快捷方式;有的版本这二者均不会出现。国内的WinPE爱好者在制作WinPE时,一般都会使用PECMD,而国外一般不使用。本文将在涉及到PECMD.exe时,分别介绍。(2)BootICE这是一个引导扇区维护工具,在把winpe安装到移动硬盘时,我们需要用它来隐藏移动硬盘上的winpe分区。把BootICE.exe拷贝到文件夹“F:定制PE的补充文件”。(3)其它绿色软件我们制作的WinPE对所用的绿色软件有一些特别的要求,例如,为了方便批处理自动向开始菜单添加绿色软件的快捷方式,需要绿色软件的主程序位于软件一级目录下(其实一般软件都是这样)。这是因为我们编写的批处理默认仅搜索软件一级目录下的.exe文件,如果增加搜索目录层级,那将使得开始菜单杂乱无章。其实分类层数太多,也不方便使用。当然,如果你需要增加搜索目录层级,可以修改批处理文件AddShortcutKey.bat。基于上述原因,对于那些同时支持32位和64位的绿色软件,如果32位和64位的主程序都在软件一级目录下,不必调整;如果32位和64位的主程序都在软件二级目录下(例如二级目录名为32、64等),那么必须将软件32位和64位拆开,必须使主程序都在软件一级目录下。此外,WinPE做在光盘上时,某些运行时需要写盘的绿色软件将不能运行;某些需要使用管理员权限的绿色软件在PE中可能无法运行。把准备的绿色软件分类放在文件夹“PE工具”中备用。分类时注意,文件夹“PE工具”下只允许建立一层子文件夹,例如可以在“PE工具”中建立分类文件夹“文件编辑”、“系统检测”、“磁盘维护”等等文件夹。利用微软的ADK工具包构建基本WinPE构建基本WinPE的主要任务就两项,一是修改注册表,二是复制文件。我们自己动手利用微软的ADK工具包生成原生态命令行WinPE,然后手动添加资源管理器explorer,从而使命令行WinPE成为图形界面的WinPE。下面以生成用于日常基本维护(含上网)的32位WinPE为例(顺便提及64位WinPE),详细介绍带explorer的WinPE的制作过程。如果没有特别声明,其中“执行”均表示在ADK 的“部署和映像工具环境”窗口中执行。如果你想真正弄明白个中道理,可以仔细阅读下文并自己动手逐步制作;如果你想偷点懒,也可以执行我们提供的“定制PE的补充文件”文件夹中的批处理“自动制作winpeNaNd”来替你自动制作。要自动制作WinPE,必须按照“1.4 准备工作”的要求预先做好必要的准备工作,并把文件夹“定制PE的补充文件”复制到你的硬盘。然后执行“自动制作winpeNaNd”。如果执行途中停滞无反应,可能是你在进行PE注册表操作时,不小心把操作机的注册表给改了。只要对操作机的系统进行一次还原就可以了。生成命令行的WinPE以管理员身份执行【部署和映像工具环境】此时进入DOS窗口(提示符为“D:program filesWindowsADKAssessment and Deployment KitDeployment Tools”)执行:copypeNaNd x86 L:winpe其中,参数x86对应的是32位winpe,64位winpe请改为amd64。L:winpe可以任意指定,但必须是一个尚不存在的文件夹,因为ADK非要它自己建不可。这个文件夹就是我们构建图形界面WinPE的环境。命令执行后,系统将自动在L盘根目录下建立文件夹winpe,其下含有文件夹“media”、“mount”和“fwfiles”。其中文件夹mediasources中含有内核文件boot.wim;文件夹fwfiles中含有WinPE的引导代码文件efisys.bin和。特别提示:文件或目录名中如果有空格,那么命令中的文件或目录名要加英文双引号。在WORD中打出来的英文双引号只是看起来像英文双引号,但一旦拷贝到命令行窗口中,就会变成中文双引号,导致执行错误。解决的办法是,在WORD中打开“替换对话框”,用“34”(不含引号)替换WORD文档中的双引号,34是英文双引号的ASIC代码。由于拷贝英文文字时,WORD会自动在目标位置的上一单词之后增加一个空格,所以如果你要把这里的代码拷贝到命令提示窗口,拷贝后要注意检查,是不是中间多出了空格。如果多出空格,也会导致执行错误。如果你不希望winpe启动期间出现的“按任意键从 CD 启动”提示,可以删除文件L:winpemediaBootbootfix.bin。执行命令“copypeNaNd x86 L:winpe”后,如果你接着再执行命令“Makewinpemedia /iso /f L:winpe L:winpewinpe.iso”,就可以得到命令行的WinPE.iso。你可以用虚拟机加载生成的WinPE.iso文件,启动后就是一个cmd窗口,如下图:对大多数人来说,这样的WinPE显然是不方便使用的,所以我们必须进一步将其改为我们熟悉的图形界面windows。要实现图形界面windows,需要修改命令行WinPE的注册表,向命令行WinPE添加运行explorer所必须的文件,添加应用程序快捷方式等等一系列后续工作。制作WinPE的注册表制作winpe时需要使用的动手制作WinPE的注册表之前,请先阅读“附录3 WinPE注册表入门”。总体思路如下:步骤1、获取命令行WINPE的注册表配置单元software;步骤2、获取windows注册表配置单元software;步骤3、将命令行WINPE的注册表配置单元software导出为.reg文件;步骤4、修改windows注册表配置单元software;步骤5、向步骤4的结果导入步骤3的结果;步骤6、进一步修改步骤5的结果(software配置单元);步骤7、类似的对default进行处理;步骤8、用步骤6和步骤7中得到的software和default配置单元替换命令行WINPE的原software和default配置单元。说明:如果你不是手动修改注册表,而是编辑一个注册表文件(.reg)导入的话,就要注意,.reg文件中的路径符号需要写成。因为导入时,会自动变成。2.2.1 获取命令行WINPE的注册表配置单元(1)生成命令行的 WinPE,详见“附录1 基本操作”。(2)装载命令行的WinPE映像,详见“附录1 基本操作”。(3)添加中文字体包、语言包并设置用户界面语言;添加程序包WinPE-WMI和程序包WinPE-WMI的中文语言包。详见“附录1 基本操作”。(4)启用配置处理,详见“附录1 基本操作”。(5)调整winpe启动时使用的内存大小,详见“附录1 基本操作”。(6)将WINPE的注册表配置单元software、default和system复制到“L:config_命令行PE_x86”(或“L:config_命令行PE_x64”)。(7)卸载命令行的WinPE映像,详见“附录1 基本操作”。说明:这里在装载命令行的WinPE映像之后,不要获取对文件夹L:winpemount的管理权限,否则卸载命令行的WinPE映像时,卸载不完全。运行“定制PE的补充文件批处理自动制作winpeNaNd”,在主菜单中执行“生成加包命令行WinPE的software配置单元”即可自动完成上述(1)(7)的工作并得到winpe的注册表配置单元software、default和system。获取windows的注册表配置单元我们在前面的“1.4 准备工作”中已经利用7-zip将windows内核提取到文件夹F:windows_x86_内核(或F:windows_x64_内核),这里再把F:windows_x86_内核(或F:windows_x64_内核)windowssystem32config文件夹中的注册表配置单元software、default和system复制到文件夹“L:config_windows_x86”(或“L:config_windows_x64”)。把“L:config_命令行PE_x86”(或“L:config_命令行PE_x64”)、“L:config_windows_x86”(或“L:config_windows_x64”)以及第三方注册表编辑器Registry Workshop拷贝到U盘备用。将WINPE的注册表配置单元software导出为.reg文件;(此步骤在虚拟机的winpe系统中进行)(1)在虚拟机中启动样本winpe如果你在未安装操作系统的虚拟机中启动winpe后,在主机上插入U盘,通过资源管理器能看到你的U盘,就直接把U盘上的第三方注册表编辑器RegistryWorkshop、命令行WINPE的注册表配置单元以及Windows的配置单元拷贝到虚拟机的D:盘备用。如果你在虚拟机中启动winpe后,不能看到你插在主机上的U盘,则需要在虚拟机中安装、激活Windows,此后将能看到你插在主机上的U盘;再把U盘上的第三方注册表编辑器Registry Workshop、命令行WINPE的注册表配置单元以及Windows的配置单元拷贝到虚拟机的D:盘备用。(2)启动注册表编辑器Registry Workshop注意,Registry Workshop有32位和64位之分,其中64位RegistryWorkshop只能在64位操作系统下运行。加载命令行WinPE的注册表配置单元software修改windows注册表配置单元software(此步骤在虚拟机的winpe系统中进行)加载我们复制到D:盘的windows的software配置单元(注意,不是虚拟机C: 盘中已安装的windows的注册表!),命名为aaa。(1)将aaa中的 “C:”(不含引号)全部替换为“X:” (不含引号)注意,RegisterWorkshop每次搜索上限为到1000项,如果需要替换的项多余1000项,那么需要重复操作多次。在aaa下搜索C:(注意勾选【搜索项】、【搜索值】和【搜索数据】),列出第一批1000个右击上图下部的搜索结果【全部选定】再次右击上图下部的搜索结果【替换】【替换为】键入“X: ” 【替换】;(或者在主菜单中选【搜索】【在查找结果1中替换】【替换为】键入“X: ” 【替换】。)此时系统提示“1000处被替换”【确定】。重复进行上述替换操作,究竟需要几次替换操作,以你搜索“C:”的结果是0为准。如果出现少许几项无法替换的,可忽略。(2)将aaa中的 “D:”(不含引号)全部替换为“X:” (不含引号)操作方法类似于替换“C:”。(3)在aaa下搜索Interactive User,共有76个,将其全部删除右击搜索结果【全部选定】再次右击上图下部的搜索结果【从注册表中删除】【是】导入WINPE的software配置单元(此步骤在虚拟机的winpe系统中进行)选中aaa在主菜单中选【文件】【导入】定位到我们在2.2.3中导出的WINPE的注册表配置单元software的aaa.reg单击【打开】此时系统提示“aaa.reg中的信息已经成功导入到注册表中”【确定】。进一步修改software配置单元(此步骤在虚拟机的winpe系统中进行)(1)把桌面环境(外壳)由cmd.exe改为explorer.exe定位到HKEY_LOCAL_MACHINEaaaMicrosoftWindowsNTCurrentVersionWinlogon将其中shll值的数据由“cmd.exe /k stsrt cmd.exe”改为explorer.exe(2)修复【计算机】右键菜单中的【管理】如果不进行修复,winpe启动后,右击开始菜单中的【计算机】【管理】将没有反应。定位到HKEY_LOCAL_MACHINEaaaClassesCLSID20D04FE0-3AEA-1069-A2D8-08002B30309DshellManagecommand将其数据:%SystemRoot%system32CompMgmtLauncher.exe改为:%SystemRoot%System32mmc.exe/b compmgmt.msc(3)使复制文件时出现进度条要使复制文件时出现进度条,需要修改配置单元SOFTWARE。第一步 赋予用户组Users完全控制权定位到:HKEY_LOCAL_MACHINEaaaClassesAppID515980c3-57fe-4c1e-a561-730dd256ab98右击【ClassesAppID515980c3-57fe-4c1e-a561-730dd256ab98】【Users】勾选【完全控制】【高级】【更改】【高级】【立即查找】单击【Users】【确定】【确定】勾选【替换子容器和对象的所有者】勾选【使用可从此对象继承的权限项目替换所有子对象的权限项目】【确定】【是】【确定】。第二步 修改导入下面的.reg文件:Windows Registry Editor Version 5.00HKEY_LOCAL_MACHINEaaaClassesAppID515980c3-57fe-4c1e-a561-730dd256ab98"RunAs"=""说明:对于64位PE,还需要类似地多修改一项:HKEY_LOCAL_MACHINEaaaClassesAppID41CA32F2-698A-4fd8-BB78-B102CE155F53(4)显示壁纸所需要的修改详见“附录1 基本操作”中的“例. 显示壁纸的方法”。(5)卸载配置单元aaa,关闭注册表编辑器RegistryWorkshop。(6)把D:盘上已修改过的windows的software配置单元先复制到U盘,并最终复制到文件夹“定制PE的补充文件x86(或x64)system32”备用。说明:我们在文件夹“定制PE的补充文件x86(或x64)system32”中提供了已经修改好的software配置单元。注册表中还有一些地方需要修改,我们把它放到后期定制时再来做,详见“附录3 WinPE注册表入门”。除开我们介绍的修改项,如果有必要,你可以先上网查询拟修改项在注册表中的位置,再利用Registry Workshop来比较自建winpe与样板winpe注册表以及安装后的Windows注册表中拟修改项的区别,然后对自建winpe的注册表作进一步的修改。类似的对default进行处理注意,只需要做步骤15,且步骤4中替换时仅需将C:替换为X:(因为本来就没有D:以及Interactive User)。替换PE的software和default(此步骤在操作机上进行)用2.2.6和2.2.7中得到的software和default替换PE的software和default。把文件夹“定制PE的补充文件x86(或x64)system32”中的software和default配置单元放进WINPE中覆盖同名文件。添加运行explorer所必须的文件如果缺少了关键文件,运行explorer时将会出错,例如缺少MMC,计算机右键菜单“管理”变成英文且无效;如果缺少Ctfmon,桌面将没有语言栏;如果缺少某些文件,控制面板的“调整屏幕分辨率”将无效;如果缺少Theme,桌面背景将变为黑色;如果缺少WinSXS,x64PE将不能固定光盘盘符;如果缺少SysWow64,x64PE将不能支持32位应用程序,等等。怎么知道需要添加哪些文件?这可以有两种方法。一是参考样本PE从windows原版文件中照搬;二是根据你想要的winpe功能从windows原版文件中移植。前者简单,但是总要落后于别人;后者复杂,需要了解windows原版文件的用途,但是可以做中国第一。当然,也可以结合上述两种方法,先使用第一种方法建立一个基本winpe,再使用第二种方法来排除故障。需要注意的一点是,当你添加了某些文件后,winpe系统将无法正常启动。其表现可能是反复自启动,或者提示“Recovery”,或者黑屏无反应等等。遇到这种情况,就必须利用分批拷贝文件的方法,找出是哪个文件导致的这种现象,否则添加文件的工作将无法继续。有的时候甚至会出现只要动了内核,就无法启动winpe的现象,哪怕只是加载内核,什么都不动,紧接着卸载内核都无法启动winpe。遇到这种情况,可以首先格式化L:盘后重新制作winpe;要是还不行,就得找出是添加了哪些文件导致的。参考样本PE从windows原版文件中照搬这里以x86系统为例,对于x64系统,把下文中的“x86”改成“x64”即可。我们利用文件差异比较工具(例如Beyond Compare),对文件夹L:winpemount(我们在上述2.1中获取的命令行WINPE) 和文件夹“F:参考PE_ x86”进行比较。只要是F:参考PE_x86中有,且F:windows_x86中也有,而命令行PE中没有的文件,就从F:windows_x86中拷贝到你自己做的命令行winpe(L:winpemount)的对应目录中。拷贝时不要覆盖你自己做的winpe目录中的已有同名文件。具体操作步骤如下:第1步 提取winpe内核用7-zip将自己做的winpe的内核文件boot.wim提取到文件夹“L:winpe_x86_内核”(或者“L:winpe_x64_内核”)。第2步 比较文件(以比较文件夹Windows为例)运行Beyond Compare单击左侧的【文件夹比较】在左侧窗口中打开文件夹“L:winpe_x86_内核Windows”在右侧窗口中打开文件夹“F:参考PE_ x86Windows”在主菜单中选【编辑】【展开所有】在主菜单中选【查看】单击【忽略文件夹结构】和【显示右侧孤立项】(此时该两个选项前面的图标会出现一个正方形小框)选中右侧窗口中的所有文件右击右侧窗口【复制文件名】打开“F:定制PE的补充文件批处理拷贝文件源文件清单_排序”清空文件中的原有内容右击文件中的空白处【粘贴】在主菜单中选【文件】【保存】。第3步 修改“源文件清单_排序”并将其内容复制到“源文件清单.txt”修改“源文件清单_排序”,使其符合下面的要求:清单中的每一行必须含有路径;路经的最上层为:Windows、Program Files、Program Files(x86)、ProgramData或Users(有时可能还有sources);对“源文件清单.txt”中的内容进行升序排序,这可以将其内容转换成单列表格形式,排序后再转换成文本形式;清单中可以使用注释语句REM,也可以有空行。完成后将其内容复制到“源文件清单.txt”中。说明:“源文件清单.txt”中的内容也可以是从网上下载的WinPE文件清单。第4步 生成批处理ADDFiles.bat和AddFolder.bat我们提供批处理来协助进行这步工作。以管理员身份运行批处理“自动制作winpeNaNd”,在主菜单中执行“生成拷贝系统文件的批处理”。生成的批处理AddFolder.bat用来自动在你自己做的命令行winpe(L:winpemount)中建立必要的文件夹;而批处理ADDFiles.bat用来自动从F:windows_x86中将文件拷贝到你自己做的命令行winpe(L:winpemount)的对应目录中。第5步 利用比较结果把生成的ADDFiles.bat和AddFolder.bat拷贝到文件夹“F:定制PE的补充文件批处理”中。如果文件夹“F:定制PE的补充文件批处理”中已经存在ADDFiles.bat,而这次是补充新的文件,则把两个ADDFiles.bat文件的内容合并。对AddFolder.bat也一样。当然也可以不合并而是将补充新文件的ADDFiles.bat改名为ADDFiles2.bat,编号最大可以到5,再大就需要修改批处理文件“生成WinPE_ISO文件.bat”。对补充新文件夹的AddFolder.bat也一样改名。特别提示:(1)和制作win7pe时不同,如果使用win8的原装资源管理器explorer.exe, 启动PE后,不会直接出现桌面图标,而是需要右击桌面点刷新才能显示桌面图标;而且打开的程序不会在任务栏出现图标;当然,打开的窗口最小化后,任务栏也不会出现图标。对此问题,目前的win8pe一般均采用变通办法:使用win7的explorer.exe.mui,同时对win8的explorer.exe进行修改,并另行制作一个文件wrp32.dll(x64为wrp64.dll)和explorer.exe放在一起。这样一来,除开解决上述问题之外,还可以出现win7的开始菜单。至于explorer.exe和wrp32.dll(或wrp64.dll)具体是怎么做出来的,从网上没有查到制作方法。我们知道,利用工具软件patchex7可以使装有windows 8的机器出现开始菜单。但是直接将patchex7处理后的windows 8中的explorer.exe、explorer.exe.mui和wrp32.dll(或wrp64.dll)复制到winpe中并不能用!注意,patchex7中