Windows 10 WSL2 预览版体验

Windows10 WSL2 预览版体验

部分内容来自微软文档

https://docs.microsoft.com/zh-cn/windows/wsl/wsl2-index

0. 总结

docker 用户,严重不建议升级 WSL2

  • 性能比 WSL1 快一些,但是和 Windows 集成度不如 WSL1,毕竟是个轻量虚拟机,使用了 Hyper-V
  • 现在 WSL2 需要快速预览并且自我感觉不如 WSL1。不建议尝鲜, 建议等 Windows Terminal出来之后再体验, 目前终端体验太差。

1. 安装 WSL2 (目前要求快速预览18917版本)

1.1 未安装 WSL1 直接安装 WSL2

a. 设置->更新和安全->开发者选项 打开应用源的 开发人员模式

b. 控制面板\程序启用或关闭 Windows 功能中勾选 适用于 Linux 的 Windows 子系统

c. 在 PowerShell 中运行

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

d. 重启系统

e. PowerShell中设置默认WSL模式版本为WSL2

wsl --set-default-version 2

f. 然后在 Windows Store 中选择自己喜欢的 Linux 发行版

1.2 WSL1 升级 WSL2 步骤

a. 在 PowerShell 中运行

Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

b. 重启系统

c. 将 WSL1 迁移到 WSL2

建议提前删除一些不要的大文件, 文件过大时间会非常*3长(完全不是显示的几分钟)。

# 列出已安装的 Linux 发现版名称
> wsl -l
适用于 Linux 的 Windows 子系统:
Ubuntu (默认)

# 将已安装的 Linux 发行版迁移到 WSL2,比如我的是Ubuntu,就写Ubuntu
> wsl --set-version Ubuntu 2
# 漫长的等待... 过程中会 CPU 和内存会满载

# 查看迁移之后的 WSL 详情
>wsl -l -v
  NAME      STATE           VERSION
* Ubuntu    Running         2

2. WSL2 优点

  • 功能比 WSL1 更加完整(毕竟是虚拟机)

    比如可以用 nload 查看 WSL 的网络吞吐量

  • 可以使用 docker
  • 文件读写比 WSL1 快很多(官方宣称)

    现在WSL直接使用的 ext4.vhdx 作为系统 rootfs,会根据存储的文件自动扩增, 还没看到删掉会减小。

3. WSL2 缺点

  • 目前不能够直接在文件管理器中操作 WSL 中文件

  • 网卡是新建Hyper-V的网卡, 并且 WSL 的 IP 地址貌似随机的??导致很多之前很好用的操作都没办法进行, 变得十分难用。

    比如之前可以在 Windows 安装 Xming 或者 VcXsrv 启动 X11 server 使用 Linux 的终端模拟器例如 Terminator 。而在 WSL2 因为是新建的网卡,不能这样操作了。在新版的Windows Terminal 发布之前,只能暂时使用难用且丑的 Windows 自带的。

    还有之前使用的 UnblockNeteaseMusic Github 链接WSL1 可以直接使用 node app.js -p 端口号启动, 然后在网易云直接设置代理为127.0.0.1 端口号 就可以使用了。
    但是在 WSL2 中 使用node app.js -p 端口号 启动之后, 不能使用本地地址,必须使用 WSL2 网卡的地址才可以,并且地址每次随机??:upside_down_face:

  • VS Code 暂时还不能使用 WSL2 终端

  • VMwareVirtual Box 6之前的版本不能与 WSL2 同时运行

  • 内存和磁盘分配只增不减

    当你在 WSL2 中放了大量的文件, WSL2 会扩充虚拟磁盘,当你删掉文件之后,磁盘并不会减小。

    内存同理,当你在执行耗内存操作之后,例如 du -sh 大目录,你会发现任务管理器中 Vmmem 进程会占用大量内存,并且操作中断之后, 内存不会释放。

4. 个人对 WSL2 的见解

我个人喜欢 WSL1 多于 WSL2 ,毕竟 WSL1,更像一个系统集成的终端(类似 macOS 体验),跟系统集成度很高。

当时看到微软发布 WSL1 之后,觉得 Windows 用户终于可以不羡慕 macOS 的终端了 :heart_eyes:

WSL1的体验,说实话还可以,总体来说体验很不错,配合Xming 或者 VcXsrv 启动 X11 server,使用体验很棒。除了文件读写性能很差和部分 Linux 功能缺失。

当我看发布会上 WSL2 解决了 WSL1 文件读写的痛点和完整的 Linux 内核,一直在期待着 WSL2 的发布。:expressionless:事实证明我低估了基于 Hyper-V 带来的缺点。。。。(果然买 Mac 才是归途么

Windows 如果坚持 WSL1 的模式走下去,Windows 的开发体验会更好,现在换成了 Hyper-V 模式,可能就要凉凉了。至少我不看好 WSL2

以上,谢谢大家的阅读~

:smile:

3 个赞

走虚拟机路线的话确实不看好,又不是没别的虚拟机。

唉 哀其不幸 怒其不争

不知道最后会不会砍了WSL

见怪不怪了
当初收购了 奇妙清单 ,然后微软改名部拿大刀左砍右砍,砍出个 Microsoft To-Do