从 15.5.5 开始,VMware Workstation/Player 终于支持与 Hyper-V 共存

VMware Workstation/Player 是家喻户晓的虚拟机软件,因为它出色的图形性能,以及几乎支持所有桌面系统,即使它是商业软件,市场占有率也远胜开源的 VirtualBox 和 Windows 系统自带的 Hyper-V。

然而随着技术发展,容器技术越来越流行,最热门的 Docker 在 Windows 平台上需要依赖 Hyper-V;微软拥抱开源,将 Linux 内核融入 Windows 系统中,推出了 Windows Subsystem For Linux ( WSL ) 2.0 ,同样需要开启 Hyper-V。

在 15.5.5 之前的版本中,VMware Workstation/Player 无法与 Hyper-V 共存,根据 VMware 官方博客 的说明和 网友的翻译 ——

  1. Hyper-V 使用的虚拟化技术是在硬件底层与 Windows 应用层之间插入 Hyper-V,将整个 Windows 应用层作为虚拟机。
  2. VMware Workstation/Player 则是直接访问 CPU 内建的虚拟化功能,因此,它们本身不能在虚拟机环境中运行,换句话说,不支持嵌套虚拟化。
  3. 所以,当用户开启 Hyper-V 的同时运行 VMware Workstation/Player,就会看到无法运行的报错信息。
Host does not meet minimum requirements to run VMware workstation

VMware 在新版本中将虚拟机运行在用户层(User Level Monitor),并且调用的是微软自家的 WHP APIs,所以能够与 Hyper-V 兼容并存。

不过,这样的结果并非 VMware 一家就能够促成的,它与微软通过合作完成了这项创举。对此,微软也发布了相关的声明:VMware Workstation and Hyper-V – Working Together

VMware Workstation and Hyper-V – Working Together

我们来看看系统的要求:

  1. VMware Workstation/Player 15.5.5 以上版本
  2. Windows 10 20H1 build 19041.264 或更新版本
  3. 硬件支持虚拟化(即使是以前也必须满足)

最后,我在使用的过程中发现勾选 虚拟化 Inter VT-x/EPT 或 AMD-V/RVI(V) 会导致虚拟机启动失败,推测还是虚拟化技术原理导致,需要 VMware 进一步完善。一个大型软件的转变需要时间,但是值得我们等待。