问题描述
- 安装docker desktop(版本4.21.1 (114176))后,尝试运行软件后,提示无法运行需要升级WSL。
- 升级WSL后,VMware(版本15.5.1 build-15018445)运行失败,并提示“VMware Workstation 与 Device/Credential Guard 不兼容。在禁用 Device/Credential Guard 后,可以运行 VMware Workstation”
结论与解决方法
结论
由于docker desktop使用了基于WSL 2(基于Hyber-V架构)的引擎,Hyber-V与低版本VMware不兼容,导致不可用。
解决方式(根据自身情况择一)
- Windows 10 20H1 build 19041.264 or newer:升级VMware到15.5.6或更高版本。
- Windows 10 1909及以前:关闭Hyber-V,但会导致WSL2无法使用,进而Docker desktop不可用。关闭步骤及注意事项见VMware官网提供的解决方法。
原因分析
查看VMware报错官网提供的解决方法链接,根本原因是Hyber-V与低版本VMware不兼容,导致不可用。
- 由VMware的错误提示关键词“Device/Credential Guard”,搜索到Hyber-V。Hyber-V是Windows的虚拟化程序,Device Guard是其实现的功能。
- 搜索WSL 2,进入微软官网,了解到WSL 2使用了Hyber-V。官网也提到Hyber-V会导致VMware不可用。