WSL2 今天史诗级更新

285 天前
 hez2010

今天 WSL2 更新了 2.0.0 版本,详细更新内容见: https://github.com/microsoft/WSL/releases/tag/2.0.0

总结一下主要是:

  1. 支持自动回收内存
  2. 支持自动释放 WSL2 虚拟硬盘空间
  3. 支持和 Windows 使用相同的网络(镜像网络)
  4. 支持 DNS Tunneling
  5. 支持 Windows 设置的代理
  6. 支持 Windows 防火墙
  7. 支持 Multicast

需要至少 Windows 11 23H2 ,目前还没有发布正式版本,不过可以考虑加入 Insider 的 Release Preview 或者 Beta 通道,更新系统之后运行 wsl --update --pre-release 升级 WSL ,然后就可以在 %userprofile%\.wslconfig 里面设置以下内容:

[experimental]
autoMemoryReclaim=gradual # 可以在 gradual 、dropcache 、disabled 之间选择
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true

然后你会发现,WSL2 和 Windows 主机的网络互通而且 IP 地址相同了,还支持 IPv6 了,并且从外部(比如局域网)可以同时访问 WSL2 和 Windows 的网络。这波升级彻底带回以前 WSL1 那时候的无缝网络体验了,并且 Windows 防火墙也能过滤 WSL 里的包了,再也不需要什么桥接网卡、端口转发之类的操作了。

33093 次点击
所在节点    程序员
194 条回复
hahasong
285 天前
桥接都用习惯了,当虚拟机管理,咋改来改去
Biggoldfish
285 天前
赞一个 等推送到正式版了

目前双开 WSL 1 和 2 中,需要 Windows 文件系统下用 Linux 工具用 WSL 1 ,需要更加贴近真实 Linux 或 GPU 用 WSL2
Tiande
285 天前
还是 vmware 好用点,开了 hyperv 好多东西不能用
bing1178
285 天前
一直用 WSL1 ,然后这波升级是 WSL2 添加了 1 的特性 。。
zed1018
285 天前
@javalaw2010 但是支持的非常差,比如 intelliJ 的 wsl 支持到现在很多功能都不正常,而且经常会出新 bug ,甚至好不容易做的 tomcat 的运行支持到现在也是不 work 的状态,可能最新的 2.2 修复了。还是得用 gateway ,唯一的问题就是 gateway 没有 settings sync ,每个项目还独立。目前稍微好一点的方案是 intelliJ 装好配好,然后用 intelliJ 启动一个项目这样 jb client 会把 intelliJ 的配置和插件带一份过去,起码不会打开是啥也没有自定义过的状态了。
locoz
285 天前
内存问题终于解决了…之前吃了内存就不吐出来,还得设内存限制,都不好长期开着
qing18
285 天前
win10 怎么不能用呀,不想用 win11
arfaWong
285 天前
已更新😁
a632079
285 天前
可以可以,基本痛点都解决了。
javalaw2010
285 天前
@zed1018 哦还有这种 Bug?我不是 javer 不经常用 intellij 所以不是很清楚这个 Bug 。外企好像都这风格,再严重的 bug 只要不是 security 相关的都等着发版周期,而 jetbrians 家的发版周期一年都屈指可数。。。说回来 gateway 实在是太难用,我以前考虑过直接在 wsl2 里装 jetbrains IDE 的方案,不过实验下来有几个影响体验的问题:
1. jetbrains linux 版本全系 runtime 不支持输入法跟随,输入中文的时候候选框一直在左下角的位置
2. jetbrains 全家桶不原生支持 wayland ,所以分数缩放有问题,4K 屏 150%或者 175%的缩放体验非常差
3. wslg 会在窗口包一层边框,似乎这个边框是无法去掉的
如果能接受以上的问题的话,那体验确实会比 gateway 体验好一些
cst4you
285 天前
Windows 11 狗都不用(
wingzhingling
285 天前
更新 win11 的动力主要来源于 wsl 和 wsa ,也是挺幽默的
javalaw2010
285 天前
@loading 到注册表找`HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss`,这下面的文件夹里面有你发行版的名称和虚拟磁盘的路径,要救数据的话,把 vhdx 文件复制出来备份好,之后不管是虚拟机挂载还是直接新建新的 wsl2 发行版直接替换 vhdx 文件这都看你心情了。
meixg
285 天前
真的是史诗级更新,之前挂公司代理要各种修改 resolv.conf ,这回看起来不用了。
SZP1206
285 天前
挺好挺好,网络的痛点被解决了
tony1016
285 天前
macOS:什么是 linux
Cu635
285 天前
是说 win 10 之后也不会有这个更新么?

@tony1016 #56
它自己就可以算是了。macOS 本身就是类 unix ,再用 homebrew 安装一下 gun 风格的命令行工具不就基本能用了么……
tony1016
285 天前
@Cu635 赶紧拉倒吧
limaofeng
285 天前
就网络这块就很不错了,不知道什么时候出正式发布。之前 WSL2 吃内存吃的严重,我都是重启 WSL 来释放内存的
treblex
285 天前
win10 使用 wsl --update --pre-release 可以找到更新,不知道有没有问题

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/975098

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX