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
自带的。还有之前使用的
UnblockNeteaseMusic
Github 链接,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
。
以上,谢谢大家的阅读~