WSL 是什么?完整解读 Windows Subsystem for Linux
Windows Subsystem for Linux,简称 WSL,简单来说就是在 Windows 系统内直接运行一个完整的 Linux 环境。无需安装虚拟机,也不必折腾双系统,运行起来相当流畅,几乎感觉不到延迟。Windows 的 C 盘、D 盘在 WSL 中会自动映射为 /mnt/c/、/mnt/d/,文件互通非常便捷,适合开发者和对 Linux 有需求的用户。
WSL 与传统虚拟机有什么区别?
- 虚拟机:笨重、内存占用高、开机速度慢,Windows 与 Linux 之间传文件需要额外配置。
- WSL:轻量级、秒级启动、与 Windows 深度集成,性能损耗几乎可以忽略不计。
- Windows 11 现在默认搭载 WSL2,已经非常成熟稳定。
- 运行各种开源项目时,基本不会遇到 Windows 环境特有的兼容性问题。
安装 WSL 的前提条件
WSL 仅支持 Windows 10 和 Windows 11 操作系统。Windows 10 的版本号必须不低于 2004,且内部编译版本不低于 19041。下面教你快速查看自己系统的版本,判断是否满足安装要求。
如何查看你的 Windows 版本
按下快捷键 Win + R,输入 winver 后回车,即可看到版本信息与内部版本号。
上面截图里标注了版本号。如果你是 Windows 10,且版本号 ≥ 2004,OS 内部版本 ≥ 19041,那么恭喜,可以顺利安装 WSL。
Windows 版本号的命名规则
版本 2004:前两位表示 2020 年,04 表示 4 月份,属于功能更新。
版本 23H2:前两位 23 表示 2023 年,H2 代表下半年(H1 是上半年)。
OS 内部版本:即 Windows 内核的编译版本号,与功能版本不同。
安装 WSL 的详细步骤
注意:不要通过命令行直接安装 WSL
千万不要使用 wsl --install 这个命令,因为很容易卡在进度条 0.0% 处无法继续,微软官方也曾承认存在该问题。
查看当前 WSL 的版本
可以使用 wsl --version 或 wsl --status 来查看已安装的 WSL 版本信息。
设置 WSL 默认版本为 WSL2
如果当前 WSL 版本不是以 2 开头(比如是 WSL1),强烈建议执行以下命令将其设为 WSL2,这也是微软官方推荐的最佳实践。
wsl --set-default-version 2
查看可用的 Linux 发行版列表
wsl --list --online
列表中前面带 * 的是默认的 Linux 发行版。很多人可能对“Linux 发行版”这个概念不太熟悉。实际上 Linux 本身只是一个内核,就像 Android 系统一样,仅靠原生内核无法直接使用。Linux 发行版就相当于小米基于 Android 定制 MIUI,Ubuntu(乌班图)就是开源社区基于 Linux 内核打造的一款易用操作系统。
手动安装 WSL(推荐方式)
由于 wsl --install 容易卡死,本文采用纯手动方式完成安装。首先确认 Windows 系统已开启 WSL 相关功能。
启用 WSL 功能
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
检查 WSL 功能是否已启用
dism.exe /online /get-featureinfo /featurename:Microsoft-Windows-Subsystem-Linux
启用虚拟机平台(WSL2 必需)
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
检查虚拟机平台是否已启用
dism.exe /online /get-featureinfo /featurename:VirtualMachinePlatform
下载并安装 WSL2 内核更新包
下载 WSL2 内核安装包:wsl_update_x64.msi。下载地址为 WSL2 内核更新包下载链接。
WSL2 内核(Kernel)是让 WSL2 真正运行的底层驱动;而“WSL2 架构”则是 Windows 系统支持 WSL2 的模式,两者不是同一回事。即使你的电脑已经能识别 wsl 命令,也需要单独安装这个内核更新包才能使用 WSL2。
内核安装完成后,还需要安装 Ubuntu 操作系统。
下载 Ubuntu 22.04 离线安装包(微软官方)
Ubuntu 下载地址:Ubuntu 22.04 安装包官方下载链接
下载完成后,打开 PowerShell 并切换到安装包所在目录,执行以下命令解压:
Add-AppxPackage .\Ubuntu2204-221101.AppxBundle
Get-Command *ubuntu* | Select-Object Name, Source 可以找到解压后的 Ubuntu 可执行文件。
这里的 .AppxBundle 只是安装包,Add-AppxPackage 只负责将其解压到系统目录。要让 Ubuntu 正式成为 WSL 的发行版,还需要手动执行一次启动程序来完成初始化注册:
C:\Users\yourname\AppData\Local\Microsoft\WindowsApps\ubuntu.exe
安装过程中会提示设置用户名和密码,请务必牢记,后续操作将频繁使用。
安装成功后的验证
查看 WSL 的运行状态
在 PowerShell 中运行以下命令可以查看 WSL 的整体状态:
wsl --status
查看已安装的 Linux 发行版及其对应的 WSL 版本
wsl --list --verbose 或简写 wsl -l -v
使用 WSL 的几种方式
WSL Settings - 配置 WSL 参数
如何打开 WSL
通过 PowerShell 命令启动 Ubuntu
wsl -d Ubuntu
直接以 root 用户身份启动 Ubuntu
wsl -u root
在 Ubuntu 中切换到 root 用户(sudo -i)
sudo -i(需要输入普通用户的密码)
为 root 用户设置密码(sudo passwd root)
sudo passwd root(密码务必记好)
使用 su 命令切换到 root 用户
su
WSL 官方文档与资源
WSL 的官方文档
常见问题与排错
常见问题
结尾与参考资料
参考资料
[1] Windows Subsystem for Linux (WSL): learn.microsoft.com/en-us/windo…
[2] wsl_update_x64.msi 下载地址: wslstorestorage.blob.core.windows.net/wslblob/wsl…
[3] Ubuntu 22.04 安装包下载地址: aka.ms/wslubuntu22…
[4] WSL 的官方文档: learn.microsoft.com/zh-cn/windo…
[5] 常见问题: learn.microsoft.com/en-us/windo…
