WSL2 和 VMWare 不兼容的解决方案

RT,微软最近发布了 Windows 10 May 2020 Update review (2004) ,看了下介绍忍不住兴高采烈提前上车了。

最吸引我的点就是 wsl2 支持了,因为 ubuntu 2004 lts 对 wsl1 的支持基本是残废的,无法正常使用。我还是比较喜欢新技术的,尤其是这次 ubuntu 2004 lts 的 apt 抛弃了很多远古的 32 位程序,并且默认使用 Python3 (apt install python-is-python3),况且 win10 和 ubuntu 同时来到 2004,版本号看着非常的有和谐感、统一感 XD。

还有一点就是这版 win10 终于底层支持 DoH 了,对于身处墙内的小伙伴们绝对是福音,相信不久的将来 DoH 和 DoT 一定会像 HTTPS 一样普及,从而彻底解决劫持和监听等安全问题(当然墙不仅仅是用 DNS 污染...起码域名的 ip 能解析到正确的了)。

另外看微软说有很多性能优化,安装之后确实比 1909 流畅太多,尤其是设置面板不卡顿了!日语输入法完全重做了,中文输入法也更加好用。

但是当我兴高采烈的安装完 wsl2,我发现了一个十分蛋疼的问题:wsl2 和 VMWare workstation 不能共存...!

这也太蛋疼了,鱼和熊掌就不能兼得么。。。

网上搜了下解决方案,目前 vmware 有一个 20H1 技术预览版,说是和 wsl2 以及 hyper-v 都能共存:https://blogs.vmware.com/workstation/2020/03/vmware-workstation-20h1-tech-preview-new-build-available.html

(20H2 预览版现在已经发布:https://blogs.vmware.com/workstation/2020/05/directx-11-now-with-workstation-tp20h2.html

下载链接:https://download3.vmware.com/software/wkst/file/VMware-workstation-full-e.x.p-16227267.exe

嗯,现在我的虚拟机可以正常启动了!

打开 ubuntu 2004 lts 的虚拟机,嗯,不错感觉还可以嗷?

打开 win8.1 虚拟机,嗯,还行有点不跟手,不过还算流畅...

打开 win7 虚拟机,操,这 tm 有点卡吧???

打开 vista 虚拟机,嗯,挺好挺好,能用。

打开 XP 虚拟机...嗯?怎么这个开机进度条像慢放一样??五分钟了操,怎么还进不去!!妈的终于到欢迎使用了!!咋还不进桌面?(又过了五分钟)终于进桌面了。。。操!!!怎么这么卡??!!这 tm 能用?(经我测试,vmware 20H2 已解决 XP 虚拟机无法使用的问题,但 WIN2K、NT4 等老系统依然缓慢到不可用)

看了我上面的评测,相信大家心里也有数了——这版 vm 虽然能和 wsl2 共存了,但是性能有严重的问题,甚至会拖累我真机的速度(cpu 占用居高不下)。

这可咋办,写好的东西得扔到虚拟机测试兼容性呢。

想了一下,记得微软官方文档说打开 wsl2 需要执行命令:

Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

就是因为这个命令,所以正式版的 vm 用不了,那么干脆我们临时禁用 wsl2 吧

Disable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

重启之后,vm 满血复活!!

然鹅,wsl2 他死了。。。想用的话再切回去吧。。。

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
wsl --set-default-version 2

看起来只能用虚拟机的时候开这个命令,不用的时候关掉了,这真是个 good idea。

本以为 wsl2 早就兼容 vm 了,没想到会是这样。。。

wsl2 实在爱你不动啊。。。

5 Comments (5416 Views)

  1. 现在不是出了vm15.5.6了吗,那个也不能和wls2共存吗?
  2. zjhken says:
    还好有你这里的一条命令彻底关闭wsl2, 网上这个命令不好找. 原本2004激动人心的功能就是这个wsl2, 结果vmware和它二选一, 那肯定选vmware.
  3. Palmer says:
    大佬我之前也装过win10体验版,然后安装了wsl2,结果VMware就打不开原来的虚拟机文件了。最后导致重装系统(烦x

    请问只能每次禁用命令嘛?如果禁用wsl2那个命令的话,用VMware正式版也可以吧,,不用非要使用20H1预览版吧,,
    1. @Palmer:如果禁用WSL2的话,什么版本的VMware都可以正常用。用VMware的20H1的话,开着HyperV相关功能(hyperv虚拟机、wsl2、Windows沙盒)的话,目前只有VMware的20H1可用,但是性能会受很大影响(我这里测试windows虚拟机win7以上版本影响稍微小一些,偶尔会卡,但是xp之类的老系统基本上是不可用状态,linux系统影响最小,不过都用wsl2了,也没必要再装linux的虚拟机了)。

Leave a Reply

Your email address will not be published. Required fields are marked *