制作自己的特色PE----Mr.Zhang


必备的文件和工具

win7.iso/win8.iso

Windows系统ISO镜像

WimTool

BOOT.WIM文件的修改

RegWorkShop

注册表编辑和分析利器

UltraISO

修改win7.iso/win8.iso

关于系统镜像下载地址我推荐:

windows教程网:http://www.windowsjc.com/ ,此网站包含了windows系统各种版本系统镜像。

全局注意:

①每次修改注册表的时候都留心一下:

C:\   D:\  应改为 X:\ ; Interactive User 应全部删除.

②注册表技巧,解决注册表问题途径:

①每次修改注册表的时候都留心一下:

C:\   D:\  应改为 X:\ ; Interactive User 应全部删除.

②注册表技巧,解决注册表问题途径:

熟练使用RegWorkShop,RegShot,可配合其他优化软件灵活使用.

③Windows\System32\config下文件:

SOFTWARE  对应 HKEY_LOCAL_MACHINE\SOFTWARE;

SYSTEM  对应 HKEY_LOCAL_MACHINE\SYSTEM;

DEFAULT  主要对应 HKEY_USER

1 准备WinPE本身需要的文件

1.1 下载WIN7.ISO或者WIN8.ISO           /* 按需选择 */

1.2 保留下列文件,其他都删了            /* 只支持BIOS,不想支持UEFI的情况下 */

BOOT\BCD

BOOT\BOOT.SDI

SOURCES\BOOT.WIM

BOOTMGR

具体用ultraiso来操作:

1.2.1导入iso系统

下图便是我下载系统iso的所有文件

删除时,我们仅需选中文件,然后点击图中差号即可(建议备份一份下载的系统iso镜像,因为我们修改后系统将改变,如若修改错误,可能我们还得重新下载,那就得不偿失了)。如下图所示:

这样我们将修改好的系统iso保存或者另存就行了。修改后的系统iso为:

2 获取所需文件权限

为了能够在Win7下顺利制作PE,必须获得相关文件的权限.

2.1 用WimTool解开BOOT.WIM第一个卷(Windows PE)为BOOT文件夹

这里我是先将原系统用ultraisO进行提取,把他提取到一个位置,再用wim tool对BOOT.wim进行解开后处理。

默认是提取到下图所示位置(这里我已经提取完成了):

接下来我们就要进行对提取出的boot.WIM进行处理,我们这里用wimtool工具。

默认情况,就是对映像的卷号1进行解开,点击“解开映像”,进行解开。

2.2 获取BOOT文件夹及其子文件的完全控制权

鼠标右键BOOT文件夹->属性->安全选项卡->高级->更改权限->添加->输入everyone->确定->勾选"完全控制",其他选项会自动勾上->应用于"此文件夹,子文件夹"->确定->删除Everyone,SYSTEM以外的权限项目->勾选"使用可从此对象继承的权限替换所有子对象权限"->确定

->所有者选项卡->编辑->其他用户或组->输入everyone->确定->勾选"替换子容器和对象的所有者"->确定

[注意:由于文件过多,需要重复执行以下操作几次:1."使用可从此对象继承的权限替换所有子对象权限"->确定;2."替换子容器和对象的所有者"->确定]

具体步骤,我还是以图的形式进行说明.

右击文件夹,点击"属性",选择“安全”,点击“高级”

    

点击“添加”,输入everyone,点击“确定”然后,勾选第二条。

这里往往会出现一个问题,就是“拒绝访问”。解决此问题的方法是,用管理员获得此授权,然后再重复上述步骤就可以了。

接下来进行所有者权限设置:

2.3 获取WinPE注册表的完全控制权

2.3.1 加载注册表

