WIN7PE 开启 Aero 特效的方法总结
经过长时间的试验,终于找到了WIN7PE下开启Aero特效的方法,经过这段时间的验证,证明这方法比较完美了,现在公布出来,供广大网友参考:WIN7的Aero效果可以参见http://bbs.wuyou.net/forum.php?mod=viewthread&tid=206755&extra=page%3D1
1. WIN7PE 开启 Aero 特效所必备的条件
WIN7PE 32 位,理论上支持64位,未经试验
PE不能太过精简,至少要能驱动显卡,至少要能使用UX开启Basic主题
PE要有完整的主题支持组件,右键个性化里要能切换主题,PE要能识别主题文件(.theme),要能通过双击主题文件切换到指定的主题
PE要有UxSms服务(Desktop Window Manager Session Manager)
PE要能切换用户,即能够正常注销,能够正常切换用户,要有内置的Administrator用户,并且能登入Administrator用户的桌面
PE要加入tsdiscon.exe到System32(可以从正常系统中复制)文件,并且执行tsdiscon.exe要能够出现登录界面
目前我所知道的玄天的WIN7PE满足以上条件,对于注销很慢的问题,针对玄天的WIN7PE已经有完美的解决办法,但对其他PE是否有效,有待验证
2. WIN7PE 开启 Aero 特效的原理与思路
a.断开终端连接
微软对主题的限制很多,对于PE就更多了,就算使用UX破解主题服务,也只能开启Basic主题,要想开启Aero主题,必须有用户帐户登陆才行,现在的PE都是SYSTEM帐户登陆的,而SYSTEM帐户是系统帐户,所以在SYSTEM帐户下是开不了Aero的,所以需要切换用户到Administrator用户,首先需要断开终端连接,进入登录界面
这里用到的第一个程序:tsdiscon.exe,这个程序是命令行模式下用来断开终端连接的,运行这个命令,将会断开终端连接,进入登录界面
b.自动登陆
这一步不是必须的,在上一步断开终端连接,进入登录界面后,用户可以点击Administrator用户登陆到Administrator用户桌面,如果想要实现自动化登陆,需要修改以下注册表:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\AutoAdminLogon=1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultUserName=LsaSetupDomain\Administrator
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultPassword=""
当然,如果登陆界面不需要显示GUEST用户,可以
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList\Guest=0
c.恢复SYSTEM权限
PE的一个最大的优势就是拥有无上的SYSTEM权限,可以为所欲为不受限制,但是登陆到Administrator用户后才发现,Administrator用户的权限没有想象的那么大,很多事情做起来碍手碍脚的,很不爽;另外,Administrator用户的桌面黑漆漆一片,不能设置背景,开始菜单的搜索无效,窗口字体既小又丑陋无比,右键菜单也显示不正常,所以需要切换回SYSTEM用户的SHELL,恢复PE的原貌:
下面,请psexec.exe隆重登场(大家鼓掌欢迎),psexec.exe,来自于微软的官方网站,是一个系统辅助工具,可以用别的用户身份运行程序,这里只要杀死Administrator用户的EXPLORER,然后用psexec.exe使用SYSTEM身份运行EXPLORER,即可再次拥有无上的SYSTEM权限,并且拥有原来PE可爱的桌面
命令:
KILL explorer.exe
EXEC !=psexec -i -d -s %SystemRoot%\explorer.exe
psexec.exe首次运行会弹出同意的窗口,为了去掉他,需要事先修改以下注册表:
HKEY_CURRENT_USER\Software\Sysinternals\PsExec\EulaAccepted=#1
d.修复注销后重登陆,丑陋的Administrator用户又回来了的问题
虽然前面一步恢复了原来PE可爱的桌面,但是当用户注销后重登陆时,丑陋的Administrator用户又回来了,为此,需要添加一个注册表项,让上一步的命令在登陆后,显示桌面前执行,这里选中了HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce,因为RunOnce是登陆后,显示桌面前执行的,而Run是显示桌面后执行的,为了把丑陋的Administrator用户隐藏起来,所以选用了RunOnce(需要RunOnce.exe)
代码:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce\Init=PECMD.EXE LOAD X:\windows\System32\init.ini
其中init.ini就是c步骤的内容
但是这里又有一个问题,因为系统在执行RunOnce的命令后会把这条注册表删掉的,所以需要再启动一个PECMD进程,恢复RunOnce注册表项目
所以,init内容大体如下:
KILL explorer.exe
WALL %SystemRoot%\Web\Wallpaper\Windows\img0.jpg
EXEC !=psexec -i -d -s %SystemRoot%\explorer.exe
EXEC !=psexec -i -d -s PECMD.EXE LOAD %SystemRoot%\system32\logon.ini
logon.ini内容大体如下:
REGI HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce\Init=PECMD.EXE LOAD %SystemRoot%\System32\init.ini
e.开启Aero
经过前面的折腾,PE已经具备开启Aero的基本条件了,只要驱动好显卡,切换主题到aero.theme即可,为了实现自动化开启Aero
init还要加一句:
EXEC !=psexec -i -d -s PECMD.EXE EXEC @%SystemRoot%\explorer.exe %SystemRoot%\Resources\Themes\aero.theme
这样就切换主题到了aero.theme,但是在任务管理器里会有一个个性化的窗口,一直显示,所以在logon.ini里加一句,把它KILL掉:
WAIT 10000
EXEC @=PECMD KILL \个性化
咦?Aero还是没有开启,不着急,重启一下UxSms服务即可:
EXEC !=net stop UxSms
EXEC !=net start UxSms
d.其他小问题
启用Aero后发现拖动窗口时窗口周围有黑框,窗口并不实时移动,为了解决这个问题,让我绞尽脑汁,最终有了一个解决办法:
EXEC !dragwin.exe
dragwin.exe是我用汇编写的一个小程序,用于开启拖动窗体时显示窗体内容
启用Aero后发现ClearType字体没有启用,为了解决这个问题,我的脑汁又被绞尽了一次,最终有了一个解决办法:
EXEC !opencleartype.exe
opencleartype.exe是我用汇编写的一个小程序,用于开启cleartype效果
玄天的WIN7PE运行切换用户,或者执行tsdiscon.exe暴慢无比的问题:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\gpsvc\Start=3
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\TrustedInstaller\Start=3
3. WIN7PE 开启 Aero 特效的方法总结
a.增加文件:
X:\Windows\system32\tsdiscon.exe
X:\Windows\system32\psexec.exe
X:\Windows\system32\runonce.exe
X:\Windows\system32\dragwin.exe
X:\Windows\system32\opencleartype.exe
X:\Windows\system32\init.ini
X:\Windows\system32\logon.ini
X:\Windows\system32\aero.ini
b.修改注册表:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\gpsvc\Start=3
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\TrustedInstaller\Start=3
c.修改PECMD.ini文件
删除:
SHEL EXPLORER.EXE或者类似的命令
增加:
REGI HKCU\Software\Sysinternals\PsExec\EulaAccepted=#1
REGI HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce\Init=PECMD.EXE LOAD %SystemRoot%\System32\init.ini
REGI HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList\Guest=#0
REGI HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\AutoAdminLogon=1
REGI HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultUserName=LsaSetupDomain\Administrator
REGI HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultPassword=""
EXEC !=net start gpsvc
//用户登录界面
EXEC !%SystemRoot%\System32\tsdiscon.exe
4. 附件
[ 本帖最后由 smine 于 2012-4-3 12:10 编辑 ] 沙发,先顶起来,很关心这个话题. 呵呵,占位学习下..................... 呼~~~~~~~~~~终于抢到楼了,兴奋中,猛力顶!!
我上无忧,我看一次,顶一次!!吼吼。。。
[ 本帖最后由 2011hiboy 于 2012-3-30 20:42 编辑 ] 呼~~~~~~~~~~终于抢到楼了,兴奋中,猛力顶!!
我上无忧,我看一次,顶一次!!吼吼。。。 顶一次!!吼吼 占个位置,周末愉快! 辛苦了
WIN8PE貌似原生支持AERO,呵呵~~
[ 本帖最后由 andos 于 2012-3-30 22:09 编辑 ] 不懂得怎么弄,占位学习,等待高手教导。这样的好贴直得顶 妹妹的,必须再顶,顶完再看!!! 原帖由 2011hiboy 于 2012-3-30 22:39 发表 http://bbs.wuyou.net/images/common/back.gif
妹妹的,必须再顶,顶完再看!!!
多谢顶贴,多多交流! 非常好,正需要,学习中…… 楼主辛苦了 我抽时间折腾下呵呵 楼主周末愉快!!!! 忘了runonce.exe了,现在补上 很喜欢开Aero的pe,现在都不想用03的pe了,谢谢大大耗费脑汁做了一个惠民工程(记得补脑哦),使07PE更上一层楼,你的技术必将发扬光大,很多人又有得玩了
[ 本帖最后由 2012_maxbo 于 2012-3-31 11:15 编辑 ] 辛苦了,光是总结就一环又是一环,感谢楼主为实现AERO的不懈努力! 我已经成功了,谢谢分享,我还有两个问题请大大解决:欢迎界面前面没有小圆圈在转;进桌面那个个性化的窗口会出现不到一秒的时间。。怎么解决呢?? 这么好的技术贴,别沉了。。 原帖由 2011hiboy 于 2012-3-31 16:38 发表 http://bbs.wuyou.net/images/common/back.gif
我已经成功了,谢谢分享,我还有两个问题请大大解决:欢迎界面前面没有小圆圈在转;进桌面那个个性化的窗口会出现不到一秒的时间。。怎么解决呢??
运行个性化的那个窗口换成后台运行即可,EXEC ! 再不行用EXEC @ 厉害啊,进来学习下。 很感谢楼主的幸苦琢磨,没有楼主最初的纯净版PE,我也不会弄我的那个纯净版PE,现在楼主又有了AERO,我也来跟风吧,过几天抽空移植到我的PE上。 感谢楼主辛勤付出。。。 刚才试了下楼主的方法,在我修改的那个Win7PE上面开起了AERO,感觉不错,不过还有很多需要调整的地方(我指的是我的PE),明天就放假了,终于可以休息下了,我看又没时间下抽空完善下。再次感谢楼主的辛勤付出 经验分享,方便大家学习,辛苦了 原帖由 2011Sunday 于 2012-4-1 10:42 发表 http://bbs.wuyou.net/images/common/back.gif
刚才试了下楼主的方法,在我修改的那个Win7PE上面开起了AERO,感觉不错,不过还有很多需要调整的地方(我指的是我的PE),明天就放假了,终于可以休息下了,我看又没时间下抽空完善下。再次感谢楼主的辛勤付出
老大辛苦,感谢楼主,感谢老大 向楼主钻研的精神致敬 支持!!!!!!!!!!!!!!!!!!!!!!!!!! 个人认为PE没必要弄这个,但还是支持一下 技术帝啊,强帖顶起
页:
[1]
2