WSL2安装指南
WSL 2 完全安装指南:从零到一解决所有疑难杂症
这是一篇汇集了无数安装经验与“踩坑”教训的终极指南。无论你遇到什么稀奇古怪的问题,这里都有对应的解决方案。
目录
- 为什么我们需要 WSL?
- 前置条件检查
- 路线一:一键自动安装(90%用户适用)
- 路线二:官方手动安装(网络不佳时)
- 路线三:完全离线安装(无网络环境)
- 路线四:修复与重置(安装失败后)
- 终极方案:从 GitHub 获取最新版
- 常见疑难杂症速查表
- 验证与收尾工作
为什么我们需要 WSL?——三大操作系统的历史与取舍
在开始安装之前,有必要先理解一个问题:为什么我们既不能完全依靠 Windows,也不能简单地直接换成 Linux?
操作系统的三位主角
| 系统 | 出身 | 核心特点 | 优势 | 劣势 |
|---|---|---|---|---|
| Windows | 微软独立开发 (1985) | 闭源,NT内核 | 软件生态最丰富、游戏支持最佳、硬件兼容性好 | 开发环境配置繁琐,命令行体验弱 |
| macOS | 基于Unix (BSD分支) (1984) | 闭源,XNU内核 | 界面优雅,创意设计软件领先,原生Unix体验 | 价格昂贵,游戏少,硬件绑定 |
| Linux | 开源社区 (1991) | 完全开源,Linux内核 | 开发工具完善,服务器标准,免费自由 | 桌面软件少,硬件驱动需手动解决,学习曲线陡 |
开发的困境:Windows 与 Linux 的“两难”
十多年来,开发者一直面临一个痛苦的选择:
-
用 Windows:桌面体验好,Office、Adobe、游戏都能用。但想搭个开发环境?需要折腾 Cygwin、MSYS2 等第三方工具,配置复杂,且与生产环境(服务器通常跑 Linux)不一致。
-
换 Linux:开发体验一流,命令行强大,包管理方便。但日常办公怎么办?微信、QQ、Photoshop 要么没有,要么功能残缺。双系统切换需要重启,虚拟机又太耗资源。
结果就是“两个世界,一个都不能少”。
WSL 的诞生:打破壁垒
2016年,微软推出了 WSL (Windows Subsystem for Linux),2019年迭代到 WSL 2,引入了真正的 Linux 内核。
它的本质是:在 Windows 系统内部,轻量级地运行一个完整的 Linux 环境。
WSL 解决了什么问题?
| 传统方案的痛点 | WSL 的解决方案 |
|---|---|
| 双系统:切换需要重启,两个系统文件隔离 | 同时运行,文件互通 |
| 虚拟机:资源占用大,启动慢,显卡支持差 | 秒级启动,动态资源占用,支持 GPU 加速 |
| 第三方工具:兼容性差,不是真正的 Linux | 真正的 Linux 内核,兼容性完美 |
| 环境不一致:开发用 Windows,部署用 Linux | 开发环境与生产环境一致 |
WSL 的核心价值
- 无需离开 Windows:继续使用你熟悉的 Office、Adobe、游戏、微信
- 原生 Linux 体验:
grep、awk、sed、bash、ssh全部原生可用 - 文件互通:
\\wsl$在资源管理器里直接访问 Linux 文件 - GPU 支持:可在 WSL 中运行 CUDA、TensorFlow 进行 AI 训练
- Docker 支持:可在 WSL 中运行 Docker 容器
一个典型的工作流
你用 VS Code (Windows版) 写 Python 代码,文件保存在
C:\Project。然后打开 WSL 终端,输入cd /mnt/c/Project,运行python3 main.py——代码就在真正的 Linux 环境里执行了。所有操作如同在一个系统内完成。
这就是 WSL 的魅力:Windows + Linux,我全都要。
前置条件检查
在开始任何安装之前,请确认以下条件:
| 检查项 | 最低要求 | 验证方法 |
|---|---|---|
| 操作系统 | Windows 10 版本 2004+ 或 Windows 11 | Win + R → winver |
| 系统架构 | x64 或 ARM64 | 设置 → 系统 → 关于 |
| 虚拟化支持 | BIOS 中开启 VT-x/AMD-V | 任务管理器 → 性能 → CPU |
| 管理员权限 | 需要有管理员账号 | —— |
路线一:一键自动安装(90%用户适用)
这是微软官方推荐的标准安装方式,适用于大多数用户。
标准命令
# 以管理员身份打开 PowerShell 或 Windows 终端
wsl --install
该命令会自动完成:
- 启用 WSL 与虚拟机平台功能
- 安装 WSL 2 内核
- 安装默认的 Ubuntu 发行版
安装指定发行版
# 先查看所有可用发行版
wsl --list --online
# 安装特定发行版(如 Debian)
wsl --install -d Debian
网络加速版
# 如果标准安装下载缓慢
wsl --install --web-download
路线二:手动官方安装(网络不佳时)
当 wsl --install 命令本身都无法正常执行时使用。
步骤 1:启用 Windows 功能
# 以管理员身份运行 PowerShell
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
重启电脑
步骤 2:安装 WSL 2 内核
访问微软官方下载:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
也可以直接在我的博客云盘当中下载[https://pan.quark.cn/s/48ba2357b5ae]
下载后双击运行(可能需要管理员权限)。
步骤 3:设置 WSL 2 为默认
wsl --set-default-version 2
步骤 4:安装 Linux 发行版
从 Microsoft Store 搜索并安装 Ubuntu,或使用下文的离线安装方法。
路线三:完全离线安装(无网络环境)
适用于公司内网、校园网等受限制环境。
方式 A:使用 .msixbundle 离线包(推荐)
-
下载 WSL 核心离线包:从 GitHub Releases 下载最新版
wsl.msixbundle -
安装 WSL 核心:
# 以管理员身份运行 PowerShell,切换到下载目录 Add-AppxPackage .\wsl.msixbundle⚠️ 注意:这个安装是静默的,双击后不会有任何界面显示,这是正常现象!
-
下载 Linux 发行版离线包:从 Ubuntu WSL 镜像站 下载
.appx文件 -
安装发行版:
Add-AppxPackage .\Ubuntu.appx
方式 B:导入 rootfs 镜像
# 1. 创建安装目录
mkdir D:\WSL\Ubuntu
# 2. 导入 .tar.gz 镜像文件
wsl --import Ubuntu D:\WSL\Ubuntu D:\下载的镜像文件.tar.gz
# 3. 启动并设置用户
wsl -d Ubuntu
路线四:修复与重置(安装失败后)
当你遇到莫名其妙的问题时,说明系统有残留文件或冲突。
完整清理流程
# 1. 关闭所有 WSL 进程
wsl --shutdown
# 2. 查看并卸载已安装的发行版
wsl -l -v
wsl --unregister <发行版名>
# 3. 卸载 WSL 功能
dism.exe /online /disable-feature /featurename:Microsoft-Windows-Subsystem-Linux /norestart
dism.exe /online /disable-feature /featurename:VirtualMachinePlatform /norestart
# 4. 重启电脑
# 5. 重新启用 WSL 功能(见路线二步骤1)
清理残留文件
删除以下目录中的 WSL/Ubuntu 相关文件夹:
%LocalAppData%\Packages\*Ubuntu*%LocalAppData%\wsl%LocalAppData%\Microsoft\WindowsApps\*ubuntu*
清理注册表
打开注册表编辑器(regedit),删除路径 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss 下的所有 WSL 相关项。
清理残留服务(解决开机弹窗)
# 停止并禁用 P9RdrService(Plan 9 Redirector Service)
Stop-Service -Name "P9RdrService*" -Force
Set-Service -Name "P9RdrService*" -StartupType Disabled
终极方案:从 GitHub 获取最新版
无论如何都无法安装时,这是最后的保障。
访问地址
https://github.com/microsoft/WSL/releases
版本选择指南
| 文件类型 | 适用场景 | 安装方式 |
|---|---|---|
wsl.msixbundle | 绝大多数 Windows 10/11 | Add-AppxPackage ./文件 |
wsl.x64.msi | 旧版 Windows | 右键 → 以管理员身份运行 |
wsl.arm64.msi | ARM 架构电脑(如 Surface Pro X) | 右键 → 以管理员身份运行 |
常见疑难杂症速查表
| 症状 | 原因 | 解决方案 |
|---|---|---|
| 双击 .msixbundle 没反应 | 静默安装,没有界面 | 正常现象,执行 wsl --version 验证 |
| 提示“必须更新到最新版本” | WSL 版本过低 | 执行 wsl --update 或 wsl --update --web-download |
| 内核更新包提示“This update only applies…” | 安装包检测逻辑问题 | 不使用 .msi,改用 wsl --update |
| 下载卡在 0% | 网络问题/GitHub API 限流 | 等待 1 小时重试,或换网络环境 |
| 一直弹出“Press any key to install” | 残留的 P9RdrService 服务 | Stop-Service -Name "P9RdrService*" -Force |
| wsl —shutdown 触发自动下载 | WSL 核心组件不完整 | 从 GitHub 下载安装包 |
| 虚拟机平台无法开启 | BIOS 未开启虚拟化 | 重启进 BIOS 开启 VT-x/AMD-V |
| 安装后版本显示为 1 | 默认版本是 WSL 1 | wsl --set-version <发行版> 2 |
验证与收尾工作
最终验证命令
# 查看 WSL 版本信息
wsl --version
# 查看已安装的发行版及状态
wsl -l -v
# 查看 WSL 状态
wsl --status
预期输出示例
WSL version: 2.7.3.0
Kernel version: 6.6.114.1-1
WSLg version: 1.0.73
NAME STATE VERSION
* Ubuntu Running 2
首次启动设置
当你从开始菜单启动 Ubuntu(或其他发行版)后:
- 系统会要求你创建用户名(小写字母,无空格)
- 创建密码(输入时屏幕无显示,这是正常的安全机制)
- 成功后,你会进入
用户名@计算机名:~$的命令行环境
✅ 至此,WSL 2 完全安装成功!
附:快速命令备忘卡
# 一键安装
wsl --install
# 安装指定发行版
wsl --install -d Ubuntu-24.04
# 查看可用发行版
wsl --list --online
# 网络加速安装
wsl --install --web-download
# 更新 WSL
wsl --update
# 设置 WSL 2 为默认
wsl --set-default-version 2
# 手动升级特定发行版
wsl --set-version Ubuntu 2
# 关闭 WSL
wsl --shutdown
# 查看状态
wsl -l -v
# 离线安装
Add-AppxPackage .\wsl.msixbundle
# 导入镜像
wsl --import <名称> <安装路径> <镜像文件.tar.gz>
# 清理残留服务
Stop-Service -Name "P9RdrService*" -Force
Set-Service -Name "P9RdrService*" -StartupType Disabled