Windows10 WSL2 预览版体验
部分内容来自微软文档
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自带的。还有之前使用的
UnblockNeteaseMusicGithub 链接,WSL1可以直接使用node app.js -p 端口号启动, 然后在网易云直接设置代理为127.0.0.1 端口号就可以使用了。
但是在WSL2中 使用node app.js -p 端口号启动之后, 不能使用本地地址,必须使用WSL2网卡的地址才可以,并且地址每次随机??
-
VS Code暂时还不能使用WSL2终端 -
VMware及Virtual Box 6之前的版本不能与WSL2同时运行 -
内存和磁盘分配只增不减
当你在
WSL2中放了大量的文件,WSL2会扩充虚拟磁盘,当你删掉文件之后,磁盘并不会减小。内存同理,当你在执行耗内存操作之后,例如
du -sh大目录,你会发现任务管理器中Vmmem进程会占用大量内存,并且操作中断之后, 内存不会释放。
4. 个人对 WSL2 的见解
我个人喜欢 WSL1 多于 WSL2 ,毕竟 WSL1,更像一个系统集成的终端(类似 macOS 体验),跟系统集成度很高。
当时看到微软发布 WSL1 之后,觉得 Windows 用户终于可以不羡慕 macOS 的终端了
。
WSL1的体验,说实话还可以,总体来说体验很不错,配合Xming 或者 VcXsrv 启动 X11 server,使用体验很棒。除了文件读写性能很差和部分 Linux 功能缺失。
当我看发布会上 WSL2 解决了 WSL1 文件读写的痛点和完整的 Linux 内核,一直在期待着 WSL2 的发布。
事实证明我低估了基于 Hyper-V 带来的缺点。。。。(果然买 Mac 才是归途么
Windows 如果坚持 WSL1 的模式走下去,Windows 的开发体验会更好,现在换成了 Hyper-V 模式,可能就要凉凉了。至少我不看好 WSL2 。
以上,谢谢大家的阅读~
![]()