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 需要执行命令:

1
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

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

1
Disable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

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

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

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

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

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

wsl2 实在爱你不动啊。。。