WSL2 安装和使用
📺 本图文教程由视频整理而成,对应的参考视频:Windows上使用Docker系列之一~如何使用WSL~安装+基本操作+导出导入+删除卸载。如需查看更详细、更具体的操作演示,可观看原视频。
适用场景:只有 Windows 电脑,想在 Windows 下运行 Docker。Docker 只能在 Linux 中运行,而 WSL2(Windows Subsystem for Linux,Windows Linux 子系统)是微软官方提供的轻量 Linux 虚拟机方案。
方案对比(先看结论)
在 Windows 上使用 Docker,主要有三种方案:
| 方案 | 特点 | 推荐度 |
|---|---|---|
| Hyper-V + iStoreOS | 体积小(200 多 MB)、资源占用低、可设独立 IP、适合后台长期跑服务 | ⭐ 最推荐 |
| WSL2(本教程) | 完整的 Linux 体验、命令完整、同样适合后台长期运行 | ⭐ 推荐 |
| Docker Desktop | 官方客户端,使用方便,但资源占用非常大,性能不够时跑不动 | ❌ 不推荐长期使用 |
前置条件:检查并开启虚拟化
安装 WSL2 前,必须确认 CPU 虚拟化已开启。
- 在任务栏左下角 Windows 图标上点击右键,选择「任务管理器」。
- 切换到「性能」选项卡,点击 CPU,查看「虚拟化」一栏。
- 若显示「已启用」,前置条件满足,可直接开始安装。
- 若未开启,需进入 BIOS 开启虚拟化(各家 BIOS 界面不同,请查找对应选项):
- Intel CPU:
Intel Virtualization Technology或VT-x - AMD CPU:
AMD-V或SVM Mode
- Intel CPU:
三个注意点(务必先看)
wsl命令是在 Windows 中使用的命令,不是在 Linux 虚拟机内部执行的。- Windows 不区分大小写,Linux 严格区分大小写(例如 Windows 中
Test和test等价,Linux 中不等价)。 - Windows 路径使用反斜杠
\,Linux 路径使用正斜杠/(Windows 中两者通常都可用,Linux 中只能用/)。
第一步:安装 WSL 和 Linux 虚拟机
只需一条命令,即可自动完成 WSL 系统 + 虚拟机安装(无需再到「启用或关闭 Windows 功能」里手动勾选):
# 安装 Ubuntu 虚拟机,名称 U1,位置 D:\test\ubuntu
wsl --install -d Ubuntu --name U1 --location d:/test/ubuntu
# 安装 Debian 虚拟机,名称 d1,位置 D:\test\debian
wsl --install -d Debian --name d1 --location d:/test/debian参数说明:
-d:指定要安装的发行版(Ubuntu / Debian)。--name:自定义虚拟机名称(不指定则默认叫ubuntu)。--location:安装位置(不指定则默认装在 C 盘用户目录下,建议显式指定,便于管理;目录不存在时会自动创建)。
网络加速(强烈建议):
- 任务栏左下角 Windows 图标右键 →「网络连接」→「代理」。
- 打开「手动设置代理」开关,填入代理地址和端口,点击保存。
- 重新在终端执行安装命令,下载速度会明显提升。
常见问题:
- 提示「无法与服务器建立连接」:多为网络问题,重新运行一次命令即可;若安装中途断开,重跑命令会继续下载。
- 安装完成后,终端会要求设置 Linux 用户名和密码:密码输入时不显示,输入两次且需一致(不一致会提示重新输入)。
- 进入虚拟机后,
cd ~可进入当前用户主目录。Windows 的 C/D/E 盘会自动挂载到虚拟机的/mnt目录下。
Ubuntu 还是 Debian?
- Ubuntu:自带软件多、上手简单,但虚拟机文件体积较大(约 1.38 GB)。
- Debian:体积小(约 300 多 MB),但部分软件需自行安装,稍折腾。
- 按硬盘空间和个人习惯选择即可,后续操作两者一致。
第二步:退出虚拟机
exit执行后命令行前缀会从 Linux 格式(用户名@设备名:路径)恢复为 Windows 格式(如 C:\Users\hope),此时才可执行 wsl 系列命令。
第三步:查看已安装的虚拟机
wsl -l显示当前所有已安装的虚拟机(如 U1、d1)。
第四步:查看可安装的 Linux 系统
wsl -l -o-o表示 online(在线),列出当前可在线安装的所有 Linux 发行版。- 第一步命令中
-d后面的名称必须与列表中的名称完全对应,才能安装成功。
第五步:启动后直接进入用户主目录
# 进入默认虚拟机的主目录
wsl ~
# 进入指定虚拟机(d1)的主目录
wsl ~ -d d1不熟悉 Linux 目录结构的新手可先跳过本步,不影响后续使用。
第六步:关闭虚拟机
wsl --shutdown- 简单方式:直接关闭终端窗口,几秒后虚拟机自动关闭。
- 推荐方式:执行
wsl --shutdown,关闭更彻底(修改配置后一般教程都推荐此法),会关闭所有虚拟机。
第七步:设置默认虚拟机
wsl -s d1-s表示 set(设置默认值),d1为要设为默认的虚拟机名称。- 设置后,直接输入
wsl或wsl ~即默认进入 d1,无需再指定-d。 - 可用
wsl -l查看当前默认值(名称后带「默认」标识)。
第八步:虚拟机设置(重点)
在开始菜单搜索 wsl settings 并打开「适用于 Linux 的 Windows 子系统设置」。
- CPU / 内存 / 交换分区:按设备实际情况调整(示例设备 8 核分给 WSL、16G 内存分 8G)。
- 硬盘(VHD)大小:默认为 1T 上限,按实际使用量增长,且只增不减,一般无需修改。
- 网络(重中之重,必须修改两处):

