WSL2 使用笔记

2022/5/23·3 views

安装

官方文档

https://learn.microsoft.com/zh-cn/windows/wsl/

wsl --install

升级

shell 复制代码
do-release-upgrade 

报错 Command terminated with exit status 1

shell 复制代码
apt remove --purge snapd

登录相关

停止wsl2

shell 复制代码
wsl --shutdown

wsl切换用户需要输入密码

可以参考博客的其他文章设置免密登录

默认使用root用户

运行cmd/powershell, 运行下面的命令

复制代码
ubuntu1804 config --default-user root
wsl --shutdown
ubuntu1804

如果你的发行版是其他版本,修改ubuntu1804 即可

ip相关

WSL2 每次重启后ip会变,网上提供了响应教程可以固定,实际上使用localhost就可以。如果你的子系统安装了nginx,建立虚拟机,绑定域名后在windows的hosts中将域名指向127.0.0.1

文件读取拷贝速度问题

wsl2 和 windows之间的文件读取速度很慢,所以可以安装俩子系统发行版,一个使用wsl1, 一个使用wsl2

shell 复制代码
wsl --set-version Ubuntu-18.04 1   # 将Ubuntu-18.04设置为wsl1
shell 复制代码
wsl -l -v  # 查看所有版本

windows访问wsl

在文件资源管理器输入

复制代码
\\wsl$

压缩wsl2磁盘

wsl2的vhdx文件可以自动扩容,但是删除wsl2里面的文件并不会压缩磁盘,将空间释放出来,所以需要利用diskpart来压缩,操作需谨慎

首先需要停止wsl,wsl --shutdown,或者wsl --terminate

为了方便我用everything搜索ext4文件,找到对应的wsl虚拟磁盘位置并复制

启动diskpart.exe

shell 复制代码
select vdisk file="{vhdx文件名}"
compact vdisk

wsl2 systemd支持

shell 复制代码
vim /etc/wsl.conf

加入

shell 复制代码
[boot]
systemd=true

不过建议将这个配置放在.wslconfig文件中

重启发行版,测试: systemctl list-unit-files --type=service 显示服务状态