解决Docker Desktop和VMware Workstation的Hyper-V互斥冲突

解决Docker Desktop和VMware Workstation的Hyper-V互斥冲突

环境:win10,Docker Desktop最新版,VMware Workstation17.6

冲突分析:Docker Desktop需要启动Hyper-V,而VMware Workstation需要关闭Hyper-V。

解决思路:通过Windows的启动配置数据(BCD)编辑器创建两个启动项,一个启用Hyper-V,另一个禁用Hyper-V。

步骤

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

  2. 复制当前启动项作为新启动项(默认本身windows是开启Hyper-V的)

    # 此命令会返回一个新GUID,格式如{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx},记下这个GUID
    bcdedit /copy {current} /d "Windows 10 (No Hyper-V - For VMware)"
    
  3. 为新启动项禁用Hyper-V

    # 用记下的GUID替换xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    bcdedit /set {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} hypervisorlaunchtype off
    
  4. 设置启动菜单显示时间

    # 显示启动菜单10秒
    bcdedit /timeout 10  
    
  5. 查看配置,验证

    # 能看到两个Windows启动项,一个hypervisorlaunchtype为Off,另一个为Auto。
    bcdedit /enum
    
  6. 重启,选择Windows 10 (No Hyper-V - For VMware)启动项,测试vmware正常使用。

注意:

  1. 虽然VMware Workstation有兼容方案,但实际操作起来依然困难,本人未能成功。
  2. 若版本较高,如17以上,也可看看官方文档有何兼容方案。
  3. 但若没有需要VMware Workstation和Docker Desktop同时运行的需求,此处理方式已经OK。
  4. 若有需求可以查看VMware Workstation官方文档或者换个不冲突的虚拟机(如Virtual Box等,需自行测试)
posted @ 2025-05-11 16:57  不要划水  阅读(419)  评论(0)    收藏  举报