- 网络模式:默认 NAT,需改为
Mirrored(镜像模式)。改为镜像模式后,虚拟机内可直接用本机 IP 地址访问服务,无需 NAT 地址转换。 - 主机地址环回:务必勾选。若不勾选,局域网内其他设备可访问虚拟机,但本机无法用 IP 地址访问;勾选后本机才能用本机地址访问 Docker 容器。
注意
第八步是后续使用的基础,网络设置不做好,后续访问容器可能会出问题。
第九步:导出(备份)虚拟机
导出相当于给虚拟机做 Ghost 镜像,之后可随时恢复到当前完美状态。
注意:导出目录必须事先创建好,否则会报错(安装目录会自动创建,导出目录不会)。
# 格式:wsl --export <虚拟机名称> <导出文件保存的完整路径>
wsl --export U1 d:\test\backup\ubuntu_backup.tar- 导出的
.tar是 Linux 打包文件(示例中 1.38G 的虚拟机导出为 1.23G)。 - 保存好 tar 文件,之后即可用于恢复。
第十步:导入(恢复)虚拟机
# 格式:wsl --import <新虚拟机名称> <新虚拟机安装目录> <tar备份文件路径>
wsl --import U2 d:\test\ubuntu2 d:\test\backup\ubuntu_backup.tar
wsl --import U3 d:\test\ubuntu3 d:\test\backup\ubuntu_backup.tar- 一个 tar 备份文件可以恢复出多台虚拟机,只要名称和安装目录不同即可。
- 适合的做法:先把一台虚拟机配置好并导出为「基准文件」,之后随时恢复出多台使用。
- 恢复后可执行
wsl -l确认,并用wsl ~ -d U3进入指定虚拟机。
第十一步:删除虚拟机
wsl --unregister U3- 执行后该虚拟机及其文件目录会被一并删除(速度很快)。
- 小技巧:文件资源管理器左侧边栏底部有 Linux 图标,点开可直接浏览各虚拟机的文件,对新手非常直观。
第十二步:删除 WSL 系统
wsl --uninstall注意
wsl --uninstall 删除的是整个 WSL 系统,不是某一个虚拟机!删除单个虚拟机用 wsl --unregister。删除 WSL 前建议先手动删除所有虚拟机,这样卸载更干净。
- 卸载后再次输入
wsl,会提示「必须更新到最新版本才能继续」,即表示需要重新安装。
总结
至此形成一个完整闭环:安装 WSL → 安装虚拟机 → 查询/使用 → 导出/导入备份 → 删除虚拟机 → 卸载 WSL。
本系列后续将介绍:Linux 虚拟机内的具体使用(安装软件、安装 Docker)、好用斋懒人包的使用等。