默认情况下,无法在 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
。确保在完成所有步骤后重新启动虚拟机。
一些截图:


感谢桃花和我同事的翻译,下页是英文原文 :