时间2020/1/6,简单体验下WSL2
安装方法:
- 进入Windows预览体验计划(我个人加入的预览体验计划是“慢”,不清楚目前的发布预览是否支持wsl2),重启。
- 更新系统到最新,重启。
- 启用或关闭Windows功能里打开“虚拟机平台”。(当然适用于Linux的Windows子系统也要打开)
- Powershell中使用命令
wsl -l -v
可以看你现在已经安装的发行版,以及它们使用的wsl版本。 - Powershell中使用命令
wsl --set-default-version 2
可以将后续新装(从商店装)的其他发行版设置成使用wsl2。 - Powershell中使用命令
wsl --set-version Ubuntu 2
可以将先有已安装的发行版换成wsl2的,Ubuntu换成你的发行版名字。
wsl2安装完成。亲测打开“虚拟机平台”后和以前打开Hyper-v没有区别,会影响vmware和vbox6的运行,这个问题非常大,也是令我比较痛的问题,毕竟wsl外的Hyper-v的Linux虚拟机远远称不上好用,相对vbox易用性差很多。wsl2相对于wsl1有几个主要不同:
- docker可以用了。
- 不再内网互通,使用NAT来与主机交互,会在系统里建虚拟网卡,且只支持动态ip,每次重启ip改变,
暂无官方ip fix或者host方案目前版本(19041)已经可以在Windows下用localhost访问wsl2内的服务了,注意只能用localhost,用127.0.0.1不行,对我而言这样就够用了,毕竟访问Windows可以用主机的内网ip,但是互通多半后面也会做。 - 亲测几个之前wsl1表现有问题的地方,比如redis-benchmark远程等等,都可用了,这可能是wsl2最大的价值——不需要再为了不可知的wsl问题来付出时间,相对于完整的linux虚拟机只是少了systemd。
wsl2和普通虚拟机的区别主要是:
- 挂载了Windows的文件系统,使用体验这方面和wsl1一致,但是直接操作Windows下文件时效率不如wsl1,原因是wsl2是运行在一个exFAT的VHD中。
- 和wsl1一样,仍然不支持systemctl, systemd。
- 想要进行ip fix需要较复杂的方法添加到系统计划任务里,我自己还没测试,主要是觉得现有的一些方法emmmm,还是等官方。
(装docker方式可见本博客里常规Linux方式,一致)
以上。