安装VMware16兼容Hyper-v+WSL2+Docker+解决0x80370102报错

原文在我的开源中国博客:https://my.oschina.net/finchxu/blog/3195991
VMware 20H1(预览版)已经支持运行同时兼容Windows10的Hyper-v虚拟化。这里可以同时运行 VMware Workstation Pro Tech Preview 20H1 (16的预览版)+WSL2+Hyper-v虚拟机+Docker Desktop+VirtualBox6。同时呢,WSL2开启后也可以像普通Linux中安装和使用docker非常方便。

VMware blog原文介绍并提供了下载这个预览版的链接: https://blogs.vmware.com/workstation/2020/01/vmware-workstation-tech-preview-20h1.html

官方 VMware Workstation Pro Tech Preview 20H1 下载链接: https://download3.vmware.com/software/wkst/file/VMware-workstation-full-e.x.p-15679048.exe

A:这里说一下环境吧(以下条件均为必须):

  • Windows10(版本最低必须为19041)(自行查看,如果不是可以 加入预览体验计划 的 慢速通道 )
  • 下载好的 VMware Workstation Pro Tech Preview 20H1 版本(默认提供试用229天)
  • Windows10在BIOS中开启VT虚拟化
  • Intel Haswell or newer CPU 或者 AMD Bulldozer or newer CPU

B:首先安装WSL1(后续用命令转换为WSL2)

按照微软官方文档安装WSL1即可 https://docs.microsoft.com/zh-cn/windows/wsl/install-win10

安装好后进行WSL1的初始化: https://docs.microsoft.com/zh-cn/windows/wsl/initialize-distro

这里说明以下为什么先安装WSL1再转换成WSL2啊,为什么不直接设置成 wsl --set-default-version 2 默认安装WSL2呢?

答案是会遇到报错: WslRegisterDistribution failed with error: 0x80370102 这个错误查了很多文档都解决不了,可是先安装WSL1再转换2就不会遇到这个报错。

#这里用管理员身份打开PowerShell
PS C:\Users\enen> wsl -l -v
  NAME                   STATE           VERSION
* Ubuntu-18.04           Running         1
PS C:\Users\enen> bcdedit /set hypervisorlaunchtype auto


C:安装VMware20H1。这里就正常安装就好了,没什么特别的。创建启动一个虚拟机发现正常。(以前是会提示不兼容Hyper-v的)

D:WSL1转换为WSL2

参考微软的文档 https://docs.microsoft.com/zh-cn/windows/wsl/wsl2-install 如下:

#用管理员模式启动PowerShell然后运行
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
这两个安装完成直接 重启 !!!!!!!!!重启!!!!!!
#这里的就是你安装的WSL1的名称
wsl --set-version  2
wsl -l -v
#这时候会提示version为2

这时候VMware的虚拟机可以正常使用,WSL2也可以正常使用。

E:安装其他的。

记得修改WSL2中的Linux发行版的源为国内源,提高下载更新速度。

(1) 在WSL2中安装Docker-ce: https://docs.docker.com/install/linux/docker-ce/ubuntu/
(2)安装Windows桌面版Docker程序可以连接和守候WSL2中的docker容器:https://docs.docker.com/docker-for-windows/wsl-tech-preview/
这时候WSL2中的docker可以正常使用,桌面版自己的docker也可以使用了。两个docker集中管理。

桌面版和WSL2内Linux的docker协同使用

(3)安装vs code并使用插件连接WSL2。这里可以把你本地的开发环境直接迁移到WSL2的Ubuntu18中,是不是很方便。
(a)安装 vs code https://code.visualstudio.com/
(b)安装插件:在vs code的商店里搜索 remote_development 安装即可。
(c)在程序左下角会显示插件入口。点击使用。

vscode插件使用

vs code使用WSL2

(4)其他的使用情况,,随便。

其他参考:

https://www.right.com.cn/forum/thread-2036466-2-1.html

你可能感兴趣的:(安装VMware16兼容Hyper-v+WSL2+Docker+解决0x80370102报错)