至此,在不修改原版文件,不添加第三方文件的基础上,初步实现了explorer的运行。不过大家也看到,这样一个winpe显然是不能让人满意的。
原生态winpe添加explorer教程(下):explorer的完善设
置
前面讲到explorer初步加入winpe的过程,然而,这样的winpe显然需要进一步改进。继续,GO!
6、winpe运行explorer的初步完善: 1)、win7主题的启用
a、找到正在运行的win7注册表
HKEY_LOCAL_MACHINE\\SYSTEM\\ControlSet001\\services下面,导出与win7相关的几项DXGKrnl, monitor,Schedule,Themes,UxSms和vga,加载
D:\\TEMP\\winpe3.1\\org\\mount\\Windows\\System32\\config下system文件到注册表,并命名为pe-sys,把刚才导出的win7的那6项服务导入到pe-sys下\\ControlSet001\\services中。
b、在pe-sys的\\Setup\\AllowStart\\中添加项Themes。 c、这是唯一需要文件修改与添加的地方,详见
http://bbs.wuyou.com/viewthread.php?tid=167092,用hex编辑器打开winlogo.exe,查找4D0069006E0069004E005400,最后两位改为01即可。下载ux.exe,在运行explorer前运行此小程序即可。 2)、桌面背景的应用 a、找到注册表
HKEY_LOCAL_MACHINE\\System\\ControlSet001\\Control\\ProductOptions,导出,并导入到pe-sys的ControlSet001\\Control\\ProductOptions下。 b、在pe-sys下\\ControlSet001\\Control\\Lsa添加“LmCompatibilityLevel”=dword:00000002。 c、找到正在运行的win7注册表
HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer下,导出 Advanced,Personalization和HideDesktopIcons备用,导出HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\DWM备用。 d、加载D:\\TEMP\\winpe3.1\\org\\mount\\Windows\\System32\\config下default文件到注册表,并命名为pe-def,把c步骤中的4项修改路径后导入pe-def。好了,现在winpe已经能很好地运行explorer了。
7、通过winpe自带的几个小程序实现一些常用功能 1)、驱动的加载程序 —— drvload.exe
经常有人问该怎么加入驱动,准备好你的驱动文件,看了下面的图片你就清楚了,格式就是drvload (inf文件路径)。
2)、winpe的初始化设置 —— wpeinit.exe 首先你得建立一个应答文件,打开Windows系统映像管理器,想偷懒的可以直接以win7的安装文件为基础,打开安装盘source文件夹下install_windows 7 ultimate.clg,再新建应答文件,传送Components中的Microsoft-Windows-Setup到winpe,在这里可以设置屏幕分辨率、计算机名和页面文件等,删掉不需要的部分,保存为init.xml。
调用如下:
wpeinit.exe /unattend=X:\\Users\\Default\\Documents\\init.xml 3)、winpe工具 —— wpeutil.exe
这个工具非常实用,大家可以参看WAIK的帮助文件,如果不用第三方程序,winpe的关机和重启就是通过它实现的,如:
wpeutil shutdown 关机 wpeutil reboot 重启
wpeutil CreatePageFile /path=C:\\pagefile.sys。设置虚拟内存 wpeutil DisableFirewall 开关防火墙 (Enablefirewall) 4)、explorer的自动载入 —— winpeshl.exe
我们可以让winpe自动载入explorer并启用主题,修改
D:\\TEMP\\winpe3.1\\org\\mount\\Windows\\System32\\winpeshl.ini中的内容为: [LaunchApps]
wpeinit.exe /unattend=X:\\Users\\Default\\Documents\\init.xml ux.exe
X:\\windows\\explorer.exe
没有应答文件直接运行wpeinit.exe。当然,还可以加载更多的程序。一行一行的添加就行了。
8、使用windows的其他功能和设置: 1)、windows程序的添加
由于直接使用了修改的win7的software注册单元,其他功能的添加就更简单了,基本不用改注册表,直接复制文件就是了。
a、比如要加入ie8,就复制Program Files\\Internet Explorer下所有文件(以及system32文件夹下相关文件)到D:\\TEMP\\winpe3.1\\org\\mount\\Program Files下即可。注意这是64位ie,你要愿意也可以Program Files(x86)下的32位ie。
b、同理,要使用windows的查看图片功能,就复制Windows Photo Viewer即可,其他类似。
c、要用控制面板、控制台,就复制相应的cpl和mmc文件,要使winpe支持.net framework,将win7下的assembly和Microsoft.NET放进去就可以了(同时支持v2.0和v3.0,v3.5会很大)。
d、64位winpe的32位程序支持(WOW64)同样不需要配置注册表,拷贝syswow64以及system32下的wow相关文件就可以了。注意,要支持多少wow64程序取决于你拷贝syswow64文件夹中的文件。道理很简单,和system32中的一样,你不复制mfc.dll不会对你的winpe有影响,但是那样你就不能支持需要这个dll的程序。 2)、windows服务的添加
winpe不能安装msi格式的安装包,我们便以给winpe添加msi服务为例(添加其他服务类似)。
a、确认文件复制完整后,把加载win7安装文件的system配置单元到注册表并命名为pe-sys,找到下面的ControlSet001\\services\\msiserver,全部导出备用,卸载pe-sys。
b、加载winpe的system配置单元
(D:\\TEMP\\winpe3.1\\org\\mount\\Windows\\System32\\config下system文件)到注册表并命名为pe-sys,导入刚才导出的msiserver即可。 3)、windows的一些设置
winpe的default单元主要对应windows的HKEY_CURRENT_USER,software单元对应HKEY_LOCAL_MACHINE\\SOFTWARE,system单元对应HKEY_LOCAL_MACHINE\\SYSTEM,所以你要设置计算机名、桌面图片、oem信息和图片、隐藏夹显示与否、开始菜单、任务栏和桌面什么的全在这里,位置和项目与windows的类似。
4)、微软拼音的添加:文件很大,不推荐。真的想要可以看waik的帮助文件,批处理都给你写好了。
9、一些需要注意的地方和其他程序的加入:
1)、计算机管理不能在“我的电脑”上用右键打开,加载winpe注册表software单元,修改
Classes\\CLSID\\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\shell\\Manage\\command 为 X:\\System32\\mmc.exe /b。
2)、“关机”按钮无效,可以改software单元的
Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer 添加 “NoClose”=dword:00000001 或 0(移出或显示”关机”按钮)。
3)、如果你不添加桌面右键菜单“小工具”很难看,可以去掉。同样,删除
\\Classes\\Directory\\Background\\shellex\\ContextMenuHandlers\\Gadgets 和 Classes\\DesktopBackground\\Shell\\Gadgets 即可。
4)、用户文件夹的更改,默认在config文件夹下,建议改到X:\\Users\\Default下,可在Microsoft\\Windows NT\\CurrentVersion\\ProfileList\\S-1-5-18 下修改。 5)、MSDaRT工具的加入,可以用7zip打开MSDaRT65_x64.msi文件,提取其中的tools.cab和Sweeper.cab中mount文件夹合并到winpe即可(32位类似)。 6)、其他绿色程序的加入与快捷方式:如果文件不大,可以直接放到program files目录下并和wim文件一起打包,你也可以单列出来放到光盘上,或打包成新的wim文件,进入winpe后再挂载,桌面快捷方式在\\Users\\Default\\Desktop,锁定到任务栏快捷方式在\\Users\\Default\\AppData\\Roaming\\Microsoft\\Internet Explorer\\Quick Launch\\User Pinned\\TaskBar,另外还需要导入default单元的
\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Taskband 项。
7)、整合第三方程序:同理,在8.3)中已讲了注册表的对应,照着添加就是了。可以用注册表工具分别扫描安装程序前后的注册表,提取需要写入的键值(相对于文件加入操作)。
10、有关winpe的一些讨论:
1)、关于winpe其他文件和驱动的加入以及精简
大家注意到用微软自带的winpeshl.exe载入explorer关机按钮无效,如果需要可以使用pecmd,方法详见 http://bbs.wuyou.com/viewthread.php?tid=144701,pecmd有自己的一套东西,操作起来会方便一些,大家可以根据需求与喜好用pecmd替换掉winpeshl,并写入winpe注册表software单元中的CmdLine。驱动可以加入windows/inf下面,也可以外置,你要什么就加什么,对于不需要某些驱动的人,多的驱动反而要精简掉,所以驱动这个东西还是自己加比较好。
winpe的精简总是矛盾的,比如字体文件,原版的中文winpe3.1字体文件很大,其中mingliu.ttc有31M,网上也有号称完美精简的字体,用了后文件是小了,但有些程序总是乱码,或是对不齐,其实这个”完美精简”只是在特定的条件下,用(或不用)特定的程序才能实现。你可以反过来想一想,如果真的能”完美”,微软何必要把它做到31M再留给你精简(还有shell32.dll等也类似)?再如:msyh.ttf也有21M,砍掉后就没启动动画了,当然其他一些字体或是文件确实用不上(如其他语言的nls,mui文件),或者你用的那些程序都用不上这些东西就完全可以删除。
结语:“原生态winpe添加explorer的初级教程”到此结束,里面讲到的东西都很基本,也肯定有很多不准确的地方,做出来的winpe也很粗燥。其实用winbuilder一类的工具完全可以轻易、快速的做出来,不过众口难调、各有所爱。别人的winpe再好,对于你来说不一定好。一个适合自己的WINPE才是最好的。希望本文能对WINPE爱好者们制作自己的WinPE有所帮助,愿大家都能做出自己满意的winpe!!!!!
百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典综合文库原生态winpe添加explorer教程(2)在线全文阅读。
相关推荐: