WSL2子系统安装配置教程:手把手教你安装配置WSL2子系统
为什么选择 WSL2?
WSL(Windows Subsystem for Linux)可以让 Windows 用户直接运行 Linux 发行版,而不用装虚拟机或双系统。
WSL2 相比第一代性能更强,完全支持 Docker、完整 Linux 内核,体验接近原生。
对于新手来说,安装一个 WSL2 子系统,能立刻拥有一个 Linux 命令行环境,学习、开发都非常方便。
安装前的两项准备
- Windows 系统版本要求:必须是 Windows 10 版本 1903 及以上(64 位),或 Windows 11。可以打开“设置 → 系统 → 关于”查看系统版本。
- 开启 CPU 虚拟化:WSL2 依赖硬件虚拟化功能,需要在 BIOS 或 UEFI 中开启 Intel VT-x 或 AMD-V。一般笔记本默认已开启,如果不放心,可以重启进入 BIOS 确认(开机时按 F2 / Del / Esc 等键)。
避坑提示:如果电脑是 Windows Home 版,同样支持 WSL2,不用换系统。部分旧款 CPU 不支持虚拟化,需要更换电脑才能使用 WSL2。
一步到位安装 WSL2 与 Linux 发行版
从 Windows 10 2020 年大更新开始,安装 WSL 只需一条命令。
- 右键点击“开始”菜单,选择“Windows PowerShell (管理员)”或“命令提示符 (管理员)”。
- 在打开的黑色窗口中输入以下命令并回车:
wsl --install
这条命令会自动完成以下操作:
- 启用 WSL 功能
- 安装 WSL2 内核
- 设置 WSL2 为默认版本
- 从 Microsoft Store 下载并安装 Ubuntu(默认发行版)
整个过程约 5~15 分钟,取决于你的网速。
安装完成后,你会看到提示“安装成功,需要重启计算机”。请务必重启电脑。
重启后,系统会自动弹出 Ubuntu 的初始化窗口,让你创建 Linux 用户名和密码。
用户名和密码只用于 Linux 系统内,与 Windows 账号无关。
密码输入时不会显示字符,正常输入后按回车即可。
验证安装与常用配置
检查 WSL 版本
打开 PowerShell(管理员),输入:
wsl --list --verbose
应该能看到类似这样的输出:
NAME STATE VERSION
* Ubuntu Running 2
如果 VERSION 是 1,可以手动升级到 2:
wsl --set-version Ubuntu 2
设置默认进入目录(可选)
WSL 默认的起始目录是 /home/你的用户名,你可以用 Windows 资源管理器直接访问 \\wsl$\Ubuntu\home\用户名 来管理文件。
也可以安装 WSL 的图形化插件(如 VcXsrv + Xfce)或连接 VSCode Remote-WSL 进行开发。
如何更新 WSL2 内核?
以后想更新 WSL2 内核,可以在 PowerShell 中运行:
wsl --update
常见问题与避坑指南
问题1:安装时提示“错误 0x8007007e”或“无法解析服务器名称”
原因:旧版 Windows 或网络问题。
解决:手动安装 WSL2 内核包。去 Microsoft 官网搜索“WSL2 Linux 内核更新包”(https://aka.ms/wsl2kernel),下载并安装即可。然后再次执行 wsl --set-default-version 2,再执行 wsl --install -d Ubuntu。
问题2:Ubuntu 打不开,或者闪退
原因:可能是虚拟化未开启,或者 WSL 服务未启动。
解决:
- 确保 BIOS 中虚拟化已开启。
- 在 PowerShell(管理员)中运行:
net stop LxssManager
net start LxssManager
- 如果还不行,重启电脑。
问题3:如何在不打开窗口的情况下启动 WSL?
直接在 PowerShell 中输入 wsl 或 ubuntu 即可进入 Linux 终端。
也可以为 Ubuntu 创建桌面快捷方式。
问题4:磁盘空间不足?
WSL2 的虚拟硬盘文件(ext4.vhdx)默认存放在 C:\Users\你的用户名\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu..._XXXX\LocalState 中。
如果 C 盘空间紧张,可以迁移到其他盘的教程,不过对新手来说,建议保持默认位置,使用外接硬盘时注意不能挂载 NTFS 分区。
结尾
到此,你已经成功在 Windows 上安装并配置好了 WSL2 子系统。
随后你可以像使用一台真正的 Linux 服务器一样,安装 Docker、Nginx、Node.js、Python 等环境。
如果在过程中遇到意外报错,不妨先对照上文的避坑指南检查一遍,绝大多数问题都能解决。
祝你使用愉快!