1 什么是 Windows PE?
1.1 简要介绍
Windows Preinstallation Environment (Windows PE) 是一个为 Windows 安装而设计的最小操作系统.它可以用于启动无操作系统的计算机、对硬盘驱动器分区和格式化、复制磁盘映像以及从网络共享启动 Windows 安装程序.
微软本意是 PE 仅作系统维护,并设置了各种限制.可以简单的理解为: PE 是 Windows 系统的超级精简版,以 Wim 的文件形式存在,运行于内存中.特别的,也是最有价值的, PE 以系统 system 账户登录,这意味着超级权限!对于安装系统、无法进入系统、修复系统、分区等问题都可以进入PE进行操作,因此PE是强大的系统维护工具!
微软原版的 PE ,只有"命令行"窗口.网上流传的各种版本都是"高手们"修改出来的,甚至有的 PE 可以作为系统来使用,这都偏离了微软的本意.我不主张"肆意扩展" PE 的功能来彰显"技术",但是"可视化操作界面、常用功能的集成"这些都是必要且必须的.
1.2 版本编号
下面简要介绍 Windows PE 的命名规则[略去Windows Server 2003/2008/2012]:
Windows PE 1.x表示Windows XP内核.
Windows PE 2.x表示Windows Vista内核.
Windows PE 3.x表示Windows 7内核.
Windows PE 4.x表示Windows 8内核.
x表示系统版本,例如SP1(带有Service Pack 2)
举例:PE 1.3表示Windows XP SP3内核的PE.
2 Windows PE 的启动过程
Windows PE 4.x(3.x 2.x类似)引导过程[略去1.x]:
2.1 详细过程(微软ADK/AIK说明文档):
①Windows PE 在特定媒体上加载启动扇区.系统将控制传递给 Bootmgr.Bootmgr 从启动配置数据 (BCD) 中提取基本启动信息,并将控制传递给包含在 Boot.wim 文件中的 Winload.exe 文件.然后 Winload.exe 将加载相应的硬件抽象层 (HAL),接着加载系统注册表配置单元和必要的启动驱动程序.Winload.exe 完成加载后,将会准备要执行内核 Ntoskrnl.exe 的环境.
②该环境将执行 Ntoskrnl.exe 文件.然后 Ntoskrnl.exe 完成环境设置.系统将控制传递给会话管理器 (SMSS).
③SMSS 加载注册表的剩余部分,然后配置运行 Win32 子系统 (Win32k.sys) 的环境及其各种进程.SMSS 加载用于创建用户会话的 Winlogon 进程,然后启动服务和剩余的非必要设备驱动程序及安全子系统 (LSASS).
④Winlogon.exe 根据 HKEY_LOCAL_MACHINE\SYSTEM\Setup\CmdLine 注册表值来运行设置.Winpeshl.exe 将启动 %SYSTEMDRIVE%\sources\setup.exe 文件,前提是该文件存在.如果该文件不存在,Winpeshl.exe 将确定 %SYSTEMROOT%\system32\winpeshl.ini 文件是否指定了某个应用程序.如果该文件未指定应用程序,则 Winpeshl.exe 将执行 cmd /k %SYSTEMROOT%\system32\startnet.cmd 文件.默认情况下,Windows PE 包含启动 Wpeinit.exe 文件的 Startnet.cmd 文件.Wpeinit.exe 将加载网络资源并协调网络组件(如 DHCP).
⑤当 Wpeinit.exe 结束时,将会出现命令提示符窗口.当命令提示符窗口出现时,Windows PE 的启动进程结束.
2.2 简单理解:若为光盘启动,引导文件(例:pe.bif)——bootmgr——BCD——boot.wim——启动PE.
3 Windows操作系统的启动过程
除了了解WinPE的启动过程,系统的启动过程也非常重要,可以为将来安装WinPE到本地系统分区做准备,更重要的是加深对系统维护和装机的理解.
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=254880&extra=page%3D1
4 如何制作Win8PE,Win7PE
4.1 Windows PE 的来源
①winpe.wim
源自ADK/AIK——被称为"微软官方PE",是最为纯粹的版本,可以进入CMD操作界面
②winre.wim
<系统安装光盘或ISO>\Sources\install.wim\Windows\System32\Recovery\winre.wim ——可以进入恢复环境
③boot.wim
<系统安装光盘或ISO>\Sources\boot.wim——定制版的Windows PE,将启动setup.exe,执行系统的安装
重点:以上三个文件有不同用途.但本质上都是PE,均可为我们所用,深度加工,制作更人性化、更符合要求的Windows PE.
4.2 常见的 Windows PE 制作途径分析
①winpe.wim
可以用来制作 ADK/AIK 版 winpe ——安装ADK/AIK时自带winpe.wim,可利用DISM来添加组件,但最终不会有桌面环境,只有 CMD 操作界面.
②winre.wim
可以用来制作 Winbuilder 版 winpe ——缺少的文件可以直接从 install.wim 中拷贝,以获取需要的功能.
重点:由于 WinRE.WIM 只比 boot.wim 分卷2 多一个 winpeshl.ini 文件,故而 Winbuilder 大多利用 boot.wim 分卷2 ;另外, install.wim 的几个分卷代表不同的 Windows 版本,越往后版本越高,故而拷贝文件的时候选择最后一个分卷即可.
③boot.wim
boot.wim 中的卷#1 Windows PE 相当于 winpe.wim ;卷#2 Windows Setup 相当于 winre.wim
4.3 制作Windows PE 的新途径
PE是超小型的Windows系统,相关文件以Wim 形式存在,如winpe.wim ,winre.wim ,boot.wim .而install.wim 包含了Windows系统几乎所有文件(没有引导类文件),在WinPE中,我们也经常利用它来装系统.基于这样的理论,Winbuilder 制作出了出色的Windows PE,并让它走向了傻瓜式操作.
但是, ADK/AIK/Winbuilder/MakePE 都没让我们学到真正的东西,它究竟是如何做到的呢?有没有更快更简单的制作方法呢?答案是肯定的,本帖为此而生. 我将告诉大家如何利用boot.wim镜像全手工式制作自己的WinPE,让你做得明明白白,体验其中的乐趣.有了这个基础,还可以利用winre.wim 或者winpe.wim来试试,操作差不多,不过要注意一些细节差异.
全局注意:
必备的文件和工具 win7.iso/win8.iso Windows系统ISO镜像 WimTool BOOT.WIM文件的修改 RegWorkShop 注册表编辑和分析利器 UltraISO 修改win7.iso/win8.iso
①每次修改注册表的时候都留心一下:
C:\ D:\ 应改为 X:\ ; Interactive User 应全部删除.
②注册表技巧,解决注册表问题途径:
熟练使用RegWorkShop,RegShot,可配合其他优化软件灵活使用.
③Windows\System32\config下文件:SOFTWARE 对应 HKEY_LOCAL_MACHINE\SOFTWARE;
SYSTEM 对应 HKEY_LOCAL_MACHINE\SYSTEM;
DEFAULT 主要对应 HKEY_CURRENT_USER1 准备WinPE本身需要的文件
1.1 下载WIN7.ISO或者WIN8.ISO /* 按需选择 */1.2 保留下列文件,其他都删了 /* 只支持BIOS,不想支持UEFI的情况下 */
BOOT\BCD
BOOT\BOOT.SDI
SOURCES\BOOT.WIM
BOOTMGR
2 获取所需文件权限
为了能够在Win7下顺利制作PE,必须获得相关文件的权限.
2.1 用WimTool解开BOOT.WIM第一个卷(Windows PE)为BOOT文件夹
2.2 获取BOOT文件夹及其子文件的完全控制权
鼠标右键BOOT文件夹->属性->安全选项卡->高级->更改权限->添加->输入everyone->确定->勾选"完全控制",其他选项会自动勾上->应用于"此文件夹,子文件夹"->确定->删除Everyone,SYSTEM以外的权限项目->勾选"使用可从此对象继承的权限替换所有子对象权限"->确定
->所有者选项卡->编辑->其他用户或组->输入everyone->确定->勾选"替换子容器和对象的所有者"->确定
[注意:由于文件过多,需要重复执行以下操作几次:1."使用可从此对象继承的权限替换所有子对象权限"->确定;2."替换子容器和对象的所有者"->确定]
2.3 获取WinPE注册表的完全控制权
2.3.1 加载注册表
"运行"->输入Regedit->加载boot\Windows\System32\config下的DEFAULT,SYSTEM,SOFTWARE分别命名为pe-def,pe-sys,pe-soft
2.3.2 分别对每个加载单元进行如下操作:
右键->权限->高级->添加->输入everyone->确定->勾选"完全控制",其他选项会自动勾上->应用于"此文件夹,子文件夹"->确定->删除Everyone,SYSTEM以外的权限项目->勾选"使用可从此对象继承的权限替换所有子对象权限"->确定
->所有者选项卡->编辑->其他用户或组->输入everyone->确定->勾选"替换子容器和对象的所有者"->确定
[注意:由于文件过多,需要重复执行以下操作几次:1."使用可从此对象继承的权限替换所有子对象权限"->确定;2."替换子容器和对象的所有者"->确定]
——至此,我们就获得了并统一了WinPE几乎所有文件的控制权限,后面制作WinPE就非常顺利了.
3 注册表修改3.1 选中加载的SOFTWARE单元pe-soft3.2 修改注册表中关于路径的值在pe-soft下搜索 $windows.~bt\ ,替换为 (空)在pe-soft下搜索 Interactive User,找到后全部删除.
[没有的就不用改了]3.3 同理,对pe-def,pe-sys也进行此操作3.4 卸载pe-def,pe-sys,pe-soft
4 WinPE制作好了!!! 这就是原汁原味的微软官方WinPE了.4.1 打包测试
用WimTool把BOOT文件夹新建映像为BOOT.WIM,原版的BOOT.WIM文件可移到他处作为备份,以便随时还原,保存修改的ISO并测试.
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,其他都可删除 */
... ...
附件中有资料,可以参考.
8.58 KB, 下载次数: 8356, 下载积分: 无忧币 -2
5 添加explorer
5.1 修改注册表
5.1.1 加载WinPE的注册表文件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以外其他用户权限,然后替换所有子项的权限;
右键加载的注册表单元pe-soft——>"权限"——>"高级"中替换"所有者"为Everyone,然后替换所有子项的所有者.
[注意:请重复几次——因为文件过多,一次操作可能有遗漏,软件处理能力有限]
5.1.3 编辑注册表
在pe-soft下搜索 Interactive User,找到后全部删除.
在pe-soft下搜索 C:\ D:\ ,全部替换为 X:\
[注意:RegWorkshop每次只能搜索到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.
启动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.net/forum.php?mod=viewthread&tid=167092 用hex编辑器打开winlogon.exe,在其中查找unicode字符串minint,修改其中任一字母,只要和原先不一样即可,比如,改成minins. 下载ux.exe,在运行explorer前运行此小程序即可启用Win7的basic主题.ux.rar (3.97 KB, 下载次数: 1489)
/****************************************************************************
背景知识: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.
7.92 KB, 下载次数: 4620, 下载积分: 无忧币 -2
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/share/link?shareid=166615&uk=3358530891&third=0
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.net/forum.php?mod=viewthread&tid=209434&highlight
②【ACOS启动盘】【Win8PE,这个不错喔】
http://bbs.wuyou.net/forum.php?mod=viewthread&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.net/forum.php?mod=viewthread&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.net/forum.php?mod=viewthread&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
16.26 KB, 下载次数: 2698, 下载积分: 无忧币 -2
330 Bytes, 下载次数: 3042, 下载积分: 无忧币 -2
第一部分:量产CD-ROM的U启
以下是量产过程,可得到一个CD-ROM模式的启动盘分区——这是最关键的部分,剩下的俩分区可以制作其他类型的启动盘.
(本人的U盘是Kingmax_4G,所以下文以擎泰量产工具为例进行说明,注意:相应的U盘必须采用对应的量产工具,慎重!)
一,准备工作
1.插入U盘,打开Chipgenius,找到所需量产工具的信息,本人的对应量产工具为擎泰 SK6213
2.下载工具软件:SK6213-PDT-20100209A-MAXU(针对本人的Kinmax 4G优盘,用Chipgenius检测可知)
UltraIso-9.3.5(无要求)
二,量产过程:
插入U盘,运行SK6213-MP-TOOL,出现图SK6213_1:
1.在"选择设定档"打开下拉式菜单,选K9ABG08U0M-8mA(4G盘选该项,8G盘选K9BCG08U1M-8mA),第一USB接口就绪,见图SK6213_2
击"参数设定"输入密码:1 2 3 4 5 6后出现图SK6213_3:
①制造商代码(VID)和产品代码(PID):可填1516和1213,也可填1687和6213.(可任意填写)
②U盘类型:默认值.这个参数是由"多重扇区"设定中的"逻辑扇区0"决定的.
③可变参量:LED周期设定:可任选,对没有U盘指示灯的选"常灭","固定容量"处钩选,"启动档案复制功能"不选,如果钩选,应选择正确的路径.
④快闪记忆体选项:打开"选择Flash型号"下拉式菜单,选第1项:K9ABG08U0A-EDO(8G盘第2项)
⑤保留区比例:选"依快闪记忆体规格决定",这样软件会划出一定比例的U盘空间,给U盘即将出现坏道的数据作备用.若选"用户设定",比例不能小于1%.USB容量选项:选原厂设定容量.
2.点击"多重扇区"按钮,出现图SK6213_4:
①磁盘分割设定:钩选"启动CDROM功能",通过拉动滑块可设定两个分区的大小.默认值一个分区为0,则只分割CDROM和一个分区.当要分割二个分区时,小的一个容量不能小于4 %.
②逻辑扇区参数设定:两个分区应选择不同的"U盘类型"以便U盘分割量产后做成三启动.本例:逻辑扇区0设为"固定盘",逻辑扇区1设为"移动盘",逻辑扇区0中的"启动档案复制功能"不钩选.
③CDROM设定:钩选"使能CDROM启动"项.设定ISO文件路径,即启动光盘镜像路径.SK6213量产软件对ISO文件有严格要求,网上下载的许多PE.ISO镜像量产都不成功.
3.设定完毕,点击"确定"退出"多重扇区"设定界面,再点击"进阶参数设定"界面的"存贮"按钮,退回SK6213主界面,点击"开始量产",主界面第一U盘接口会显示量产进度
4.量产成功,关闭软件,拔出U盘重新插入,打开"我的电脑"会增加三个盘符,分别为CDROM,ZIP和HDD[QUOTE]
无忧量产专题:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=140485&extra=page%3D1
原帖由 zhoubin 于 2012-12-21 13:57 发表
好高的高手呀。。。。我佩服地五体投地!!!
我就想找一个最完整的win7 sp0(版本号6.1.7600.16385)的software注册表文件,楼主方便的话给一个噻。。。。谢谢了!!!
原帖由 2012win98se 于 2012-12-28 21:21 发表
首先,谢谢这位大哥的好法子。
要进行注册表修改,可是 boot.wim 中有两个映像卷,请问要修改的注册表是哪一个映像卷?如果要删除分卷,应该删除哪一个?
以下是我用 WimTool 查看其信息时所获得的资料。 ...
原帖由 ahoo 于 2012-12-29 19:21 发表
楼主手工制作PE教程写的很好,希望保持更新。造福我等。
无忧少有非常系统的关于如何制作PE的教程,
希望楼主的教程由浅入深、通俗易懂、雅俗共赏;
希望楼主能完善教程各个步骤具体详细说明,最好图文 ...
原帖由 2012jsmlong 于 2012-12-30 13:40 发表
[03].注册表修改:
1.加载SOFTWARE单元
2.替换 “D:\” 为 “X:\”
3.替换 “$windows.~bt\ ” 为 “ ”
这一段我就不知道怎么弄!第一步用UltraISO删除那些不用的文 ...
原帖由 20121222 于 2012-12-30 00:35 发表
一直有人要求提供“无忧一条龙教程”,起了这个念头。
这些东东都是很老的知识整理一番,需要各位路过的高手指正。
帖子编辑差不多了,有什么问题一定留言,回头我会来看的。力求更加完善。
========= ...
原帖由 ahoo 于 2012-12-30 15:03 发表
正是因为无忧各种教程,方法非常零碎,分散,不利于刚刚接触的如我这样的人学习相关知识。
如此零碎,分撒的帖子,四处搜索,到头来还是看的一头雾水。
希望楼主把此教程归类,统一,完善到此一贴,利 ...
原帖由 2012jsmlong 于 2012-12-31 13:22 发表
能把第三项加载注册表
[03].注册表修改:
1.加载SOFTWARE单元
2.替换 “D:\” 为 “X:\”
3.替换 “$windows.~bt\ ” 为 “ ”
这个详细说一说吗?实在不明白!
原帖由 2012caocaofff 于 2012-12-31 18:59 发表
其实吧,很多人,有点懒-------------------直接伸手拿别人的做的好好的PE用用,多好!
自己没事DIY,搞的头晕眼花的,出了问题还得深入研究,头都大了!
还有,好像也就咱们这些在校的大学生和确实对这些 ...
原帖由 2012caocaofff 于 2012-12-31 18:59 发表
其实吧,很多人,有点懒-------------------直接伸手拿别人的做的好好的PE用用,多好!
自己没事DIY,搞的头晕眼花的,出了问题还得深入研究,头都大了!
还有,好像也就咱们这些在校的大学生和确实对这些 ...
原帖由 20121222 于 2012-12-31 19:25 发表
这一点却是如此。
玩PE的有以下几种境界:
现成的作品——>DIY WinPE——>Winbuilder——>ADK/AIK——>全手动制作PE
原理越到后面越明晰,越底层,越简单。
相对来说,这样最简单了。直入底层,屏蔽 ...
原帖由 20100802 于 2012-12-31 21:23 发表
试了几次,第一次顺利进入了cmd窗口。后面几次,为了图省事,把注册表的几个文件DEFAULT、SYSTEM、SOFTWARE用其它pe的直接替换了结果蓝屏了。看样子以后还得找时间好好折腾一下注册表。
不过总算把大致的制作流 ...
原帖由 <i>20121222</i> 于 2013-1-1 14:47 发表 <a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=2648688&ptid=273524" target="_blank"><img src="http://bbs.wuyou.net/images/common/back.gif" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" /></a><br />
希望大家一起晒图片,嘿嘿<br />
<br />
有木有哪位盆友成功了,又尝试了WINRE.WIM的,也可以哟
原帖由 20100802 于 2013-1-1 20:01 发表
哈哈!看看我的win8pe的效果图,无法显示桌面图片,无法显示开始菜单,无法显示任务栏中的任务,整个一个三无产品。另外点击计算机图标也是长时间无法进入,网络也无法连接。不过桌面上的程序倒是可以正常使 ...
WIN8PE+WIN7的SHELL.png (56.05 KB, 下载次数: 350)
原帖由 sp_star 于 2013-1-1 20:48 发表
我晕!水平有限,写不了教程啊。
至于Native, 不太容易说清啊,建议先看看足迹的原始贴,了解了原理,自然就会使用了。
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=188616&highlight=%2B%2B%D7%E3%BC%A3%2B
W ...
原帖由 my9823 于 2013-1-1 20:58 发表
话说2楼中第一段:
加载install.wim的注册表的software分支为pe-soft,修改权限,然后删除替换相关内容后,后边还卸载么,怎么紧接着又加载了winpe的software了?
原帖由 20121222 于 2013-1-1 21:03 发表
是这样的:
先加载PE的software,导出为pe-software,卸载;
再加载install.wim的software为pe-software,然后修改权限,再把前面的pe-software.reg合并到这里,卸载。
OKAY.
帖子中的语言精练了一点, ...
原帖由 ahoo 于 2013-1-1 21:11 发表
1222兄,尽量保持各个步骤完整,连续,这样利于我等菜菜学习。
教程的出发点,我想兄台就是要打造成初入门也能看懂的吧,这就要求教程,各步骤完整,连续,而且尽量照顾到初入门接触PE的同学,力争让人能看 ...
原帖由 <i>20121222</i> 于 2013-1-1 20:07 发表 <a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=2648910&ptid=273524" target="_blank"><img src="http://bbs.wuyou.net/images/common/back.gif" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" /></a><br />
<br />
<br />
做的很好呀,SHELL出来,后面就有信心了。<br />
<br />
因为WIN8原生的SHELL就是如此,做到PE里没有任务栏。所以,建议使用WIN7的SHELL,坛子里的WIN8PE全部如此。
原帖由 <i>sp_star</i> 于 2013-1-1 20:14 发表 <a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=2648915&ptid=273524" target="_blank"><img src="http://bbs.wuyou.net/images/common/back.gif" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" /></a><br />
看看WallpaperHost.exe有没有运行,杀掉这个程序,反映应该就快了。
原帖由 <i>20121222</i> 于 2013-1-2 22:39 发表 <a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=2649651&ptid=273524" target="_blank"><img src="http://bbs.wuyou.net/images/common/back.gif" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" /></a><br />
<br />
<br />
之前蓝屏的问题怎么解决的,是我说的那种问题吗
原帖由 <i>20121222</i> 于 2013-1-2 22:39 发表 <a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=2649651&ptid=273524" target="_blank"><img src="http://bbs.wuyou.net/images/common/back.gif" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" /></a><br />
<br />
<br />
之前蓝屏的问题怎么解决的,是我说的那种问题吗
原帖由 ahoo 于 2013-1-3 11:26 发表
[03] 注册表修改
3.1.选中加载的SOFTWARE单元pe-soft
3.2.替换 “D:\” 为 “X:\”
3.3.替换 “$windows.~bt\ ” 为 “ ”
3.4.卸载pe-def、pe-sys、pe-soft得到修改的 ...
欢迎光临 无忧启动论坛 (http://wuyou.net/) | Powered by Discuz! X3.3 |