Windows 配置 WSL2 + Ubuntu 24.04 完整过程记录

本文记录从Windows 11 空环境配置WSL2 + Ubuntu 24.04 LTS的完整过程,包括遇到的错误和解决方法。

WSL介绍

什么是wsl,具有哪些作用?

在 Windows 系统中,如果想运行 Linux 环境,传统方式通常需要安装双系统、虚拟机(如 VMware、VirtualBox),或者购买一台 Linux 服务器。但这些方式都有一定成本:

  • 双系统:切换麻烦,需要重启电脑;
  • 虚拟机:占用大量内存和 CPU;
  • 远程服务器:需要网络和额外费用。

为了解决 Windows 与 Linux 共存的问题,微软推出了WSL(Windows Subsystem for Linux,适用于 Linux 的 Windows 子系统)

其中WSL2(Windows Subsystem for Linux 2)是第二代版本,它通过更接近真实 Linux 内核的方式,让用户可以直接在 Windows 中运行完整的 Linux 环境。

WSL的优势

用户群体优势具体作用
👤 普通用户学习 Linux无需安装双系统,即可体验完整 Linux 命令环境,学习 Linux 基础操作、文件管理和软件安装
👤 普通用户使用 Linux 软件可以运行大量 Linux 工具、开源软件和命令行程序
👤 普通用户无需安装双系统Windows 与 Linux 可以同时运行,不需要重启电脑切换系统,降低 Linux 使用门槛
👨‍💻 程序员原生 Linux 开发环境使用真实 Linux 内核,支持 GCC、Python、Node.js、Java 等开发环境,与服务器环境高度接近
👨‍💻 程序员支持 Docker提供接近 Linux 原生的 Docker 运行体验,方便容器开发、测试和部署
👨‍💻 程序员编译速度快Linux 工具链运行效率高,适合 C/C++、Android、内核等大型项目编译
👨‍💻 程序员接近服务器环境大多数服务器运行 Linux,本地开发环境与生产环境更加一致,减少部署兼容问题
🔧 硬件工程师MCU 工具链支持 ARM GCC、RISC-V GCC 等工具,可用于 STM32、ESP32 等嵌入式开发
🔧 硬件工程师嵌入式 Linux 开发支持 Raspberry Pi、RK3566、RK3586/RK3588、Jetson 等 Linux 硬件平台开发
🔧 硬件工程师编译 SDK可以编译厂商提供的 Linux SDK,包括系统镜像、驱动和应用程序
🔧 硬件工程师开源项目构建支持 Make、CMake 等构建工具,方便编译 GitHub 上的 Linux 开源项目
🤖 AI / 科研开发者AI 环境搭建支持 PyTorch、TensorFlow 等人工智能框架,方便运行开源模型和复现实验
🤖 AI / 科研开发者GPU 加速计算支持 NVIDIA CUDA,可调用显卡进行深度学习和科学计算
🤖 AI / 科研开发者科学计算工具支持 Python、Jupyter、数据分析工具,适合算法研究和实验开发

WSL的不足

不足具体问题影响场景
🖥️ 不适合运行完整 Linux 桌面环境WSL2 主要面向命令行和开发环境,虽然支持 Linux GUI 应用,但完整桌面体验不如虚拟机KDE、GNOME 等完整 Linux 桌面使用体验较差
🔌 USB 设备支持有限部分 USB 设备无法直接被 WSL2 识别,需要额外配置 USBIP 等工具调试器、开发板、特殊 USB 外设使用不方便
📁 Windows 文件系统性能较低/mnt/c/等 Windows 挂载目录中运行 Linux 项目时,文件读写性能可能下降大型项目编译、Node.js 项目、Git仓库操作可能变慢
💾 占用一定系统资源WSL2 本质上运行一个轻量级虚拟机,会占用内存和 CPU老旧电脑或低内存设备可能出现性能下降
🎮 不适合高性能图形应用虽然支持 WSLg 和 GPU 加速,但图形性能与原生 Linux 或 Windows 应用仍有差距3D建模、游戏开发、专业图形渲染
🌐 网络结构存在差异WSL2 使用虚拟网络,与 Windows 主机网络存在一定隔离本地服务器、端口映射、网络调试需要额外配置
🔧 硬件直通能力有限某些底层硬件访问不像原生 Linux 方便驱动开发、内核开发、硬件底层调试
🐧 Linux 内核定制受限使用微软提供的 Linux Kernel,虽然可以自定义,但不像实体 Linux 那样自由修改内核、研究 Linux 底层机制
📦 存储空间管理复杂WSL2 使用虚拟磁盘文件(ext4.vhdx),长期使用可能不断增大大量编译文件、Docker镜像可能占用大量磁盘空间
🔄 与双系统 Linux 相比兼容性略低某些 Linux 功能和硬件支持不如直接安装 Linux专业 Linux 工作站、服务器开发

