默认情况下,无法在 VMware 中启用 Windows Vista(Longhorn)版本 5098 和 5112 的 DWM。微软强制用户在这些版本中使用 LDDM 驱动程序,遗憾的是,不存在 VMware 的 LDDM 驱动程序。这意味着启用 DWM 和 Aero Glass 需要真正的硬件。

对于上一个泄漏版本(5048)和下一个泄漏版本(5212),可以通过将注册表项 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DWM
下的 EnableMachineCheck
设置为 0
来轻松启用 DWM。当 EnableMachineCheck
设置为 FALSE
(0
)时,它将跳过对 LDDM 驱动程序的检查。不用说,在 5098 和 5112 中这样做是行不通的。为什么?因为 EnableMachineCheck
是微软内部使用的后门,但是 5098 和 5112 是为公众编译的。
uxss.exe
(UX 子系统)负责驱动程序和注册表检查,让我们来看看它。很明显,当使用 XPDM 驱动程序时,5098 和 5112 的 uxss.exe
中的这个额外 if
语句会导致 CDwmAppHost::VerifyDisplayModes()
失败。

删除该 if
语句后,您应该能够使用 XPDM 驱动程序和 EnableMachineCheck
后门启用 DWM。需要 4 字节(条件跳转)补丁将代码转换为:

if
语句之后5098 和 5112 的 uxss.exe
补丁:
要在 VMware 中启用 5098 或 5112 的 DWM,请使用修补的 uxss.exe
替换原始的 uxss.exe
,安装兼容的 VMware SVGA 驱动程序并将 EnableMachineCheck
设置为 0
。确保在完成所有步骤后重新启动虚拟机。
一些截图:


感谢桃花和我同事的翻译,下页是英文原文 :
可不可以在vista rtm中进行类似修改,使其接受xpdm aero
I don’t think so, unfortunately.
楼主可以分享一下可以与5112兼容的svga驱动么,我尝试使用文章中提供的方法,并使用vmware7.0的svga驱动开启5112的aero,但在修改注册表并重启后explorer却不显示,而且aero好像也并没有开启,这个是什么原因?
This one worked for me: https://longhorn.ms/download/vmware-6-5-2-driver-package.zip.
但是我在VMware12.5.9中使用vista的兼容性安装5112,并且使用了这个svga驱动并修改5112的uxss名称为uxss.exe并替换对应文件,最后修改注册表后,开机后explorer还是不显示,只有按下ctrl+shift+f9桌面图标才显示,不过aero还是没有开启,所以楼主是否可以分享一下5112开启Aero的具体配置吗?用楼主你的方法在虚拟机开启5112的aero条件很苛刻么?
I’m not sure… I used the same drivers as for pre-reset builds and VMware 7.10. If you can get pre-reset DWM to work then this should work as well.
是直接把它替换了是吧,,,
Yes. Do it from WinPE or something.