今天在 VMware Workstation 16 Pro 中安装一台虚拟机 Windows 7,已安装过多次,应该说轻车熟路了,不过今天却遇到了问题。Win7 系统安装完成后安装 VMware Tools,结果弹出错误提示:
安装程序无法自动安装 Virtual Machine Communication Interface Sockets (VSock) 驱动程序,必须手动安装此驱动程序。如下图:

安装程序无法自动安装 Virtual Machine

原因分析

  装过这么多回,还是第一次遇到这样的问题。一开始我以为是新版本 VMware Workstation 16 导致的原因,还退回旧版的“硬件兼容性”重装了一次,如下图:

 VMware 硬件兼容性

  结果问题照旧。想想也不太可能,VMware 已经是这么成熟的产品了。后来通过查询资料才得知,原来,微软更新了驱动程序的签名算法,从 2019 年初开始,逐步弃用SHA-1,改为SHA-2。个人推测新版的VMCI驱动用的是SHA-2签名,而 Windows7 不支持SHA-2签名,所以出现了这个问题。

  不过,可以通过安装补丁的方式来解决这个问题。具体可以看下微软官网的“针对 Windows 和 WSUS 的 2019 SHA-2 代码签名支持要求”这篇文章,其中就有一条:
2019 年 3 月 12 日,独立安全更新 KB4474419和 KB4490628发布,引入了 SHA-2 代码签名支持。适用于 Windows 7 SP1 和 Windows Server 2008 R2 SP1。

解决方法

  可以从 Microsoft Update Catalog 下载 KB4474419 和 KB4490628 这两个补丁,然后安装到 Win7 虚拟机中。在没有成功安装 VMware Tools的情况下,传文件不太方便,可以用虚拟机里浏览器访问下载页面,然后直接在虚拟机里下载安装。下载地址:
https://www.catalog.update.microsoft.com/search.aspx?q=kb4474419
https://www.catalog.update.microsoft.com/search.aspx?q=4490628

  安装补丁后,重启虚拟机,然后重新 VMware Tools 即可。

  这是一种方法,不过有些朋友会觉得在没安装 VMware Tools 的情况下不太方便,于是我把补丁下载下来做成了 iso 文件,可以直接加载到虚拟机的光驱里进行安装,如下图:

VMwareTools无法安装修复补丁

  里面分别包含了32位和64位补丁程序,请注意区分。最后,问题完美解决!