WSL--无需安装虚拟机和docker可以直接在Windows操作系统上使用Linux操作系统
安装WSL命令
-
管理员打开PowerShell或Windows命令提示符,输入
wsl --install
,然后回车
注意:此命令将启用运行 WSL 和安装 Linux 的 Ubuntu 发行版所需的功能。
注意:默认安装最新的Ubuntu发行版。
注意:默认安装路径是C:\Users\<username>\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc
路径下 -
根据提示输入用户名和密码
-
使用
lsb_release -a
查看当前安装Linux版本
-
在power shell下输入
wsl --list --online
或wsl --list -o
查看可用 Linux 发行版的列表
-
安装其他Linux发行版
wsl --install -d <Distribution Name>
-
查看WLS版本
wsl -l -v
-
使用
exit
退出Linux系统,可以在Windows开始菜单中重新进入,也可以在Windows终端中进入
-
卸载Linux发行版
wsl --unregister <DistributionName>
将安装的Linux发行版导出到非系统盘
-
wsl -l --all -v
查看已安装的Linux发行版
-
wsl --export Ubuntu-22.04 D:\SoftWare\Os\wsl-ubuntu22.04.tar
导出发行版
-
wsl --unregister Ubuntu-22.04
注销已安装的发行版
-
wsl --import Ubuntu-22.04 D:\SoftWare\Os\wsl-ubuntu22.04 D:\SoftWare\Os\wsl-ubuntu22.04.tar
导入发行版
-
wsl -d Ubuntu-22.04
启动发行版
注意:同样可以将docker中的镜像导出tar,然后使用此方式导入。
补充命令
wsl -d <Distribution Name>
启动发行版wsl --shutdown
立即终止所有正在运行的分发版和 WSL 2 轻量级实用程序虚拟机wsl --terminate <Distribution Name>
要终止指定的分配或阻止其运行wsl --list --verbose
列出已经安装的Linux发行版本wsl --set-default <Distribution Name>
设置默认Linux发行版wsl --update
更新WSLwsl --set-default-version <Version>
设置默认WSL版本wsl --mount <DiskPath>
挂载磁盘wsl --unmount <DiskPath>
卸载磁盘
参考
https://learn.microsoft.com/en-us/windows/wsl/install
https://learn.microsoft.com/en-us/windows/wsl/use-custom-distro
https://learn.microsoft.com/zh-cn/windows/wsl/wsl-config
FAQs
- WSL安装Linux子系统时显示如下warning信息
-
问题:
-
解决方法:
在C:\Users\<username>
目录下新建.wslconfig
然后将如下内容复制进来并保存[experimental] autoMemoryReclaim=gradual # 选择 gradual、dropcache 或 disabled networkingMode=mirrored # 设置为 mirrored 或 isolated dnsTunneling=true # 选择 true 或 false firewall=true # 选择 true 或 false autoProxy=true # 选择 true 或 false sparseVhd=true # 选择 true 或 false
-
wsl --shutdown
重启WSL -
参数说明:
autoMemoryReclaim:控制 WSL 2 的内存回收策略: gradual:渐进式内存回收。WSL 会在需要时自动回收内存,但不会立即释放所有未使用内存。 dropcache:立即释放所有未使用内存。这可能会导致性能下降,但可以确保释放所有可用的内存。 disabled:禁用自动内存回收。这可能会导致内存泄漏,但可以提供最佳性能。 networkingMode:设置 WSL 2 的网络模式: mirrored:使用与 Windows 相同的网络设置。 isolated:为 WSL 分配独立的网络连接。 dnsTunneling:控制 DNS 请求的处理方式: true:将所有 DNS 请求路由到 Windows DNS 解析器。 false:允许 WSL 使用自己的 DNS 解析器。 firewall:是否启用 Windows Defender 防火墙对 WSL 流量的筛选: true:启用 Windows Defender 防火墙。 false:禁用 Windows Defender 防火墙。 autoProxy:是否自动使用 Windows 代理设置: true:自动检测和使用 Windows 代理设置。 false:不使用 Windows 代理设置。 sparseVhd:是否使用稀疏虚拟硬盘 (VHD),节省磁盘空间但可能影响性能: true:使用稀疏虚拟硬盘 (VHD)。这可以节省磁盘空间,但可能会导致性能下降。 false:使用固定大小的 VHD。这可以提供最佳性能,但需要更多磁盘空间。
-
vmmemWSL占用内存过高
解决方法:
在.wslconfig
配置文件中添加[wsl2] guiApplications=false memory=4GB processors=4