smine 发表于 2012-3-30 20:27:54

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 编辑 ]

8696648 发表于 2012-3-30 20:33:23

沙发,先顶起来,很关心这个话题.

ksafei 发表于 2012-3-30 20:35:38

呵呵,占位学习下.....................

2011hiboy 发表于 2012-3-30 20:39:56

呼~~~~~~~~~~终于抢到楼了,兴奋中,猛力顶!!
我上无忧,我看一次,顶一次!!吼吼。。。

[ 本帖最后由 2011hiboy 于 2012-3-30 20:42 编辑 ]

2011hiboy 发表于 2012-3-30 20:41:32

呼~~~~~~~~~~终于抢到楼了,兴奋中,猛力顶!!
我上无忧,我看一次,顶一次!!吼吼。。。

2012tcg10000 发表于 2012-3-30 20:43:35

顶一次!!吼吼

2012cwz 发表于 2012-3-30 21:01:14

占个位置,周末愉快!

andos 发表于 2012-3-30 21:22:25

辛苦了

WIN8PE貌似原生支持AERO,呵呵~~

[ 本帖最后由 andos 于 2012-3-30 22:09 编辑 ]

2011yang1238 发表于 2012-3-30 22:06:48

不懂得怎么弄,占位学习,等待高手教导。这样的好贴直得顶

2011hiboy 发表于 2012-3-30 22:39:35

妹妹的,必须再顶,顶完再看!!!

smine 发表于 2012-3-30 22:43:43

原帖由 2011hiboy 于 2012-3-30 22:39 发表 http://bbs.wuyou.net/images/common/back.gif
妹妹的,必须再顶,顶完再看!!!

多谢顶贴,多多交流!

zzcy110 发表于 2012-3-30 23:40:32

非常好,正需要,学习中……

wangziqiang 发表于 2012-3-31 03:11:22

楼主辛苦了 我抽时间折腾下呵呵

2012cwz 发表于 2012-3-31 08:34:14

楼主周末愉快!!!!

smine 发表于 2012-3-31 10:03:33

忘了runonce.exe了,现在补上

2012_maxbo 发表于 2012-3-31 11:13:39

很喜欢开Aero的pe,现在都不想用03的pe了,谢谢大大耗费脑汁做了一个惠民工程(记得补脑哦),使07PE更上一层楼,你的技术必将发扬光大,很多人又有得玩了

[ 本帖最后由 2012_maxbo 于 2012-3-31 11:15 编辑 ]

tzxinqing 发表于 2012-3-31 12:05:41

辛苦了,光是总结就一环又是一环,感谢楼主为实现AERO的不懈努力!

2011hiboy 发表于 2012-3-31 16:38:13

我已经成功了,谢谢分享,我还有两个问题请大大解决:欢迎界面前面没有小圆圈在转;进桌面那个个性化的窗口会出现不到一秒的时间。。怎么解决呢??

2011hiboy 发表于 2012-3-31 16:38:39

这么好的技术贴,别沉了。。

smine 发表于 2012-3-31 17:23:35

原帖由 2011hiboy 于 2012-3-31 16:38 发表 http://bbs.wuyou.net/images/common/back.gif
我已经成功了,谢谢分享,我还有两个问题请大大解决:欢迎界面前面没有小圆圈在转;进桌面那个个性化的窗口会出现不到一秒的时间。。怎么解决呢??

运行个性化的那个窗口换成后台运行即可,EXEC ! 再不行用EXEC @

spadek 发表于 2012-3-31 18:25:25

厉害啊,进来学习下。

2011Sunday 发表于 2012-4-1 09:22:13

很感谢楼主的幸苦琢磨,没有楼主最初的纯净版PE,我也不会弄我的那个纯净版PE,现在楼主又有了AERO,我也来跟风吧,过几天抽空移植到我的PE上。

2012cwz 发表于 2012-4-1 10:15:13

感谢楼主辛勤付出。。。

2011Sunday 发表于 2012-4-1 10:42:06

刚才试了下楼主的方法,在我修改的那个Win7PE上面开起了AERO,感觉不错,不过还有很多需要调整的地方(我指的是我的PE),明天就放假了,终于可以休息下了,我看又没时间下抽空完善下。再次感谢楼主的辛勤付出

33445566 发表于 2012-4-1 11:21:15

经验分享,方便大家学习,辛苦了

tzxinqing 发表于 2012-4-1 13:20:27

原帖由 2011Sunday 于 2012-4-1 10:42 发表 http://bbs.wuyou.net/images/common/back.gif
刚才试了下楼主的方法,在我修改的那个Win7PE上面开起了AERO,感觉不错,不过还有很多需要调整的地方(我指的是我的PE),明天就放假了,终于可以休息下了,我看又没时间下抽空完善下。再次感谢楼主的辛勤付出
老大辛苦,感谢楼主,感谢老大

心情长假 发表于 2012-4-9 09:46:02

向楼主钻研的精神致敬

2012wuyouer 发表于 2012-4-9 14:32:43

支持!!!!!!!!!!!!!!!!!!!!!!!!!!

2010ttt 发表于 2012-4-9 17:09:50

个人认为PE没必要弄这个,但还是支持一下

2012ysh0212 发表于 2012-4-10 20:37:04

技术帝啊,强帖顶起
页: [1] 2
查看完整版本: WIN7PE 开启 Aero 特效的方法总结