建议使用微软官方推荐的Windows命令行工具:https://learn.microsoft.com/zh-cn/windows/terminal/install
官网文档:https://learn.microsoft.com/zh-cn/windows/wsl/
通过WSL2安装的虚拟系统共享宿主机的CPU、硬盘、内存等资源,WSL2会动态分配硬件资源给虚拟系统使用。以下为常用命令:
## 更新wsl
wsl --update
## 查看wsl版本
wsl --version
## 设置默认的wsl版本(目前的wsl有两个版本,即 1 和 2)
wsl --set-default-version <Version>
## 检查 WSL 状态
wsl --status
## 查看可安装的虚拟系统
wsl --list --online
## 查看已安装的虚拟系统
wsl --list --verbose
## 安装指定虚拟系统(安装完成后可能需要重启系统)
wsl --install <虚拟系统名称,如:Ubuntu-22.04>
## 卸载指定虚拟系统
wsl --unregister <虚拟系统名称>
## 备份与恢复(详见官方文档)
wsl --export <Distribution Name> <FileName>
wsl --import <Distribution Name> <InstallLocation> <FileName>
注意
1.0> 如果只安装了一个虚拟系统,则必须设置默认的虚拟系统,否则会发生错误
## 设置默认虚拟系统
wsl --set-default <虚拟系统名称>
2.0> 打开虚拟系统:直接搜索虚拟系统打开即可;打开后即可启动虚拟系统,关闭虚拟系统窗口后,虚拟系统将被停止运行:
3.0> wsl功能强大,提供了文件共享和互相访问的能力;但不推荐在虚拟系统中直接访问宿主的文件系统,反之亦然;因为,跨系统文件访问的性能很低。
详见官网:https://learn.microsoft.com/zh-cn/windows/wsl/wsl-config
wsl有两个配置文件 wsl.conf
和 .wslconfig
;.wslconfig
是全局设置,对所有虚拟系统都生效;wsl.conf
是虚拟系统本地配置,仅对每个虚拟系统自身生效。
高级主要用于配置虚拟系统能够使用的CPU、内存,以及网络模式等。默认情况下,虚拟系统能够共享使用宿主机的所有CPU,以及50%的内存;默认的网络模式为NAT。默认配置通常能够满足大部分需求,因此无须进行配置。
WSL集成在操作系统中,没有单独的安装目录。
虚拟系统默认安装在C盘,修改安装位置较为麻烦;推荐安装在C盘,因为C盘通常有性能较高的固态硬盘;同时,无须额外的配置即可直接使用。
wsl创建了一个虚拟网卡,并默认使用Nat模式为虚拟系统自动分配IP;在宿主机上无须做额外配置即可直接访问该虚拟网络。
## 查看指定虚拟系统的IP
wsl -d <虚拟系统名称> hostname -I
在宿主机上可以直接 ping 通虚拟系统的IP,但从虚拟系统中无法访问宿主机,这是正常的网络链路,就像服务云服务器无法访问本地服务一样。如下是wsl创建的虚拟网卡:
1.0> 使用命令shell:startup
打开开机启动目录;
2.0> 创建 wsl-startup.vbs
文件,并添加如下脚本:(将Ubuntu-22.04改成要启动的虚拟系统名称)
set ws=wscript.CreateObject("wscript.shell")
ws.run "wsl -d Ubuntu-22.04", vbhide