基础管理
# 查看已安装的发行版
wsl -l -v
# 安装默认 Ubuntu 发行版
wsl --install
# 安装指定发行版
wsl --install -d <DistroName>
# 列出可用的在线发行版
wsl --list --online
# 关闭所有 WSL 实例
wsl --shutdown
# 重启 WSL
wsl --shutdown && wsl
进入与退出
# 进入默认发行版
wsl
# 进入指定发行版
wsl -d <DistroName>
# 以 root 用户进入
wsl -u root
# 在 Windows 中直接执行 WSL 命令
wsl ls -la
文件与目录
# 从 Windows 路径进入 Linux(C 盘对应 /mnt/c)
cd /mnt/c/Users/<username>/Desktop
# 从 Linux 打开 Windows 文件资源管理器
explorer.exe .
# 从 Windows 访问 Linux 文件路径
\\wsl$\Ubuntu\home\<user>\
# 复制文件到 Windows
cp file.txt /mnt/c/Users/<username>/Desktop/
# 复制文件从 Windows 到 Linux
cp /mnt/c/Users/<username>/Desktop/file.txt ./
网络相关
# 查看 WSL IP 地址
ip addr show eth0 | grep inet
# 查看 Windows 宿主机 IP(从 WSL 内部)
cat /etc/resolv.conf | grep nameserver | awk '{print $2}'
# 端口转发(Windows PowerShell 管理员执行)
netsh interface portproxy add v4tov4 listenport=<WinPort> connectaddress=<WSL_IP> connectport=<LinuxPort>
# 删除端口转发
netsh interface portproxy delete v4tov4 listenport=<WinPort>
# 查看端口转发规则
netsh interface portproxy show v4tov4
服务管理
# 启动 systemd 服务
sudo systemctl start <service>
# 查看服务状态
sudo systemctl status <service>
# 启用服务开机自启
sudo systemctl enable <service>
磁盘与资源
# 查看磁盘使用情况
df -h
# 查看内存使用
free -h
导入与导出
# 导出发行版为 tar 文件
wsl --export <DistroName> <FilePath>.tar
# 从 tar 文件导入发行版
wsl --import <DistroName> <InstallPath> <FilePath>.tar
# 注销(删除)发行版
wsl --unregister <DistroName>
配置
# 设置默认发行版
wsl --set-default <DistroName>
# 设置 WSL 版本(1 或 2)
wsl --set-version <DistroName> <Version>
# 设置默认 WSL 版本
wsl --set-default-version 2
# 查看 WSL 版本
wsl --version
# 更新 WSL 内核
wsl --update
wsl.conf 常用配置
[boot]
systemd=true
[automount]
enabled=true
root=/mnt/
[network]
generateResolvConf=true
常见问题排查
# 修复 WSL 网络(Windows PowerShell 中执行)
wsl --shutdown
netsh winsock reset
netsh int ip reset all
netsh winhttp reset proxy
ipconfig /flushdns
# 压缩 WSL 虚拟磁盘(PowerShell 管理员)
Optimize-VHD -Path "$env:LOCALAPPDATA\Packages\CanonicalGroupLimited...\LocalState\ext4.vhdx" -Mode Full