| 
 | 
 
经过长时间的试验,终于找到了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. 附件 
 
 
附件.zip
(236.26 KB, 下载次数: 846)
 
 
[ 本帖最后由 smine 于 2012-4-3 12:10 编辑 ] |   
 
评分
- 
查看全部评分
 
 
 
 
 
 |