---
title: WSL2 安装和使用
description: Windows 使用 Docker 系列第一期：Windows 下使用 WSL2 安装 Linux 虚拟机，为后续运行 Docker 打基础
outline: deep
category: 教程
date: 2026-08-22
tags:
  - WSL2
  - Docker
  - Windows
  - Linux
  - 虚拟机
readingTime: 8 分钟
---

# WSL2 安装和使用

> 📺 本图文教程由视频整理而成，对应的参考视频：[Windows上使用Docker系列之一~如何使用WSL~安装+基本操作+导出导入+删除卸载](https://www.bilibili.com/video/BV1F88u6zEKa)。如需查看更详细、更具体的操作演示，可观看原视频。

> 适用场景：只有 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 | 官方客户端，使用方便，但资源占用非常大，性能不够时跑不动 | ❌ 不推荐长期使用 |

> 提示：本教程配套的安装和使用文档，可在[好用斋官网](https://haoyongzhai.com) → [网盘分享](https://haoyongzhai.com/netdisk)（提取码 `585`）中下载，内含全部命令，可对照操作。

## 前置条件：检查并开启虚拟化

安装 WSL2 前，必须确认 CPU 虚拟化已开启。

1. 在任务栏左下角 Windows 图标上点击右键，选择「任务管理器」。
2. 切换到「性能」选项卡，点击 CPU，查看「虚拟化」一栏。

- 若显示「已启用」，前置条件满足，可直接开始安装。
- 若未开启，需进入 BIOS 开启虚拟化（各家 BIOS 界面不同，请查找对应选项）：
  - Intel CPU：`Intel Virtualization Technology` 或 `VT-x`
  - AMD CPU：`AMD-V` 或 `SVM Mode`

## 三个注意点（务必先看）

1. `wsl` 命令是在 **Windows 中使用的命令**，不是在 Linux 虚拟机内部执行的。
2. **Windows 不区分大小写**，Linux 严格区分大小写（例如 Windows 中 `Test` 和 `test` 等价，Linux 中不等价）。
3. Windows 路径使用反斜杠 `\`，Linux 路径使用正斜杠 `/`（Windows 中两者通常都可用，Linux 中只能用 `/`）。

## 第一步：安装 WSL 和 Linux 虚拟机

只需一条命令，即可自动完成 WSL 系统 + 虚拟机安装（无需再到「启用或关闭 Windows 功能」里手动勾选）：

```powershell
# 安装 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 盘用户目录下，建议显式指定，便于管理；目录不存在时会自动创建）。

**网络加速（强烈建议）：**

1. 任务栏左下角 Windows 图标右键 →「网络连接」→「代理」。
2. 打开「手动设置代理」开关，填入代理地址和端口，点击保存。
3. 重新在终端执行安装命令，下载速度会明显提升。

**常见问题：**

- 提示「无法与服务器建立连接」：多为网络问题，重新运行一次命令即可；若安装中途断开，重跑命令会继续下载。
- 安装完成后，终端会要求设置 Linux 用户名和密码：密码输入时不显示，输入两次且需一致（不一致会提示重新输入）。
- 进入虚拟机后，`cd ~` 可进入当前用户主目录。Windows 的 C/D/E 盘会自动挂载到虚拟机的 `/mnt` 目录下。

**Ubuntu 还是 Debian？**

- Ubuntu：自带软件多、上手简单，但虚拟机文件体积较大（约 1.38 GB）。
- Debian：体积小（约 300 多 MB），但部分软件需自行安装，稍折腾。
- 按硬盘空间和个人习惯选择即可，后续操作两者一致。

## 第二步：退出虚拟机

```bash
exit
```

执行后命令行前缀会从 Linux 格式（`用户名@设备名:路径`）恢复为 Windows 格式（如 `C:\Users\hope`），此时才可执行 `wsl` 系列命令。

## 第三步：查看已安装的虚拟机

```powershell
wsl -l
```

显示当前所有已安装的虚拟机（如 U1、d1）。

## 第四步：查看可安装的 Linux 系统

```powershell
wsl -l -o
```

- `-o` 表示 online（在线），列出当前可在线安装的所有 Linux 发行版。
- 第一步命令中 `-d` 后面的名称必须与列表中的名称完全对应，才能安装成功。

## 第五步：启动后直接进入用户主目录

```powershell
# 进入默认虚拟机的主目录
wsl ~

# 进入指定虚拟机（d1）的主目录
wsl ~ -d d1
```

不熟悉 Linux 目录结构的新手可先跳过本步，不影响后续使用。

## 第六步：关闭虚拟机

```powershell
wsl --shutdown
```

- 简单方式：直接关闭终端窗口，几秒后虚拟机自动关闭。
- 推荐方式：执行 `wsl --shutdown`，关闭更彻底（修改配置后一般教程都推荐此法），会关闭所有虚拟机。

## 第七步：设置默认虚拟机

```powershell
wsl -s d1
```

- `-s` 表示 set（设置默认值），`d1` 为要设为默认的虚拟机名称。
- 设置后，直接输入 `wsl` 或 `wsl ~` 即默认进入 d1，无需再指定 `-d`。
- 可用 `wsl -l` 查看当前默认值（名称后带「默认」标识）。

## 第八步：虚拟机设置（重点）

在开始菜单搜索 `wsl settings` 并打开「适用于 Linux 的 Windows 子系统设置」。

1. **CPU / 内存 / 交换分区**：按设备实际情况调整（示例设备 8 核分给 WSL、16G 内存分 8G）。
2. **硬盘（VHD）大小**：默认为 1T 上限，按实际使用量增长，且只增不减，一般无需修改。
3. **网络（重中之重，必须修改两处）：**

<picture>
  <source type="image/avif" srcset="https://image.haoyongzhai.com/tutorials/wsl2-settings.avif" />
  <source type="image/webp" srcset="https://image.haoyongzhai.com/tutorials/wsl2-settings.webp" />
  <img src="https://image.haoyongzhai.com/tutorials/wsl2-settings.png" width="960" height="592" alt="WSL设置-网络模式与主机地址环回截图" loading="lazy" />
</picture>

- **网络模式**：默认 NAT，需改为 `Mirrored`（镜像模式）。改为镜像模式后，虚拟机内可直接用本机 IP 地址访问服务，无需 NAT 地址转换。
- **主机地址环回**：务必勾选。若不勾选，局域网内其他设备可访问虚拟机，但本机无法用 IP 地址访问；勾选后本机才能用本机地址访问 Docker 容器。

::: warning 注意
第八步是后续使用的基础，网络设置不做好，后续访问容器可能会出问题。
:::

## 第九步：导出（备份）虚拟机

导出相当于给虚拟机做 Ghost 镜像，之后可随时恢复到当前完美状态。

> 注意：**导出目录必须事先创建好**，否则会报错（安装目录会自动创建，导出目录不会）。

```powershell
# 格式：wsl --export <虚拟机名称> <导出文件保存的完整路径>
wsl --export U1 d:\test\backup\ubuntu_backup.tar
```

- 导出的 `.tar` 是 Linux 打包文件（示例中 1.38G 的虚拟机导出为 1.23G）。
- 保存好 tar 文件，之后即可用于恢复。

## 第十步：导入（恢复）虚拟机

```powershell
# 格式：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` 进入指定虚拟机。

## 第十一步：删除虚拟机

```powershell
wsl --unregister U3
```

- 执行后该虚拟机及其文件目录会被一并删除（速度很快）。
- 小技巧：文件资源管理器左侧边栏底部有 Linux 图标，点开可直接浏览各虚拟机的文件，对新手非常直观。

## 第十二步：删除 WSL 系统

```powershell
wsl --uninstall
```

::: warning 注意
`wsl --uninstall` 删除的是**整个 WSL 系统**，不是某一个虚拟机！删除单个虚拟机用 `wsl --unregister`。删除 WSL 前建议先手动删除所有虚拟机，这样卸载更干净。
:::

- 卸载后再次输入 `wsl`，会提示「必须更新到最新版本才能继续」，即表示需要重新安装。

## 总结

至此形成一个完整闭环：**安装 WSL → 安装虚拟机 → 查询/使用 → 导出/导入备份 → 删除虚拟机 → 卸载 WSL**。

本系列后续将介绍：Linux 虚拟机内的具体使用（安装软件、安装 Docker）、好用斋懒人包的使用等。

## 参考视频

1. [使用 Windows 虚拟机 Hyper-V 安装 iStoreOS](https://www.bilibili.com/video/BV1ku4y137JL)
2. [为什么不推荐直接使用 Windows Docker](https://www.bilibili.com/video/BV1G94y1M7Wg)

## 好用斋官网

<https://haoyongzhai.com>
