Windows 11 WSL 使用完全指南
写作背景:作为一个从 wsl 在 2016 年布时就关注,不断入坑、弃坑、折腾 Ubuntu、双系统。
爱过、狠过、伤过到再也不想碰它,到如今已经过去将近十个年头。但是由于各种原因,导致又不得不用它,现在可以说 wsl 已经成为最好的 Linux 发行版本之一。
拥有完整的 Linux 终端体验与使用最广的图形桌面 windows,是需要 Linux 开发体验 + windows 使用体验的最终解药。
本文定位:Windows 11 用户从零开始认识、安装、管理、备份与迁移 WSL 的入门指南
围绕以下内容展开:
- WSL 是什么
- WSL 和普通 Linux 有什么区别
- 如何安装 WSL
- 如何管理 WSL
- 如何备份、导出与导入 WSL 镜像
1. 为什么要了解 WSL?
1.1 WSL 是什么
简单说明:
WSL,全称 Windows Subsystem for Linux,是 Windows 上运行 Linux 环境的一种方式。
它适合:
- 学习 Linux 命令
- 运行 Python、Node.js、Go、Rust 等开发环境
- 使用 Linux 工具链
- 在 Windows 上体验接近 Linux 服务器的环境
- 避免频繁安装虚拟机或双系统
1.2 WSL 适合哪些人
可以面向零基础用户说明:
- 想学 Linux,但不想重装系统的人
- 使用 Windows,但开发项目需要 Linux 环境的人
- 想学习服务器、Docker、命令行的人
- 需要在 Windows 和 Linux 之间切换工作的人
1.3 WSL 不适合哪些场景
简单提醒:
- 不适合作为正式生产服务器
- 不适合完全替代真实 Linux 服务器
- 不适合需要完整桌面 Linux 体验的用户
- 不适合完全不了解命令行、只想点鼠标操作的人
2. WSL 和普通 Linux 有什么区别?
核心概念部分
2.1 普通 Linux 是什么
普通 Linux 通常指:
- 直接安装在电脑上的 Linux 系统
- 云服务器上的 Linux 系统
- 虚拟机里的 Linux 系统
- Docker 容器里的 Linux 环境
它们通常拥有比较完整的 Linux 系统环境。
2.2 WSL 是运行在 Windows 里的 Linux 环境
说明 WSL 不是一台真正独立的 Linux 电脑,而是运行在 Windows 之上的 Linux 子系统。
可以用一句话概括:
WSL 更像是 Windows 给你开了一个 Linux 工作间,而不是把你的电脑变成 Linux 电脑。
2.3 WSL 2 和普通虚拟机的区别
| 对比项 | WSL 2 | 普通虚拟机 |
|---|---|---|
| 启动速度 | 快 | 相对较慢 |
| 资源占用 | 较低 | 较高 |
| 和 Windows 互通 | 很方便 | 需要额外配置 |
| Linux 完整度 | 较高,但不是完整服务器 | 更接近真实系统 |
| 适合场景 | 开发、学习、命令行工具 | 完整系统测试、桌面 Linux |
2.4 WSL 和真实 Linux 服务器的区别
- WSL 运行在 Windows 上,真实 Linux 服务器独立运行
- WSL 适合本地开发,服务器适合长期运行服务
- WSL 的网络、磁盘、systemd、硬件访问方式与服务器可能不同
- 学 WSL 可以帮助理解 Linux,但不能完全等同于真实服务器
2.5 WSL 的优点和限制
优点:
- 安装简单
- 和 Windows 文件互通方便
- 命令行体验接近 Linux
- 适合开发环境
- 可以同时安装多个 Linux 发行版
限制:
- 不建议作为生产服务器
- 文件放在 Windows 盘和 Linux 盘性能不同
- 网络、服务管理和真实 Linux 有差异
- 有些底层功能、硬件功能可能不完全一致
3. 安装 WSL 前需要了解的基础概念
3.1 什么是 Linux 发行版
解释 Ubuntu、Debian、Kali、openSUSE 的关系。
建议重点推荐:
对初学者来说,优先选择 Ubuntu。
3.2 什么是 Ubuntu
简单说明:
Ubuntu 是最常见、资料最多、适合新手的 Linux 发行版之一。
3.3 什么是终端、Shell 和命令行
建议用通俗说法:
- 终端:输入命令的窗口
- Shell:负责理解命令的程序
- 命令行:通过文字命令操作系统的方式
3.4 Windows Terminal、PowerShell、Ubuntu 终端的区别
这部分对新手非常有用。
可以说明:
| 名称 | 作用 |
|---|---|
| Windows Terminal | 终端软件,负责打开各种命令行环境 |
| PowerShell | Windows 的命令行环境 |
| CMD | 传统 Windows 命令行 |
| Ubuntu/WSL 终端 | Linux 命令行环境 |
4. 在 Windows 11 上安装 WSL
这一章进入实操。
4.1 检查 Windows 版本
说明 Windows 11 默认对 WSL 支持较好。
4.2 使用命令安装 WSL
推荐使用管理员 PowerShell:
wsl --installMicrosoft 官方文档也推荐使用 wsl --install 作为安装 WSL 的基本方式,并且可以通过 wsl --list --online 查看可安装的发行版。
参考文档:
4.3 查看可以安装哪些 Linux 发行版
wsl --list --online或:
wsl -l -o4.4 安装指定发行版
例如安装 Ubuntu:
wsl --install -d Ubuntu或者安装 Debian:
wsl --install -d Debian4.5 第一次启动 Ubuntu
说明第一次启动时会要求创建:
- Linux 用户名
- Linux 密码
这里要提醒:
这个 Linux 密码输入时不会显示星号,也不会显示字符,这是正常现象。
5. WSL 的基本使用方法
这一章让用户真正会打开和退出 WSL。
5.1 如何打开 WSL
几种方式:
wsl或者:
wsl -d Ubuntu也可以从开始菜单打开 Ubuntu。
5.2 如何退出 WSL
exit5.3 如何查看当前 Linux 系统版本
cat /etc/os-release5.4 如何更新 Ubuntu 软件包
sudo apt update
sudo apt upgrade5.5 Linux 中的 sudo 是什么
解释:
sudo 表示用管理员权限执行命令。
5.6 Windows 文件和 WSL 文件在哪里
这一节非常关键。
在 WSL 中访问 Windows C 盘:
cd /mnt/cWindows 中访问 WSL 文件:
\\wsl$建议提醒:
开发项目尽量放在 WSL 自己的 Linux 文件系统中,例如
/home/用户名/projects,不要长期放在/mnt/c下,否则可能遇到性能或权限问题。
6. WSL 常用管理命令
这一章是“管理 WSL”的核心。
6.1 查看已安装的 WSL 发行版
wsl -l -v说明输出中的:
- NAME:发行版名称
- STATE:运行状态
- VERSION:WSL 版本,通常是 2
6.2 设置默认发行版
wsl --set-default Ubuntu6.3 启动指定发行版
wsl -d Ubuntu6.4 关闭当前发行版
wsl --terminate Ubuntu6.5 关闭所有 WSL
wsl --shutdown6.6 更新 WSL
wsl --updateMicrosoft 的 WSL 基础命令文档中列出了常用管理命令,包括查看发行版、启动指定发行版、关闭 WSL、更新 WSL、导入导出发行版等。
参考文档:
6.7 查看 WSL 状态
wsl --status7. WSL 中的软件安装和开发环境管理
这一章稍微了解一下即可,Linux 中的指令有很多,需要专门进行学习。
7.1 使用 apt 安装软件
例如:
sudo apt install git
sudo apt install curl
sudo apt install tree7.2 安装 Python、Node.js、Git 等开发工具
可以简单列举:
python3 --version
node -v
git --version7.3 WSL 适合放哪些项目
适合:
- Python 项目
- Node.js 项目
- 前端项目
- 后端项目
- Linux 命令行练习
- Docker 学习环境
7.4 WSL 和 VS Code 的配合
可以使用 VS Code 的 Remote - WSL 功能直接打开 WSL 中的项目。
8. WSL 的文件管理和磁盘位置
这一章适合解释很多新手常见困惑。
8.1 WSL 文件系统在哪里
说明用户不需要手动去找底层虚拟磁盘文件。
更推荐通过:
\\wsl$访问。
8.2 Windows 盘和 Linux 盘的区别
| 位置 | 示例 | 适合用途 |
|---|---|---|
| Windows 盘 | /mnt/c/Users/... | 临时访问 Windows 文件 |
| Linux 文件系统 | /home/用户名/... | 放代码、装依赖、运行项目 |
8.3 为什么不建议把项目长期放在 C 盘路径下运行
说明:
- 性能较差、文件监听可能异常
- 权限行为不同
- Node.js、Python 项目依赖目录可能变慢
8.4 推荐目录结构
例如:
mkdir -p ~/projects
cd ~/projects9. WSL 镜像的导出、备份与导入
核心重点
9.1 为什么要导出 WSL
适合场景:
- 重装 Windows 前备份
- 更换电脑
- 迁移到其他磁盘
- 保存一份干净开发环境
9.2 查看要导出的发行版名称
wsl -l -v9.3 导出 WSL 为 tar 文件
wsl --export Ubuntu D:\backup\ubuntu.tarMicrosoft 官方 FAQ 说明,可以使用 wsl --export 将整个发行版导出为 tarball,再通过 wsl --import 导入回来,用于备份、迁移或移动 WSL 发行版。
参考文档:
9.4 导入 WSL 镜像
wsl --import Ubuntu-Backup D:\wsl\Ubuntu-Backup D:\backup\ubuntu.tar参数解释:
wsl --import <新发行版名称> <安装位置> <镜像文件路径>9.5 启动导入后的 WSL
wsl -d Ubuntu-Backup10. 删除和重装 WSL 发行版
这一章需要提醒风险。
10.1 注销,也就是删除某个发行版
wsl --unregister Ubuntu强调:
这个命令会删除该 WSL 发行版中的所有 Linux 文件,执行前一定要先导出备份。
10.2 重新安装发行版
wsl --install -d Ubuntu10.3 什么时候需要删除重装
可以列举:
- 环境搞乱了
- 学习测试后想重来
- 磁盘迁移后清理旧版本
- 不再使用某个发行版
11. WSL 常见问题和新手避坑
11.1 WSL 和 Windows 的密码是不是同一个?
不是。
Linux 用户密码是 WSL 里面的密码,和 Windows 登录密码不是一回事。
11.2 输入密码时为什么没有显示?
Linux 终端输入密码时默认不显示字符,这是正常的。
11.3 WSL 可以代替 Linux 服务器吗?
不建议。
可以用来学习和开发,但正式部署最好使用真正的 Linux 服务器。
11.4 WSL 里可以使用 Docker 吗?
可以,但对新手建议配合 Docker Desktop 使用。
11.5 WSL 关掉窗口后是不是还在运行?
可能还在后台运行。
可以使用:
wsl --shutdown彻底关闭。
11.6 WSL 占用磁盘越来越大怎么办?
可以简单说:
- 删除不需要的软件和缓存
- 导出再导入可能有助于整理空间
- 不要在 WSL 中长期堆积无用文件
11.7 项目应该放在哪里?
推荐:
~/projects不推荐长期放在:
/mnt/c/Users/xxx/Desktop11.8 wsl 与 windows 使用同一个 ip
在 Windows 用户目录下创建或编辑:
notepad $env:USERPROFILE\.wslconfig写入:
[wsl2]
networkingMode=mirrored
dnsTunneling=true
autoProxy=true
firewall=true保存后,在 PowerShell 执行:
wsl --shutdown然后重新进入 WSL:
wsl检查是否生效
在 wsl 中查看 IP:
ifconfig12. 推荐的新手学习路线
12.1 第一阶段:会安装和打开 WSL
掌握:
wsl --install
wsl -l -v
wsl -d Ubuntu12.2 第二阶段:会用基本 Linux 命令
掌握:
pwd
ls
cd
mkdir
rm
cp
mv
cat
nano12.3 第三阶段:会安装软件
掌握:
sudo apt update
sudo apt install xxx12.4 第四阶段:会管理 WSL
掌握:
wsl --shutdown
wsl --terminate Ubuntu
wsl --set-default Ubuntu12.5 第五阶段:会备份和迁移 WSL
掌握:
wsl --export
wsl --import13. 总结:WSL 应该怎么理解?
最后:
WSL 是 Windows 11 上非常适合学习 Linux 和搭建开发环境的工具。
对零基础用户来说,不需要一开始就理解所有 Linux 原理,先掌握安装、启动、文件位置、常用命令、备份迁移即可。
等熟悉 WSL 后,再逐步学习 Linux 命令、软件包管理、服务管理、Docker 和服务器部署。