WSL 是什么?
Windows Subsystem for Linux (WSL)[1],WSL = Windows Subsystem for Linux。Windows 里的 Linux 子系统。能在 Windows 系统中直接运行完整的 Linux 环境,无需安装虚拟机或配置双系统,且运行流畅无明显卡顿。Windows 的 C 盘 D 盘在 WSL 里路径是:/mnt/c/、/mnt/d/。
它和虚拟机有什么区别?
- 虚拟机:笨重、占内存、开机慢、文件互通麻烦
- WSL:轻量、秒开、和 Windows 深度融合、几乎无性能损耗
- Windows11 现在默认就是 WSL2,非常成熟。
- 运行各种开源项目更顺畅,不会遇到 Windows 特有的奇葩问题。
安装 WSL 的前提
WSL 只能安装在 Windows 10 和 Windows 11 上面。Windows 10 的版本号必须大于等于 2004,且内部编译版本必须大于等于 19041。

查看你的 Windows 版本
按键盘的Win + R,然后输入winver,点击确定按钮。


查看上面截图中的版本号,如果你是 Windows10 且版本号大于等于 2004,OS 内部版本大于等于 19041,就可以安装 WSL。
Windows 的版本号命名规则
版本 2004:前两位代表 2020 年,04 代表 2020 年的 4 月份。
版本: 23H2: 前两位 23 代表 2023 年,H2 代表 2023 年的下半年。H1 代表 2023 年的上半年。
OS 内部版本:OS Build 代表 Windows 的内核编译版本。
安装 WSL
注意不要通过命令行的方式安装 WSL
不要通过wsl --install命令行的方式去安装 WSL,会出现安装进度卡在 0.0%的情况。微软官方自己都说了。



查看 WSL 的版本
cmd
wsl --version
wsl --status


设置 WSL 的默认版本为 WSL2
如果你的 WSL 版本不是以 2 开头的,请务必执行如下命令,将你的 WSL 版本设置为 WSL2。这是微软官方的建议。
csharp
# 设置 WSL2 为默认版本
wsl --set-default-version 2



查看可用的安装列表
css
wsl --list --online

上图中前面带*号是默认的 Linux 发行版本。很多人不知道 Linux 发行版本是什么意思,Linux 本身并不是一个完整的操作系统。Linux 只是一个操作系统的内核,就像安卓系统一样。如果你的安卓手机是原生的安卓系统,那基本上没法正常使用。Linux 发行版,就相当于小米公司的手机操作系统一样。小米手机的操作系统是基于开源的安卓系统开发的。WSL 默认的 Ubuntu(乌班图)就是开源社区基于 Linux 内核开发出的一个更易使用的 Linux 操作系统。
手工安装 WSL
由于 wsl --install 命令安装 WSL 极易出现进程卡死问题,因此本文采用手动方式安装。首先需通过以下命令确保 Windows 系统已开启 WSL 相关功能:
启用 WSL 功能
bash
# 启用 WSL 功能
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

查看 WSL 功能是否已启用
bash
# 检查 WSL 功能状态
dism.exe /online /get-featureinfo /featurename:Microsoft-Windows-Subsystem-Linux

启用虚拟机平台(WSL2 必需)
bash
# 启用虚拟机平台(WSL2 必需)
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

查看虚拟机平台是否已启用
bash
# 检查虚拟机平台状态
dism.exe /online /get-featureinfo /featurename:VirtualMachinePlatform

下载并安装 WSL2 内核更新包
下载 WSL2 的内核安装包: [wsl_update_x64.msi]。下载地址为: WSL2 内核更新包下载地址[2] 。
WSL2 内核(Kernel)是运行 WSL2 的 "底层驱动 / 核心程序"(实际文件)。WSL2 架构是 Windows 系统 "支持" 运行 WSL2 的模式(软件逻辑)。「WSL2 架构」和「WSL2 内核」是两回事。虽然你电脑能支持 wsl 命令,但是依然需要安装 WSL2 的内核更新包。


WSL 的内核安装成功后,我们还需要安装 Ubuntu 这个 Linux 操作系统。
下载 Ubuntu 22.04 离线安装包(微软官方)
Ubuntu 下载地址:Ubuntu 22.04 安装包下载地址[3]。

下载完成后,在 PowerShell 中切换到安装包的下载目录,执行以下 Add-AppxPackage 命令解压 Ubuntu 安装包:
bash
# 解压Ubuntu安装包
Add-AppxPackage .\Ubuntu2204-221101.AppxBundle

vbnet
# 找到解压后的ubuntu的可执行命令
Get-Command *ubuntu* | Select-Object Name, Source

下载的 .AppxBundle 是 Ubuntu 的 "安装包文件",执行 Add-AppxPackage 仅把文件解压到系统目录,但 Ubuntu 作为 WSL 分发版,需要手动执行一次启动程序完成:
makefile
# 执行系统里的 ubuntu.exe 完成初始化注册
C:\Users\yourname\AppData\Local\Microsoft\WindowsApps\ubuntu.exe

请务必记录好安装过程中设置的用户名和密码(后续操作需频繁使用)。
安装成功了


查看 WSL 的状态
在PowerShell命令行窗口里面执行如下命令,查看 WSL 的状态:
bash
# 查看wsl的状态
wsl --status

查看已安装的 Linux 发行版及对应的 WSL 版本
bash
# 查看wsl的已安装的Linux发行版本
wsl --list --verbose
# 简写版(效果一样)
wsl -l -v

使用 WSL


WSL Settings-设置 WSL


打开 WSL

通过 PowerShell 命令启动 Ubuntu
bash
#通过 WSL 命令启动
wsl -d Ubuntu

直接以 root 用户启动 Ubuntu
bash
# 直接以root用户启动Ubuntu
wsl -u root

切换到 root 用户 sudo -i
bash
# 切换到root用户,需要输入普通用户的密码
sudo -i

给 root 用户设置密码 sudo passwd root
bash
# 给root用户设置密码,一定要记好你设置的密码
sudo passwd root

su 命令切换到 root 用户
bash
#切换到root用户
su

WSL 的官方文档
WSL 的官方文档[4]

常见问题
常见问题[5]

结尾
关注我,下篇文章分享通过 WSL 的方式安装 OpenCode。这是 OpenCode 官方建议的在 Windows 上面的安装方式。通过 WSL 安装 OpenCode 可以得到更好的兼容性和更高的性能。
最重要的是:通过 WSL 安装ollama更加方便,也不容易出现 Windows 独有的兼容性问题。
尤为重要的是:后续我们将通过 WSL 基于 ollama 部署本地大模型,相比直接在 Windows 系统部署,WSL 方式不仅操作更便捷,大模型的运行性能也更优。
本地大模型部署好之后,就不用花钱买Token了。关注我,(❁´◡`❁)。
参考资料 [1]
Windows Subsystem for Linux (WSL): learn.microsoft.com/en-us/windo...
2
wsl_update_x64.msi]`。下载地址为: [WSL2 内核更新包下载地址: wslstorestorage.blob.core.windows.net/wslblob/wsl...
3
Ubuntu 22.04 安装包下载地址: aka.ms/wslubuntu22...
4
WSL 的官方文档: learn.microsoft.com/zh-cn/windo...
5