WSL2与虚拟机的区别

项目WSL2VMware
启动速度秒级分钟级
内存占用自动动态调整固定分配
Linux兼容性很高完整
图形界面可支持更成熟
文件共享非常方便一般
游戏/桌面Linux不适合更适合

windows 11配置WSL2

1、查看Windows版本

运行:

winver

本机:

Windows 版本: 10.0.26200.8655

属于 Windows 11 新版本,可以支持 WSL2。

2、第一次安装WSL

使用管理员 PowerShell:

wsl --install

出现错误:

已禁止(403)

完整:

PS C:\WINDOWS\system32> wsl --install 已禁止(403)。

原因分析

不是 WSL 功能问题。

原因:

  • Windows 下载 WSL/Ubuntu 在线组件失败
  • 微软下载服务访问被限制
  • 网络环境导致 Microsoft Store / CDN 返回 403

所以改为手动安装。

3、开启windows必要功能

开启linux子系统

管理员 PowerShell:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

检查:

dism.exe /online /get-featureinfo /featurename:Microsoft-Windows-Subsystem-Linux

结果:

功能名称 : Microsoft-Windows-Subsystem-Linux 状态 : 已启用

说明:

✅ WSL功能开启

开启虚拟机平台

执行:

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

检查:

dism.exe /online /get-featureinfo /featurename:VirtualMachinePlatform

结果:

功能名称 : VirtualMachinePlatform 状态 : 已启用

说明:

✅ WSL2虚拟化支持开启

4、尝试更新WSL

执行:

wsl --status

结果:

未安装适用于 Linux 的 Windows 子系统。

尝试:

wsl --update

错误:

已禁止(403)

再次尝试:

wsl --install

错误:

已禁止(403)

5、手动安装

由于在线安装失败,进入:

GitHub:

https://github.com/microsoft/WSL/releases

下载:

Microsoft.WSL_2.9.3.0_x64_ARM64.msixbundle

大小:

约:

700 MB

安装:

进入下载目录:

cd $env:USERPROFILE\Downloads

执行:

Add-AppxPackage .\Microsoft.WSL_2.9.3.0_x64_ARM64.msixbundle

安装成功。


检查:

wsl --version

输出:

WSL 版本: 2.9.3.0 内核版本: 6.18.35.2-1 WSLg 版本: 1.0.79 Windows 版本: 10.0.26200.8655

说明:

✅ WSL2安装完成

安装Ubuntu 24.04(根据自己需要选择)

查看可用系统:

wsl --list --online

输出:

NAME Ubuntu Ubuntu-26.04 Ubuntu-24.04 Ubuntu-22.04 ...

选择生产环境对应版本:

Ubuntu 24.04 LTS

安装:

wsl --install -d Ubuntu-24.04

如果电脑的CPU的虚拟化没有开启,则会报错,需要去在开机进入BIOS中开启虚拟化(各个主板进入BIOS不同这里以华硕主板为例)

虽然 Windows 功能开启:

VirtualMachinePlatform 已启用

但是 BIOS 中 CPU 虚拟化关闭。


进入 BIOS:

华硕 ROG 主板:

开机:

Delete

进入 BIOS。

进入:

Advanced Mode (F7) ↓ Advanced ↓ CPU Configuration

Intel:

开启:

Intel Virtualization Technology

设置:

Enabled

AMD:

开启:

SVM Mode

设置:

Enabled

重新安装 Ubuntu、

再次执行:

wsl --install -d Ubuntu-24.04

成功:

正在下载: Ubuntu 24.04 LTS 正在安装: Ubuntu 24.04 LTS 已成功安装分发。 正在启动 Ubuntu-24.04... Provisioning the new WSL instance Ubuntu-24.04

创建 Linux 用户:

Create a default Unix user account:

输入:

<你自己的用户名> 例如: usernamelili

设置密码:

New password: Retype new password:

成功:

passwd: password updated successfully

进入:

usernamelili@a:/mnt/c/WINDOWS/system32$

确认 Ubuntu 版本

Ubuntu 内执行:

cat /etc/os-release

应该:

NAME="Ubuntu" VERSION="24.04 LTS (Noble Numbat)"

检查 WSL 状态

Windows PowerShell:

wsl -l -v

结果:

NAME STATE VERSION Ubuntu-24.04 Running 2

确认:

  • Ubuntu版本正确
  • 使用WSL2

初始化 Ubuntu 环境

sudo apt update

sudo apt upgrade -y