个人在使用虚拟化软件的时候,往往都会选择Vmware Workstaion,或者Windows自带的Hyper-V。但是低版本的vmware与hyper-v不能并存

不能共存原因分析

Hyper-V 是一个type 1 hypervisor,当在 Windows 中启用 Hyper-V 时,Windows 系统在硬件底层与 Windows 应用层之间插入了一层 Hyper-V,而原来的 Windows 应用层则变成了一个运行在 Hyper-V 上的虚拟机。
而 VMWare Workstation/Player 使用一种被称为虚拟机监视器(Virtual Machine Monitor,VMM)的机制,直接访问 CPU 内建的虚拟化功能,因此,它们本身不能在虚拟机环境中运行,换句话说,不支持嵌套虚拟化(nested virtualization)。
当 Windows 启用 Hyper-V 时,原来的 Windows 变成了虚拟机环境,偏偏 VMWare Workstation/Player 不能在虚拟机环境中运行,因此,运行VMWare Workstation/Player 时会报错。

解决办法

把一个Windows系统变成两个系统使用。一个是加载Hyper-V的驱动服务的,而另个一个不加载。但系统还是一个,在我们启动时候我们会看到两个菜单,一个可以使用默认启动HYPER-V,一个默认不启动HYPER-V,而用VMWARE Workstaiton的,那这个启动菜单怎么做呢?

第一步:以管理员身份打开命令提示符

are Workstation 在此主机上不支持嵌套虚拟化 模块MonitorMode启动失败 vmware不支持嵌套虚拟化_Windows

第二步:输入以下命令,创建一个启动菜单,并记下{ } 中的一串代码。

are Workstation 在此主机上不支持嵌套虚拟化 模块MonitorMode启动失败 vmware不支持嵌套虚拟化_Vmware与Hyper v_02

第三步:输入以下命令,将此启动选项,关闭Hyper-V功能

are Workstation 在此主机上不支持嵌套虚拟化 模块MonitorMode启动失败 vmware不支持嵌套虚拟化_虚拟化_03

第四步:重新启动,此时可以在菜单中看到有两个启动选项

are Workstation 在此主机上不支持嵌套虚拟化 模块MonitorMode启动失败 vmware不支持嵌套虚拟化_嵌套_04

此时选择第一个选项,就可以使用Hyper-V。第二个选项,就可以安装或使用Vmware Workstation了。现在我们可以随心所欲的使用不同的虚拟化环境了。

当然,如果想删除其中一个菜单选项的话,可以使用bcdedit命令来删除,还可以使用更简单的方式,你可以运行msconfig跳出图形界面来删除,以下截图

are Workstation 在此主机上不支持嵌套虚拟化 模块MonitorMode启动失败 vmware不支持嵌套虚拟化_Windows_05


好了,就讲到这里,大家可以去试一下了。

好消息(重点!!!)

从 VMWare Workstation/Player 15.5.5 版本开始,VMWare 公司重构了 VMM机制,将 VMM 机制调整为在用户级别运行,不再直接访问硬件,而是通过利用微软的 Windows Hypervisor Platform (WHP) 的 API 来运行。从而彻底解决了 VMWare Workstation/Player 与 Hyper-V 的冲突问题。

所以需要:

  • 将 Windows 版本升级到 Windows 10 20H1 或更高版本。
  • 将 VMWare Workstation/Player 升级到 15.5.5 或更高版本,

具体安装虚拟机时注意:

  • 在安装时,需要在如图所示的这一步勾选“自动安装 Windows Hypervisor Platform (WHP)”
  • are Workstation 在此主机上不支持嵌套虚拟化 模块MonitorMode启动失败 vmware不支持嵌套虚拟化_Vmware与Hyper v_06

  • 如果报错“VMWarePlayer 在此主机上不支持嵌套虚拟化。模块 MonitorMode 启动失败。未能启动虚拟机”,打开虚拟机的设置选项,找到“处理器”,去掉如图所示的三个选项前面的钩,点击“确定”就可以了。
  • are Workstation 在此主机上不支持嵌套虚拟化 模块MonitorMode启动失败 vmware不支持嵌套虚拟化_嵌套_07