一、基础概念
- WSL:Windows 子系统 Linux,让你在 Windows 上直接运行 Linux 环境。
- WSL 1 vs WSL 2:
- WSL 1:通过翻译层运行,访问 Windows 文件较快。
- WSL 2:基于真实 Linux 内核(轻量级虚拟机),系统调用兼容性好、性能高,推荐使用。
二、安装与卸载
| 命令 |
说明 |
wsl --install |
一键安装 WSL(默认安装 Ubuntu) |
wsl --install -d <发行版名> |
安装指定发行版,如 wsl --install -d Debian |
wsl --install --no-distribution |
仅安装 WSL,不装发行版 |
wsl --list --online / wsl -l -o |
查看可在线安装的发行版列表 |
wsl --unregister <发行版名> |
卸载(注销)某发行版,会删除其所有数据 |
三、查看与状态
| 命令 |
说明 |
wsl --list / wsl -l |
列出已安装的发行版 |
wsl --list --verbose / wsl -l -v |
列出发行版(含版本号、运行状态) |
wsl --list --running |
仅列出正在运行的发行版 |
wsl --status |
查看 WSL 默认配置与状态 |
wsl --version |
查看 WSL 版本信息 |
wsl -l -q |
仅列出发行版名称(安静模式) |
四、启动与运行
| 命令 |
说明 |
wsl |
启动默认发行版 |
wsl -d <发行版名> |
启动指定发行版 |
wsl -u <用户名> |
以指定用户启动,如 wsl -u root |
wsl -d <发行版> -u <用户> <命令> |
在指定发行版以指定用户执行命令 |
wsl -e <命令> |
执行单条命令后退出,如 wsl -e ls -la |
wsl --cd <路径> |
在指定目录下启动 |
wsl ~ |
在 Linux 家目录下启动 |
五、关闭与重启
| 命令 |
说明 |
wsl --shutdown |
立即关闭所有发行版及 WSL 虚拟机 |
wsl --terminate <发行版名> / wsl -t <名> |
关闭指定发行版 |
修改 .wslconfig 配置后,需 wsl --shutdown 重启才能生效。
六、版本管理
| 命令 |
说明 |
wsl --set-default-version 2 |
设置新装发行版默认使用 WSL 2 |
wsl --set-version <发行版名> 2 |
将某发行版转换为 WSL 2 |
wsl --set-version <发行版名> 1 |
将某发行版转换为 WSL 1 |
wsl --set-default <发行版名> / wsl -s <名> |
设置默认发行版 |
七、更新与维护
| 命令 |
说明 |
wsl --update |
更新 WSL 内核 |
wsl --update --pre-release |
更新到预览版内核 |
wsl --update --rollback |
回滚到上一个内核版本 |
八、导入与导出(备份 / 迁移)
| 命令 |
说明 |
wsl --export <发行版名> <文件.tar> |
导出发行版为 tar 备份 |
wsl --import <新名> <安装目录> <文件.tar> |
从 tar 导入创建发行版 |
wsl --import <新名> <安装目录> <文件.tar> --version 2 |
导入并指定版本 |
示例:迁移发行版到 D 盘
1 2 3 4 5 6
| wsl --export Ubuntu D:\backup\ubuntu.tar
wsl --unregister Ubuntu
wsl --import Ubuntu D:\wsl\Ubuntu D:\backup\ubuntu.tar
|
九、文件互访
Windows 访问 Linux 文件
- 资源管理器地址栏输入:
\\wsl$\<发行版名> 或 \\wsl.localhost\<发行版名>
- 例如:
\\wsl$\Ubuntu\home\
Linux 访问 Windows 文件
- Windows 盘符挂载在
/mnt/ 下:
- C 盘 →
/mnt/c
- D 盘 →
/mnt/d
1 2 3
| cd /mnt/d/app-data explorer.exe . code .
|
十、配置文件
1. 全局配置 .wslconfig
位置:C:\Users\<用户名>\.wslconfig(控制 WSL 2 虚拟机全局资源)
1 2 3 4 5
| [wsl2] memory=4GB processors=2 swap=2GB localhostForwarding=true
|
2. 发行版配置 /etc/wsl.conf
位置:发行版内部 /etc/wsl.conf(控制单个发行版行为)
1 2 3 4 5 6 7 8 9 10 11 12 13
| [boot] systemd=true
[automount] enabled=true root=/mnt/
[network] generateHosts=true generateResolvConf=true
[user] default=yourname
|
十一、常用组合速查
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| wsl -l -v
wsl --shutdown
wsl -d Ubuntu -u root
wsl --update
wsl -s Ubuntu
wsl --export Ubuntu D:\ubuntu-backup.tar
|
十二、常见问题
| 问题 |
解决 |
修改 .wslconfig 不生效 |
执行 wsl --shutdown 后重新进入 |
| WSL 占用内存过高 |
在 .wslconfig 中限制 memory,或定期 wsl --shutdown |
| 找不到发行版 |
wsl -l -v 检查名称是否正确 |
| systemd 不可用 |
在 /etc/wsl.conf 中设置 systemd=true 并重启 WSL |
| 磁盘空间不释放 |
需手动压缩 vhdx 虚拟磁盘文件 |
提示:大多数 wsl 命令的参数都有长短两种写法,如 --list = -l,--verbose = -v。