×

Win10 hyper-v与vmware不兼容解决方案

hqy hqy 发表于2024-12-19 17:13:08 浏览2 评论0

抢沙发发表评论


  因为需要在电脑中安装了VMware虚拟机,却被提示hyper-v与vmware不兼容,这种问题应该怎么解决呢?下面就给大家详细介绍一下Win10 hyper-v与vmware不兼容的解决方法。


一、异常

1.1 异常描述 - V M w a r e W o r k s t a t i o n 与 H y p e r − V 不兼容 \color{red}{VMware Workstation 与 Hyper-V 不兼容}VMwareWorkstationHyperV不兼容

mportant;">

1
回到目录  回到末尾

1.2 异常原因

  个人在使用虚拟化软件的时候,往往都会选择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 时会报错。

回到目录  回到末尾

二、解决办法

  总结了网上提供的一些方法,一个个尝试,记录如下:

2.1 关闭Hyper-V服务

  1. win+R,在弹出的框中输入:control ,进入控制面板:

3
2. 控制面板 -> 程序 -> 程序和功能 -> 启用或关闭windows功能

33
3. 检查配置:“win+ R“打开运行,输入gpedit.msc,然后单击“确定”按扭即可启动Windows XP组策略编辑器。6
4. “win+ R“打开运行,输入services.msc

1
2

  • 如果上述操作有设置变更的,关闭电脑。

  • 重启电脑,进入BIOS确认VT虚拟化已经开启;

  • 重启后,如果能正常打开并运行vmware,则表示设置成功。如果还是提示该错误,【点击进入下一步-移除服务】进一步排查。

  • 如果上述操作没有设置变更的,可以【点击进入下一步-移除服务】,进一步排查。

我的这里就是没有勾选的,进一步排查

2.2 移除服务

  以管理员身份运行命令提示符cmd,输入命令:
Dism /online /disable-feature /featurename:Microsoft-Hyper-V-All /Remove

1
  运行完成后开启VMware workstation ,如果仍提示VMware Workstation 与 Hyper-V 不兼容,可以【点击进入下一步-新建账户】,进一步排查。

这一步还是没有用,进一步排查

2.3 新建账户

  1. 查看系统组件是否有问题,在命令提示符(管理员)cmd下键入以下命令: sfc /SCANNOW
    1

  2. 如果没有问题,新建本地账户:以管理员运行命令提示符cmd,输入下面两行指令新建一个管理员本地账户:

#rml是新建账户名,251524是新建密码,名称和密码根据需要都可以修改
net user rml 251524 /add 
#为该账户添加管理员权限
net localgroup administrators rml /add

1
使用这个账户,再查看一下。
3. 切换用户操作步骤如下:点击左下角开始,选中当前用户;点击用户图标,在弹出的账户中进行切换。
1

(1)如果问题不出现了,说明原账户的配置文件出现了问题,是没法修复的,建议使用新的账户。
(2)如果问题依旧,点击进入下一步,进一步排查

新账户还是不行,头大

回到目录  回到末尾

2.4 组件检测修复工具Dism

使用windows自带的组件检测修复工具Dism进行还原修复:

  1. 在命令提示符(管理员)cmd下键入以下三行命令:

  • 联网将系统映像文件中与官方文件不相同的文件还原成官方系统的源文件,系统中安装的软件和用户设置保留不变,执行命令:
    Dism /Online /Cleanup-Image /RestoreHealth
    1

  • Dism.exe /online /Cleanup-Image /StartComponentCleanup
    2

  • 查看系统组件是否有问题 ,输入命令:sfc /SCANNOW
    五

  1. 关闭cmd,然后“win+ x”,然后运行以管理员身份运行Windows Powershell (管理员)
    4
    运行命令:Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All
    1

  2. 关闭电脑,等10秒后在重新启动。重启后,如果能正常打开并运行vmware,则表示设置成功。如果还是提示该错误,【点击进入下一步-彻底关闭Hyper-V】进一步排查。

回到目录  回到末尾

2.5 彻底关闭Hyper-V

通过命令关闭Hyper-V(控制面板关闭Hyper-V起不到决定性作用),在命令提示符(管理员)cmd下键入命令:

  1. 运行命令关闭Hyper:bcdedit /set hypervisorlaunchtype off

启用Hyper命令:bcdedit / set hypervisorlaunchtype auto

  1. 查看是否关闭:bcdedit /enum
    如果关闭了会看到最后一行显示:hypervisorlaunchtype Off
    2

  2. 关闭电脑,等10秒后在重新启动。。重启后,如果能正常打开并运行vmware,则表示设置成功。如果还是提示该错误,【点击进入下一步-新建系统】进一步排查。

我的设置重启后,还是报异常,进一步排查

回到目录  回到末尾

2.6 新建系统

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

  1. 以管理员身份打开命令提示符
    1

  2. 输入以下命令,创建一个启动菜单,并记下{ } 中的一串代码

#命令
bcdedit /copy {current} /d "命名"
#示例
bcdedit /copy {current} /d "win 10(no Hyper-V)"

1
3. 输入以下命令,将此启动选项,关闭Hyper-V功能

#命令
bcdedit  /set {上步中生成的代码} hypervisorlaunchtype OFF
#示例
bcdedit  /set {7f575ddb-07b7-11ed-a552-ffd58d7350a3} hypervisorlaunchtype OFF

1
4. 关闭电脑,等10秒后在重新启动。此时可以在菜单中看到有两个启动选项
2
此时选择第一个选项,就可以使用Hyper-V。第二个选项,就可以安装或使用Vmware Workstation了。现在我们可以随心所欲的使用不同的虚拟化环境了。

当然,如果想删除其中一个菜单选项的话,有两种方式:
(1)可以使用bcdedit命令来删除:
bcdedit /delete {identifier}:删除指定的操作系统或者选项。
比如,我要将上述的实模式启动扇区的ID删除,命令如下:bcdedit /delete {fc1dacb2-2831-4017-bd4c-3a76aff2563f}
(2)运行msconfig跳出图形界面来删除,以下:
2

  完成后,重启电脑和vmware.查看是否能正常打开。如果还是提示该错误,【点击进入下一步-Hyper-V.cmd】进一步排查。

我的设置重启后,电脑能启动到桌面,但是桌面鼠标没反应,我又撤销了,进一步排查

回到目录  回到末尾

2.7 Hyper-V.cmd

复制下面代码,命名为Hyper-V.cmd,然后以管理员身份运行,等待,再重启电脑
代码如下():

pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL

最后输入Y,关闭电脑,等10秒后在重新启动。。
如果还是提示该错误,【点击进入下一步-注册表】进一步排查。

我的设置后重启,电脑无法启动,又撤销更新了,进一步排查

回到目录  回到末尾

2.8 修改注册表

  1. win+R .然后输入:regedit
    1

  2. 依次点击,如下图\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity
    2
    双击,各个名称,将最后两个修改为0
    2
    然后关闭电脑,等10秒后在重新启动。
    如果还是提示该错误,【点击进入下一步-升级版本】进一步排查。

我的本身就是值就是0

回到目录  回到末尾

三、升级版本

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

  1. 将 Windows 版本升级到 Windows 10 20H1 或更高版本。

  2. 将 VMWare Workstation/Player 升级到 15.5.5 或更高版本,
    具体安装虚拟机时注意:

  • 在安装时,需要在如图所示的这一步勾选“自动安装 Windows Hypervisor Platform (WHP)”
    1

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


打赏

本文链接:https://www.kinber.cn/post/4261.html 转载需授权!

分享到:


推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

 您阅读本篇文章共花了: 

群贤毕至

访客