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

VMware 20H1(预览版)已经支持运行同时兼容Windows10的Hyper-v虚拟化。这里可以同时运行 VMware Workstation Pro Tech Preview 20H1 (16的预览版)+WSL2+Hyper-v虚拟机+Docker Desktop+VirtualBox6。同时呢,WSL2开启后也可以像普通Linux中安装和使用docker非常方便。

原文在我的开源中国:https://my.oschina.net/finchxu/blog/3195991

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(如下图版本号2004,要求操作系统版本最低必须为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
这两个安装完成直接 重启 !!!!!!!!!重启!!!!!!
#这里的<Distro>就是你安装的WSL1的名称
wsl --set-version <Distro> 2
wsl -l -v
#这时候会提示version为2

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

E:安装其他的。

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

这时候WSL2中的docker可以正常使用,桌面版自己的docker也可以使用了。两个docker集中管理。

  • 安装vs code并使用插件连接WSL2。这里可以把你本地的开发环境直接迁移到WSL2的Ubuntu18中,是不是很方便。

(1)安装 vs code https://code.visualstudio.com/

(2)安装插件:在vs code的商店里搜索 remote_development 安装即可。

(3)在程序左下角会显示插件入口。点击使用。

  • 其他的使用情况,,随便。

其他参考:

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

原文地址:https://www.cnblogs.com/finch-xu/p/12654778.html

时间: 2024-08-25 21:15:57

安装VMware16兼容Hyper-v+WSL2+Docker+解决0x80370102报错的相关文章

安装wps导致 application/kset 上传文件类型报错解决办法

电脑中安装wps上传execl时,上传.xls文件时 报错 application/kset 文件类型不正确 打印array() print_r($_FILES ) 结果如下: Array ( [userfile] => Array ( [name] => Template.xls[type] => application/kset[tmp_name] => C:\\Windows\\temp\\phpACC.tmp [error] => 0 [size] => 768

Docker容器互联网络报错:WARNING: IPv4 forwarding is disabled. Networking will not work.解决办法(centos7)

Docker容器互联网络报错:WARNING: IPv4 forwarding is disabled. Networking will not work. 解决办法: echo net.ipv4.ip_forward=1 >> /usr/lib/sysctl.d/00-system.conf systemctl restart network 原文地址:https://www.cnblogs.com/pqshen/p/12159955.html

关闭或启动linux防火墙后,docker启动容器报错问题解决方式

关闭或启动linux防火墙后,docker启动容器报错问题解决方式 解决办法:重建docker0网络恢复 1.按照进程名杀死docker进程 pkill docker 2.清空防火墙规则-清空nat表的所有链 iptables -t nat -F 3.查看定义规则的详细信息 iptables -L -n -v 4.关闭docker0接口 ifconfig docker0 down 5.删除docker0接口 brctl delbr docker0 6.重启docker systemctl res

系统调优:如何解决系统报错too many open files瓶颈

一.检查系统版本是否手工升级 [[email protected] ~]# uname -r   linux的内核版本号 2.6.32-358.el6.x86_64 [[email protected] ~]# cat /proc/version Linux version 2.6.32-358.el6.x86_64  [[email protected] ~]# cat /etc/issue  系统安装时默认的发行版本 CentOS release 6.4 (Final) [[email pr

zun 不能创建 docker 容器,报错: datastore for scope &quot;global&quot; is not initialized

问题:zun不能创建docker容器,报错:datastore for scope "global" is not initialized 解决:修改docker 服务配置文件: [[email protected] ~]# cat /usr/lib/systemd/system/docker.service [Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.

解决tpcc_load 报错 error while loading shared libraries: libmysqlclient.so.20

在刚开始导入tpcc数据仓库时,可能会遇到 error while loading shared libraries: libmysqlclient.so.20这个错误,找不到库文件. 但是,通过find 能查找到这个文件 [[email protected] src]# find / -name libmysqlclient.so.20 /usr/local/mysql/lib/libmysqlclient.so.20 /usr/local/src/mysql-5.7.16/libmysql/

解决Appium报错cannot import name &#39;InvalidArgumentException&#39;

好久没动代码,今天运行自动化脚本时突然报错 cannot import name 'InvalidArgumentException', 在CMD的python命令行下运行了下: from appium import webdriver   结果报上述错误,可见是引用错误. 百度了下,已解决. https://www.cnblogs.com/xingkeke/p/9692145.html,感谢博主分享 在python的安装目录中找到 exceptions.py 文件, 如我的目录是 D:\py\

解决xtrabackup 报错innodb too many file问题

软件版本:centos 7.5-64mysql 5.7xtrabackup 2.4 按照相关文档和资料在centos7上安装了xtrabackup,然后依照命令进行备份报错: [[email protected] ~]#innobackupex --default-file=/etc/my.cnf --user=root --password=111111 --host=localhost /Data/bak_db/ ----InnoDB: Operating system error numb

git:Git fetch和git pull的区别, 解决Git报错:error: You have not concluded your merge (MERGE_HEAD exists).

Git fetch和git pull的区别, 解决Git报错:error: You have not concluded your merge (MERGE_HEAD exists). 解决办法一:保留本地的更改,中止合并->重新合并->重新拉取 $:git merge --abort $:git reset --merge $:git pull 解决办法二:舍弃本地代码,远端版本覆盖本地版本(慎重) $:git fetch --all $:git reset --hard origin/ma