Skip to content
鼓励作者:欢迎打赏犒劳

windows安装wsl

太难了!!!TMD windows真的是一堆问题!!!

一句话解释 WSL 是什么?

WSL(Windows Subsystem for Linux)就是在 Windows 里“原生运行 Linux 软件”的一个魔法盒子。

它让你不用装双系统、不用开虚拟机,就能直接在 Windows 里使用 Linux 命令、工具和开发环境。

先启用

常用命令

安装 WSL2

注意,有的系统此命令无效!!! 我的就是,不能通过在线安装,还得另想法子

shell
# 以管理员身份打开 PowerShell,运行:
wsl --install
  • 系统会自动安装 WSL2 + 默认发行版(通常是 Ubuntu)
  • 重启电脑后,按提示创建 Linux 用户名/密码

启用wsl

shell
# 启用 WSL 和虚拟机平台
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

然后 重启电脑。 重启后设置 WSL2 为默认:

shell
wsl --set-default-version 2

查看wsl版本

shell
wsl -l -v

如果你已有 WSL1,升级到 WSL2

shell
wsl --set-version <发行版名> 2
# 例如:wsl --set-version Ubuntu-22.04 2

验证是wsl1还是2

shell
uname -r

如果还是:4.4.0-19041-Microsoft,你仍在 WSL1,而 Docker 无法在 WSL1 运行。

或者运行下面的命令,version=1 说明就是版本1需要升级

shell
liuzhw@DESKTOP-7A94ASQ:/mnt/c/Users/Think/Desktop$ wsl -l -v
  NAME            STATE           VERSION
* Ubuntu-22.04    Running         1

手动安装wsl

需要下载一个 Ubuntu_2204.0.10.0_x64.appx 文件

下载方法1:

shell
curl.exe -L -o ubuntu-2204.appx https://aka.ms/wsl-ubuntu-2204

但是我没有成功,下载也没有报错,但是下载的文件不对,只有15Kb,明显就不对。 正常的应该600M左右大小

下载方式2:

https://download.csdn.net/download/lzh657083979/92537796
我上传到csdn了,不要积分。速度很快。注意,将zip解压出来。

下载方式3:

为了保险起见,我又备份了一个到了百度网盘。 链接:https://pan.baidu.com/s/1sRqhpiRIUYKugpHSp3b4jQ 提取码:uju3

安装

shell
Add-AppxPackage .\ubuntu-2204.appx

正常应该没啥问题。但是你查看wsl -l -v 还是显示无系统。不用担心,你还需要下一步

激活它

⚠️ 关键点Add-AppxPackage 只是把应用“部署”到系统,并不会自动初始化 Linux 文件系统
你必须手动启动一次 Ubuntu,它才会:

  • 解压 rootfs
  • 创建用户
  • 向 WSL 注册为有效分发版

PowerShell 中直接运行 然后设置账号 密码 就OK了

shell
ubuntu2204

在升级wsl1到2的时候报错

我又遇到了,升级1到2,直接一闪而过,没有生效。

shell
wsl --set-version Ubuntu-22.04 2

✅ 正确解决步骤(请按顺序操作)

第一步:确认 Windows 版本是否支持 WSL2

Windows PowerShell 或 CMD 中运行:

powershell
ver

输出示例:

Microsoft Windows [Version 10.0.19041.3636]
  • 如果版本 低于 19041 → 你需要先升级 Windows。
  • 如果是 19041 或更高 → 继续下一步。

第二步:安装 WSL2 Linux 内核更新包(关键!)

即使版本达标,也必须安装这个官方内核包:

🔗 下载地址(微软官方):
👉 https://aka.ms/wsl2kernel

点击下载并以管理员身份运行安装程序:
wsl_update_x64.msi

这个包会安装真正的 Linux 内核(5.10+),供 WSL2 使用。
没有它,wsl --set-version 2 会失败或回退到 WSL1。


第三步:启用“虚拟机平台”功能(这个在上面已经开启了,可以忽略)

PowerShell(管理员) 中运行:

powershell
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

然后重启电脑

⚠️ 必须重启!否则 WSL2 无法启动。


第四步:设置 WSL2 为默认,并升级发行版

重启后,打开 PowerShell(普通用户即可)

powershell
# 设置默认版本为 WSL2
wsl --set-default-version 2

# 升级你的发行版(名称必须和 wsl -l 输出一致)
wsl --set-version Ubuntu-22.04 2

✅ 这次你应该看到进度条:

Conversion in progress, this may take a few minutes...
The distribution has been converted to WSL2.

第五步:验证是否成功

powershell
wsl -l -v

输出应类似:

  NAME            STATE      VERSION
* Ubuntu-22.04    Running    2   ← 注意这里是 2!

然后进入 WSL:

bash
wsl

检查内核:

bash
uname -r

应该显示类似:

5.15.133.1-microsoft-standard-WSL2

(不再是 4.4.0-Microsoft


🛠️ 如果还是失败?常见陷阱排查

问题检查方法解决
BIOS 中未开启虚拟化(VT-x/AMD-V)任务管理器 → 性能 → CPU → “虚拟化: 已启用”进 BIOS 开启
Hyper-V 冲突(企业版/教育版)尝试运行 wsl --help 是否报错启用 Hyper-V 或使用 WSL2 兼容模式
杀毒软件/安全软件阻止临时关闭 Defender 或第三方 AV排除干扰后重试
发行版名称错误wsl -l 看准确名称(区分大小写、空格)用引号包裹名称,如 "Ubuntu-22.04"

💡 临时替代方案(如果你暂时无法升级)

如果你实在无法启用 WSL2(比如公司电脑权限限制),可以:

使用 Docker Desktop + WSL2 后端(即使你在 WSL1 中也能用)

  1. 在 Windows 安装 Docker Desktop
  2. 安装时勾选 “Use WSL 2 based engine”
  3. 在 Docker Desktop 设置中启用你的 WSL 发行版:
    • Settings → Resources → WSL Integration → Enable integration with Ubuntu-22.04
  4. 在 WSL 终端中直接使用 docker ps无需自己运行 dockerd

这是微软和 Docker 官方推荐的方式,即使你的 WSL 是 v1,Docker 也能通过 Windows 后台的 WSL2 引擎工作


如有转载或 CV 的请标注本站原文地址