加载注册表配置单元方法(选自:http://technet.microsoft.com/zh-cn/library/cc732157.aspx):

若要加载或卸载注册表配置单元,请使用注册表编辑器。“加载配置单元...”和“卸载配置单元...”命令仅对 HKEY_USERS 和 HKEY_LOCAL_MACHINE 项有效,并且仅在选定这些预定义项时才可用。

将配置单元加载到注册表时,该配置单元将成为这些项中某个项的子项。

将配置单元加载到注册表的步骤

  1. 打开注册表编辑器。
  2. 单击 HKEY_USERS 项或 HKEY_LOCAL_MACHINE 项。
  3. 在“文件”菜单上,单击“加载配置单元...”。
  4. 找到要加载的配置单元,然后单击该配置单元。
  5. 单击“打开”。
  6. 在“项名称”中,键入要分配给该配置单元的名称,然后单击“确定”。

卸载注册表配置单元方法(http://technet.microsoft.com/zh-cn/library/cc732157.aspx):

卸载注册表配置单元的步骤

  1. 打开注册表编辑器
  2. 选择以前已加载到系统上的配置单元。
  3. 在“文件”菜单上,单击“卸载配置单元...”。

"运行"->输入Regedit->加载boot\Windows\System32\config下的DEFAULT,SYSTEM,SOFTWARE分别命名为pe-def,pe-sys,pe-soft,或者我们直接用Registryworkshop来进行对注册表的修改。

接下来我们还是以图形式进行说明:

其它两个操作和此一样,只是DEFAULT主要对应 HKEY_USER。

2.3.2 分别对每个加载单元进行如下操作:

右键->权限->高级->添加->输入everyone->确定->勾选"完全控制",其他选项会自动勾上->应用于"此文件夹,子文件夹"->确定->删除Everyone,SYSTEM以外的权限项目->勾选"使用可从此对象继承的权限替换所有子对象权限"->确定

->所有者选项卡->编辑->其他用户或组->输入everyone->确定->勾选"替换子容器和对象的所有者"->确定

[注意:由于文件过多,需要重复执行以下操作几次:1."使用可从此对象继承的权限替换所有子对象权限"->确定;2."替换子容器和对象的所有者"->确定]

(操作和上边对boot文件操作一样,此处不再详细图解。)

——至此,我们就获得了并统一了WinPE几乎所有文件的控制权限,后面制作WinPE就非常顺利了.

3 注册表修改

3.1 选中加载的SOFTWARE单元pe-soft

3.2 修改注册表中关于路径的值

在pe-soft下搜索 $windows.~bt\ ,替换为 (空)

[(1).替换   “D:\”                      为    “X:\”      (2).替换 
 “$windows.~bt\ ”    为    “ ”  一般情况默认就是X:\]

点击“确定”就行,因为我们要替换成空。

有时候会出现提示什么安全问题而无法进行路径修改,原因很可能在于你前期的工作没有做好,需要重复上面的工作,多重复几次获取权限。

在pe-soft下搜索 Interactive User,找到后全部删除.

[没有的就不用改了]

3.3 同理,对pe-def(有时次注册表项没有),pe-sys也进行此操作

3.4 卸载pe-def,pe-sys,pe-soft

注意:有时会出现下图情况

解决此问题有时并不是权限问题,重新启动一下Registry Workshop就解决了。

4 WinPE制作好了!!!   这就是原汁原味的微软官方WinPE了.

4.1 打包测试

用WimTool把BOOT文件夹新建映像为BOOT.WIM,原版的BOOT.WIM文件可移到他处作为备份,以便随时还原,保存修改的ISO并测试.

然后将改完后的boot.wim在覆盖到修改后的操作系统中。具体操作如下:

这样我们的pe基本制作就完成了,接下来我们可以将制作好的PE放在U盘中,如何做呢?

其实我们可以继续借助ultraIso工具进行将精简后的系统iso PE写入到U盘中,具体操作如下:

接下来“写入”就是了。

4.1.1 原版的BOOT.WIM启动效果

/****************************************************************************

背景知识:

BOOT.WIM中包含卷#1 Windows PE,卷#2 Windows Setup(Windows PE增强版,用来安装操作系统的).

由于WIM文件只允许一个卷可启动,BOOT.WIM真正起作用的是可启动卷#2 Windows Setup .

卷#2 在卷#1 的基础上追加了一些安装相关的文件,专门用来自启动安装环境的,它检测到并启动了setup.exe.

又因WIM特殊压缩算法,两个卷共用文件,不影响体积.

****************************************************************************/

4.1.2 WimTool直接解开BOOT.WIM,再打包的启动效果

/****************************************************************************

背景知识:

WimTool 默认解开WIM镜像的卷#1,即Windows PE,这正是我们需要的.也可采用好压等工具直接解开卷#1,前提是能打开查看此WIM文件.

此时新建的BOOT.WIM,注册表相关环境和微软纯粹的WinPE,即winpe.wim还有差别,我们需要做一些工作.

****************************************************************************/

4.1.3 修改的BOOT.WIM启动效果

/****************************************************************************

背景知识:

在处理了注册表后,BOOT.WIM的注册表环境和winpe.wim一致,而文件环境本就差不多.

这时的BOOT.WIM已经相当于原汁原味的微软官方WinPE——源自原版BOOT.WIM卷#1,此时,只有一个卷,无分卷.

****************************************************************************/

4.2 必要的精简

因为BOOT.WIM镜像原本垃圾文件就多,我们可以适当精简,便于后面的工作.但也不要过火,以免留下后患.

\Windows\fonts               /* 可适度删除 */

\Windows\winsxs\Backup   /* 可以删除 */

\Windows\System32\zh-TW...zh-HK...uk-UA...sr-Latn-CS...等        /* 存放*.dll.mui 的文件夹,仅保留zh-CN,其他都可删除 */

5 添加explorer

5.1 修改注册表

5.1.1 加载WinPE的注册表文件SOFTWARE为pe-soft,然后导出为pe-soft.reg备用

[其实,熟练的话,在前面的步骤就可以导出备用了.]

具体步骤如下:

首先,我们先将刚制作好的WinPE中的boot.wim用wimtool解开,具体图解参照上述操作。

其次,将解开后的文件用registry workshop加载其SOFTWARE,并加载为pe-soft,然后导出为pe-soft.reg

5.1.2 修改权限[与前面的操作一样滴]

用WIMTool解压Win7.iso(这是原操作系统)的install.wim文件中最后一个卷(旗舰版Windows),定位到Windows\System32\config下,把software文件加载到注册表,命名为pe-soft.(把之前那个卸载掉就好)

这里往往会出现无法加载的问题.

我的解决方法是:

将此文件夹用管理员获取权限,具体操作上述已经讲过。

右键加载的注册表单元pe-soft——>"权限"——>"高级"中添加Everyone的完全控制权限,删掉Everyone和System以外其他用户权限,然后替换所有子项的权限;(注:这里替换时可能不如之前设置权限的快,我觉得可能原因在于此文件比较大些,我看了一下它的大小,大约为33m)

右键加载的注册表单元pe-soft——>"权限"——>"高级"中替换"所有者"为Everyone,然后替换所有子项的所有者.

[注意:请重复几次——因为文件过多,一次操作可能有遗漏,软件处理能力有限,操作步骤和之前设置权限的一样]

5.1.3 编辑注册表

在pe-soft下搜索 Interactive User,找到后全部删除.

删除时有时会碰见一下情况:

对于此问题的解决,我先试着重新授予权限操作,如果还是不行的话,可以进行修改操作,具体操作如下:

当然需要注意的是(如果你没修改即使按上述操作,也不会删除):

在pe-soft下搜索 C:\   D:\ ,全部替换为 X:\

[注意:RegWorkshop每次只能搜索到1000项,而需要替换的有几千项,需要重复操作几次.c:\只有一个,D:\多余1000多项。搜索时请将keys/value/data三项都勾选,搜索结果出现在下面的窗口,在搜索结果窗口中选中所有项,鼠标右键→替换或删除]

5.1.4 得到WinPE的SOFTARE完整注册表

把之前导出的pe-soft.reg导进来,覆盖Win7系统的SOFTWARE注册表加载单元pe-soft

[同名在于确保路径统一,以覆盖Win7系统的注册表]此处覆盖是追加。

5.1.5 继续修改pe-soft

找到pe-soft下\Microsoft\Windows NT\CurrentVersion\Winlogon下,

把"Shell"="cmd.exe /k start cmd.exe" 改成 "Shell"="explorer.exe"

然后,卸载pe-soft.

5.2 准备文件

5.2.1 方案一:精确式

从install.wim中拷贝这些文件到boot.wim中同样的位置:

=====================================

//进入SHELL需要添加以下文件

Windows\explorer.exe

Windows\zh-CN\explorer.exe.mui

Windows\System32\ExplorerFrame.dll

Windows\System32\zh-CN\explorerframe.dll.mui

=====================================

//为了稳定而添加的文件

Windows\System32\actxprxy.dll   /*没有它,会提示"explorer.exe不支持此接口" */

Windows\System32\comctl32.dll

Windows\System32\zh-CN\comctl32.dll.mui

Windows\System32\mscories.dll

Windows\System32\oledlg.dll

Windows\System32\zh-CN\oledlg.dll.mui

Windows\System32\shdocvw.dll

Windows\System32\zh-CN\shdocvw.dll.mui

Windows\System32\shellstyle.dll

Windows\System32\zh-CN\shellstyle.dll.mui

=====================================

//为了美观而添加的文件——与版权信息,开始菜单按钮等图标有关

Windows\Branding\Basebrd\basebrd.dll

Windows\Branding\Basebrd\zh-CN\basebrd.dll.mui

Windows\Branding\ShellBrd\shellbrd.dll

=====================================

[注意:若要拓展功能,可参考附件"Win7PE_X64支持文件列表",不覆盖式拷贝 install.wim 中的文件.若要制作 骨头版WinPE ,反而要开始精简 BOOT.WIM 中原有的文件了.]

5.2.2 方案二:偷懒式

——大家知道,WinPE的灵魂是注册表,文件处理方面较为好办,如有现成的WinPE,可不必大费周章.

偷懒又保险的方法:

可以直接不覆盖式拷贝正常 WinPE 的 Windows 文件夹, winpeshl.ini 不要拷贝!其他文件随便.

要求不高的,选择 骨头WinPE ;要求高的,选择 多功能WinPE ;请自行选择你喜欢的 WinPE 作为基础.

5.3 打包测试

通过上面的步骤,我们得到了"史上最完整的"WinPE的SOFTWARE注册表.

现在,重新打包boot.wim,保存修改后的WinPE的ISO.我这里还是将新的boot.wim导入到精简后的iso中,然后替换。

启动VMWare虚拟机测试,还是命令提示符窗口,不过你现在运行explorer.exe.看看,熟悉的explorer是不是已经出来.

6 explorer的初步完善

这里需要利用激活的Win7系统注册表,导入PE后,相关配置和Windows呈现一样的效果,所以,请先在Windows下配置好.

处理的注册表较多,先加载好pe-soft,pe-sys,pe-def.

6.1 explorer 的个性化设置

6.1.1 Advanced配置

这里的配置很重要(下面在正运行的Win7中配置好,将来在PE中explorer的特性就与这些配置一样):

在正在运行的激活的Win7中,打开explorer资源管理器,在菜单→文件夹和搜索选项,在"常规"页面,勾选"显示所有文件夹"和"自动扩展当前文件夹";在 "查看"页面,按你的习惯勾选(如显示隐藏文件,显示扩展名等),特别注意:一定要勾选"在单独进程中打开文件夹窗口"(否则PE启动后再插入U盘,U盘不可见);然后,定位到Win7的HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced,导出为Advanced.REG,用记事本编辑,"
[HKEY_CURRENT_USER\"全部替换为: " [HKEY_LOCAL_MACHINE\PE-DEF\",再导入PE-DEF.

6.1.2 其他配置

导出Win7系统以下注册项:

①HKEY_LOCAL_MACHINE\System\ControlSet001\Control\ProductOptions   /*壁纸出现了*/

②HKEY_CURRENT_USER\Software\Microsoft\Windows\DWM                   /* Desktop Window Manager */

③HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Personalization   /* 个性化 */

④HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons /*桌面图标的显示隐藏:计算机,回收站,用户的文件,控制面板,网络*/

用记事本修改①~④导出的.REG文件,路径分别改为:

①HKEY_LOCAL_MACHINE\pe-sys\ControlSet001\Control\ProductOptions

②HKEY_LOCAL_MACHINE\PE-DEF\Software\Microsoft\Windows\DWM

③HKEY_LOCAL_MACHINE\pe-soft\Microsoft\Windows\CurrentVersion\Personalization

④HKEY_LOCAL_MACHINE\pe-soft\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons

保存修改,全部选中,右键"合并",即可覆盖到PE的注册表中

6.1.3 显示我的电脑图标

在HideDesktopIcons\NewStartPanel下添加:

"{20D04FE0-3AEA-1069-A2D8-08002B30309D}"=dword:00000000

6.1.4 在pe-sys下\ControlSet001\Control\Lsa添加"LmCompatibilityLevel"=dword:00000002

6.2 win7主题的启用

6.2.1 定位到正在运行的win7注册表HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services下面,导出与win7相关的几项DXGKrnl, monitor,Schedule,Themes,UxSms和vga.

把刚才导出的win7的那6项服务导入到pe-sys下\ControlSet001\services中.

6.2.2 在pe-sys的\Setup\AllowStart\中新建项Themes

6.2.3 这是唯一需要文件修改与添加的地方. 参见 http://bbs.wuyou.com/viewthread.php?tid=167092 用hex编辑器打开winlogon.exe,在其中查找unicode字符串minint,修改其中任一字母,只要和原先不一样即可,比如,改成minins. 下载ux.exe,在运行explorer前运行此小程序即可启用Win7的basic主题.  ux.rar (3.97
KB, 下载次数: 523)

/****************************************************************************

背景知识:system用户下只能启用basic主题,没有aero特效.

想要启用aero特效的朋友,可搜索无忧相关资料,有详细介绍.不过,本人不建议这么做,因为PE的SYSTEM权限是它生存的意义所在,为此要绕很多圈子.

****************************************************************************/

6.2.4 其他需要补充的文件,见附件"Win7PE_X64支持文件列表"

6.2.5 解决X盘的容量过小问题——开启主题等,需耗费内存,这里借机扩充一下

加载注册表system单元,展开至/ControlSet001/Services/FBWF,新建二进制dword(32位)值,命名为WinPECacheThreshold,修改键值为200.(这是512MB,可以根据需要修改键值)

6.2.6 卸载PE的所有注册表加载单元,检验效果.

7 通过winpe自带的几个小程序实现一些常用功能.

7.1 驱动的加载程序—Drvload.exe

经常有人问该怎么加入驱动,准备好你的驱动文件,看了下面图片你就清楚了,格式就是drvload (inf文件路径)

7.2 winpe工具—Wpeutil.exe

这个工具非常实用,大家可以参看WAIK的帮助文件.如果不用第三方程序,pe的关机和重启就是通过它实现的.下面列了几个有用的

wpeutil shutdown 关机

wpeutil reboot 重启

wpeutil CreatePageFile /path=C:\pagefile.sys.设置虚拟内存

wpeutil DisableFirewall 开关防火墙 (Enablefirewall)

7.3 winpe的初始化设置—Wpeinit.exe

7.3.1 Wpeinit.exe的介绍

Wpeinit 是命令行工具,它在每次启动 Windows PE 时,对其进行初始化.当 Windows PE 启动时,Winpeshl.exe 执行启动 Wpeinit.exe 的 Startnet.cmd.

具体地说,Wpeinit.exe 安装 PnP 设备,处理 Unattend.xml 设置并加载网络资源.

另外,Wpeinit 会将日志消息输出到 c:\Windows\system32\wpeinit.log.

7.3.2 Wpeinit.exe的使用

首先你得建立一个应答文件,打开Windows系统映像管理器,想偷懒的可以直接以win7的安装文件基础,打开安装盘source文件夹下install_windows 7 ultimate.clg.

再新建应答文件,传送Components中的Microsoft-Windows-Setup到pe,在这里可以设置屏幕分辨率,计算机名,页面文件等等,删掉不需要的部分,保存为init.xml

调用如下:

wpeinit.exe /unattend=X:\Users\Default\Documents\init.xml

7.4 explorer的自动载入—Winpeshl.exe

7.4.1 比如,我们可以让winpe自动载入explorer并启用主题,新建ISO\Windows\System32\winpeshl.ini 中内容为:

[LaunchApps]

wpeinit.exe /unattend=X:\Users\Default\Documents\init.xml

ux.exe

X:\windows\explorer.exe

/* 没有应答文件直接运行wpeinit.exe.当然,还可以加载更多的程序,一行一行的添加就行了. */

/****************************************************************************

背景知识:Windows PE 提供了三种方法启动自定义脚本:Winpeshl.ini,Startnet.cmd 和 Autounattend.xml.

Windows PE 默认界面是一个命令提示符窗口.但是,您可以创建自定义的 Winpeshl.ini 文件,以运行自己的外壳应用程序(SHELL).也可以创建自己的 Startnet.cmd 版本来运行特定的命令集,批处理文件或脚本.

****************************************************************************/

7.4.2 删除startnet.cmd

当你加入上面的Winpeshl.ini文件时,Winpeshl.exe不再检测startnet.cmd是否存在,startnet.cmd已经不起任何作用了,删不删掉都可以.

8 使用windows的其他功能和设置

8.1 windows程序的添加

由于我们直接使用了修改的win7的software注册单元,其他功能的添加就很简单了.基本不用改注册表,直接复制文件就是了.

8.1.1 比如要加入ie8,就复制Program Files\Internet Explorer下所有文件(以及system32文件夹下相关文件)到ISO\Program Files下即可.

[注意:这是64位ie,你要愿意,也可以Program Files(x86)下的32位IE.]

8.1.2 同理,要使用windows的查看图片功能,复制Windows Photo Viewer即可,其他类似.

8.1.3 要用控制面板,控制台,复制相应的cpl和mmc文件,要使winpe支持.net framework, 复制win7的的assembly和Microsoft.NET放进去就可以了(同时支持v2.0,v3.0和v3.5会很大,不知道网上有没有精简的)

8.1.4 64位winpe的32位程序支持(WOW64)同样不需要配置注册表,拷贝syswow64以及system32下的wow相关文件就可以了.

[注意:要支持多少wow64程序取决于你拷贝syswow64文件夹中的文件.和system32中的一样,你不复制mfc.dll不会对你的pe有影响,但是那样你就不能支持需要这个dll的程序.]

8.2 windows服务的添加.

winpe不能安装msi格式的安装包,我们以给winpe添加msi服务为例,添加其他服务类似.

8.2.1 确认文件复制完整后,把加载win7安装文件的system配置单元到注册表并命名为pe-sys.找到下面的ControlSet001\services\msiserver 全部导出备用. 卸载pe-sys.

8.2.2 加载winpe的system配置单元(:ISO\Windows\System32\config下system文件)到注册表并命名为pe-sys,导入刚才导出的msiserver即可.

8.3 windows的一些设置

你要设置计算机名,桌面图片,oem信息和图片,隐藏夹显示与否,开始菜单,任务栏,桌面什么的,网上很多了,这里列举几个:

8.3.1 壁纸与用户头像

壁纸文件:ISO\Windows\system32\winpe.bmp

//修改路径在这里:HKEY_LOCAL_MACHINE\DEFAULT\Control Panel\Desktop\WallPaper

用户头像文件:ISO\ProgramData\Microsoft\User Account Pictures\user.bmp

8.3.2 修改计算机右键属性内容

用ResHacker.exe工具修改Windows\System32\zh-CN下systemcpl.dll.mui文件即可.

8.3.3 开始菜单和桌面

控制开始菜单的显示项目:

\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced

桌面图标的显示和隐藏:

\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons

8.3.4 计算机名称的修改

加载PE的system文件,修改如下键值:

Controlset001\Control\ComputerName\ActiveComputerName\ComputerName

Controlset001\Control\ComputerName\ComputerName\ComputerName

Controlset001\Control\Session Manager\Environment\COMPUTERNAME

Controlset001\Services\Tcpip\Parameters\Hostname

Controlset001\Services\Tcpip\Parameters \NV Hostname

8.4 微软拼音的添加: 文件很大,不推荐,我就不写了,真的想要可以看waik的帮助文件,很简单,批处理都给你写好了.

9 一些需要注意的一些地方和其他程序的加入

9.1 用户文件夹的更改,默认在config文件夹下,建议改到X:\Users\Default下,在Microsoft\Windows NT\CurrentVersion\ProfileList\S-1-5-18 下修改.

9.2 计算机管理管理不能在"我的电脑"上用右键打开,加载pe注册表software单元,修改Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Manage\command,

为 %SystemRoot%\system32\mmc.exe compmgmt.msc

9.3 "关机"按钮无效,可以改software单元的Microsoft\Windows\CurrentVersion\Policies\Explorer 添加 "NoClose"=dword:00000001 或0 移出或显示"关机"按钮

9.4 如果你不添加,桌面右键菜单"小工具"很难看,可以去掉,同样,删除 \Classes\Directory\Background\shellex\ContextMenuHandlers\Gadgets 和 Classes\DesktopBackground\Shell\Gadgets 即可

9.5 MSDaRT工具的加入,可以用7zip打开MSDaRT65_x64.msi文件,提取其中的tools.cab和Sweeper.cab中mount文件夹合并到pe即可(32位类似).

9.6 绿色程序的加入与快捷方式等

如果文件不大,可以直接放到 program files 目录下并和boot.wim一起打包.你也可以单列出来放到光盘上,或是打包成新的wim文件,进入pe后再挂载.

9.6.1 "桌面"快捷方式在\Users\Default\Desktop .

9.6.2 "所有程序"快捷方式在

\Users\Default\AppData\Roaming\Microsoft\Windows\Start Menu\Programs

\ProgramData\Microsoft\Windows\Start Menu\Programs

9.6.3 锁定到任务栏:

快捷方式在 \Users\Default\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar,

另外还需要导入default单元的 \Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband   项.

9.6.4 附到开始菜单栏:

快捷方式在 \Users\Default\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\StartMenu\,

另外还需要导入default单元的 \Software\Microsoft\Windows\CurrentVersion\Explorer\StartPage2   项.

9.7 绿化第三方程序到PE

可以用注册表工具分别扫描安装程序前后的注册表,提取需要写入的键值.将注册表导入PE,并复制安装形成的文件

?大家注意到,用微软自带的winpeshl.exe载入explorer关机按钮无效.如果需要,可以使用pecmd, pecmd有自己的一套东西,操作起来会方便很多,大家可以根据需求与喜好用pecmd替换掉winpeshl,并写入pe注册表software单元中的CmdLine.

10 用PECMD取代winpeshl

在 步骤5 中,我们得到了能进入"资源管理器"(也即explorer,也即MS SHELL)的WinPE,是微软系统ISO修改而来的.

体积很大,但我们要的是WinPE的核心——注册表.

为了方便大家学习,长经验,我做了以下操作:

10.1 用PECMD代替winpeshl.exe,跳过CMD界面直接进入桌面:

定位到WinPE注册表SYSTEM的SETUP项,在CMDLINE中用"PECMD MAIN %Systemroot%\PECMD.INI"代替"winpeshl.exe"

PECMD.INI的代码:

==============================

INIT

EXEC !=%SystemRoot%\system32\winpeshl.exe

SHEL %SystemRoot%\explorer.exe

==============================

winpeshl.ini的代码:

==============================

[LaunchApps]

wpeinit.exe

==============================

10.2 现在已经得到可以进入桌面的WINPE注册表,有了这个核心,其他什么文件和优化都不是难点.

我把修改的注册表和Windows\winsxs复制移植到绝对PE_V1.6,正常进入桌面.

[添加了部分Windows\winsxs是因为直接替换注册表会蓝屏,根据我的经验需要补充Windows\winsxs.还有可能是驱动问题]

10.3 稍微精简了一下,然后发个可启动的"演示用WIN7PE.ISO"给大家看看效果.

http://pan.baidu.com/s/1dDGKkZR

11 PECMD.INI中的常用命令解释

PECMD接管winpeshl后,所有的配置可直接通过PECMD.INI中的命令来实现.下面给出一些最基本的命令,便于入门,更详细的命令解释在PECMD帮助文档中可以看到.学习时最好参考一些文件结构简单的WinPE,用记事本查看里面的PECMD.INI,一般在System32目录或者Windows目录下,有的PECMD.INI还加载了外置配置文件,也是.INI文件,可以合并的.

11.1 一些基础的环境变量:

%CurDir%  表示本配置文件所在目录

%SystemRoot% 和 %WinDir% 均表示Windows目录

%ProgramFiles%  表示Program Files 目录

%Desktop%       表示桌面

%StartMenu%    表示开始菜单目录

%Startup%        表示启动菜单目录

%Programs%     表示程序菜单目录

11.2 基础 EXEC,LOAD,LINK 命令写法

EXEC  %ProgramFiles%\Internet Explorer\iexplore.exe      表示 运行 在 Program Files 目录下\Internet Explorer\iexplore.exe 程序

LOAD  %ProgramFiles%\Tools.ini"                      表示 加载 在 Program Files 目录下的Tools.ini 外置配置文件

LINK  %Desktop%\腾讯QQ,%ProgramFiles%\QQ.exe          表示 在桌面创建一个名为"腾讯QQ "的快捷方式,并且链接指向 Program Files 目录下\QQ.exe

?EXEC 负责运行后缀名为exe,bat,cmd等可执行文件

?LOAD 负责加载后缀名为ini 的配置文件

?LINK 负责创建快捷方式,它负责的文件类型很多

11.3 常见符号 ! @ _ & =意义

11.3.1这里这些符号" ! @ _ & ="都是指搭配EXEC时的,因为比较常用.常见的有:EXEC _    EXEC &     EXEC !    EXEC @

例如:

EXEC _%SystemRoot%\123.exe      ------表示最小化运行Windows 目录下的123.exe

EXEC &%SystemRoot%\123.exe      ------表示最大化运行Windows 目录下的123.exe

EXEC !%SystemRoot%\123.exe       ------表示隐藏运行Windows 目录下的123.exe   (常用)

EXEC @%SystemRoot%\123.exe     ------表示彻底隐藏运行Windows 目录下的123.exe

11.3.2另外一种写法:

EXEC =!%SystemRoot%\123.exe     ------表示隐藏运行Windows 目录下的123.exe

[它多了一个"="号,表示等待这个命令执行结束,可以根据自己的情况加或不加]

12 实战经验

下面的帖子是本人制作的PE发布地址,留下了许多经验性资料或教程,仅供大家参考

①【ACOS启动盘】【自制【Win7PE】日志】

http://bbs.wuyou.com/viewthread.php?tid=209434&highlight

②【ACOS启动盘】【Win8PE,这个不错喔】

http://bbs.wuyou.com/viewthread.php?tid=270120&extra=page%3D2

13 大总结

13.1 常见的 WinPE 制作途径:

①ADK/AIK ——修改WinPE.WIM

②Winbuilder ——修改BOOT.WIM 的分卷2 或者 WinRE.WIM

③全手工式——修改BOOT.WIM 的分卷1

重点:

无论是 BOOT.WIM 卷#1 , BOOT.WIM 卷#2 ,WinRE.WIM , WinPE.WIM 中哪一种,都可以采取 全手工式 途径制作PE(基于它们本质都是 Windows PE 的原理)

难度系数如下: BOOT.WIM 卷#1 > BOOT.WIM 卷#2 = WinRE.WIM > WinPE.WIM (本文方法因而通用)

13.2 窥探本质,脱离局限

http://bbs.wuyou.com/viewthread.php?tid=275347&highlight

扩展阅读:

①ADK/AIK 版块

Windows ADK(Windows Assessment and Deployment Kit ):

http://www.microsoft.com/zh-cn/download/details.aspx?id=30652

Windows AIK(Windows Automated Installation Kit):

http://www.microsoft.com/zh-cn/download/details.aspx?id=5753

②Winbuilder 版块

用WinBuilder制作一个Win8PE (X86,X64):

http://bbs.wuyou.com/viewthread.php?tid=256062&extra=page%3D3

Win8PE SE Release:

http://theoven.org/index.php?topic=438.0

Win7PE SE & Release:

http://theoven.org/index.php?topic=131.msg2068#msg2068

(说明:本文参考了:http://bbs.wuyou.com/forum.php?mod=viewthread&tid=273524)

制作自己的特色PE----Mr.Zhang,布布扣,bubuko.com

时间: 2024-10-13 01:29:38

制作自己的特色PE----Mr.Zhang的相关文章

制作WIN7+XP+DOS+PE多系统启动光盘

涉及的工具(附带下载地址): ① 制作工具EASYBOOT:EasyBoot是一款集成化的中文启动光盘制作工具,它可以制作光盘启动菜单.自动生成启动文件,并生成可启动ISO文件,利用其内置的刻录功能,马上就能制作出一张完全属于你自己的启动光盘. 下载地址:http://www.skycn.com/soft/9491.html#downUrlMap 使用前一定要先输入注册码,否则不可添加菜单. 用户名:中华人民共和国   注册码:2898-5448-5603-BB2D ② 镜像编辑软件UltraI

U+V2深度隐藏PE制作技术初探

所谓U+,习惯上是指用UltraISO软件把ISO文件写入U盘来制作启动盘的一种技术.第一代U+兼容性不太好,不推荐使用.目前,兼容性比较好的是第二代U+启动技术(USB-HDD+ V2/USB-ZIP+ v2),通常简称为U+V2,最新版 U+ 2.0可以创建启动分区并支持"低端隐藏"."高端隐藏"和"深度隐藏"启动分区.U+V2高端隐藏和深度隐藏启动分区解决了PE中低端隐藏时运行一键还原工具时隐藏的启动分区与可见区互换的问题,让U+技术达到了

PE文件结构深入详解

一.PE结构基础 看了很多PE结构类的东东,要不上来就是整体结构,要不就是一大堆ASM代码,看的我等菜鸟有点难受!所以自己写个帖·学习PE我们先来弄懂几个问题! 1:几个地址的概念 VA:虚拟地址,也就是内存中的地址! RVA:相对虚拟地址,等于VA-ImageBase Offset:物理地址,磁盘上文件的地址,等于RVA-ImageBase-节偏移! PE装入器:程序需要装入内存后才可以运行,PE装入器就是为了装入PE文件 装入:装入是将磁盘上程序的指令数据转的地址载入内存并进行地址转换的过程

个性化WinPE封装方法 ----最后实战“制作WinPE3.0图文教程”

经过前几讲,主要目的就是准备一些"原材料",熟悉一些"命令",实际上是"战前演练准备".下面要进入"实战状态",成败在此一举. 一.通过前面的准备,主要准备了以下材料1.一张桌面背景图片(1024X768的BMP格式图片)2.Programs文件夹(含有BsExplorer以及需要集成的程序)3.BsExplorer中的bs_desktop.ini.bs_start.ini已经配置完毕.4.winpeshl.ini文件已经制作

VMware虚拟机怎么设可以进入PE怎么从PE启动

一般通过虚拟机都是安装操作系统,但是有些时候,我们并不需要安装系统,而是仅仅需要启动pe,然后测试pe里面的功能能不能用. 工具/原料 虚拟机 pe ISO文件 方法/步骤 1 下载pe ISO文件: 首先是从别的网站上面下载ISO文件,注意是pe的ISO文件,一般大小是几百兆而已,而不会是系统那么样子几个G.一般用来制作U盘的pe都是EXE格式,所以不能用.如下图所示那样子的pe就可以点击下载. 2 创建windows虚拟机: 因为pe最主要的是功能是安装系统,那么想要在虚拟机运行,首先是建立

系统安装

1.制作下载u启动    PE制作工具      制作工具还有:电脑店,大白菜,老毛桃等,方法类似 下载地址:http://www.uqidong.com/ 参考:http://www.uqdown.cn/    可以查询启动键(boot menu) 2.制作PE  下载好u启动运行此程序,在开始制作界面选择设备,进行高级设置,然后点击开始制作. 打开u启动uefi版,将准备好的u盘插入电脑usb接口并静待软件对u盘进行识别,由于此次u启动采用全新功能智能模式,可自动为u盘选择兼容性强与适应性高

初识 python

Python 语言介绍 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python变化 python 2 和 python 3 1.1/2 等于0.5 2.print "hello world" 变成print("hello world") 3.raw_input() 变成 input() 4.calss Foo:写法不能用了,变成class Foo(object) 安装 Python最新源码,二进制文档,新闻资讯等可以在Pytho

数据可视化(三)- Seaborn简易入门

本文内容来源:https://www.dataquest.io/mission/133/creating-compelling-visualizations 本文数据来源:http://www.cdc.gov/nchs/nsfg.htm 本文摘要:介绍一个以matplotlib为底层,更容易定制化作图的库Seaborn   Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,在大多数情况下使用seaborn就能做出很具有吸引力的图,而使用matplo

Nukkit插件从0开始:目录篇

系列作者:粉鞋大妈 文章出处:http://www.cnblogs.com/xtypr 欢迎转载.翻译,也请保留这段声明,不胜感激. Nukkit是一款用Java制作的Minecraft PE服务端软件,是由MagicDroidX在github上发起的开源项目,遵守GPL开源协议.Nukkit模仿了PocketMine的结构,后者是一款用PHP制作的开源Minecraft PE服务端软件,使得开发者能更快的适应开发环境.由于使用了Java作为开发语言,大大提升了性能和兼容性,是其它同类软件无法比