在 Windows 上安装 WSL Ubuntu 的完整避坑指南:从报错到成功运行

问题背景​

最近在尝试通过 ​​Windows Subsystem for Linux (WSL)​​ 安装 Ubuntu 时,遇到了一系列报错。最初的步骤是直接使用 wsl --install 命令,但安装完成后发现系统中并未自动安装默认的 Ubuntu 发行版。随后尝试通过命令行手动选择发行版,却提示 ​​“无法找到指定的分发版”​​(Distribution not found)。本文将记录整个排查过程,最终通过 ​​手动启用 Windows 功能​​ 和 ​​应用商店直接安装​​ 的方式成功运行 WSL Ubuntu。


​错误复现与初步排查​

1. 初始操作步骤

  1. 以管理员身份打开 ​​PowerShell​​ 或 ​​CMD​​。

尝试手动列出可用发行版并选择安装:

wsl --list --online # 查询可用的发行版名称 wsl --install --distribution Ubuntu-22.04 # 选择安装 Ubuntu 22.04

报错信息:

Error: 无法安装分发版,找不到指定的分发版。

执行命令安装 WSL:

wsl --install

预期结果:自动安装 WSL 核心组件并下载默认 Ubuntu 发行版。
实际结果:仅安装了 WSL 内核,但未安装任何 Linux 发行版。


2. 错误原因分析

  • ​WSL 功能未完全启用​​:某些 Windows 版本(如旧版 Windows 10)不会自动启用 WSL 所需的底层组件。
  • ​系统未更新​​:若 Windows 版本过旧(低于 2004 版本),可能不支持直接通过命令行安装。
  • ​网络或镜像源问题​​:微软服务器未响应,或本地网络阻止了发行版下载。

​解决方案:手动启用 WSL 功能并安装 Ubuntu​

步骤 1:启用 Windows 的 WSL 功能

  1. 打开 ​​“控制面板”​​ → ​​“程序”​​ → ​​“启用或关闭 Windows 功能”​​。
  2. 勾选以下两项:
    • ​“适用于 Linux 的 Windows 子系统”​​(核心 WSL 支持)。
    • ​“虚拟机平台”​​(支持 WSL 2 的必要组件)。
      https://i.imgur.com/7yZg2jL.png
  3. 点击 ​​确定​​ 后重启电脑。

步骤 2:通过 Microsoft Store 安装 Ubuntu

  1. 打开 ​​Microsoft Store​​,搜索 ​​“Ubuntu 22.04”​​。
    https://i.imgur.com/9Vt8lBk.png
  2. 点击 ​​“获取”​​ 下载并安装。
    (此步骤会自动完成所有依赖配置,无需手动干预)
  3. 安装完成后,从开始菜单启动 ​​“Ubuntu 22.04”​​。
  4. ​首次启动配置​​:
    • 等待初始化完成(可能需要 1-2 分钟)。
    • 输入 ​​用户名​​ 和 ​​密码​​(密码输入时无回显,正常输入后回车即可)。
      https://i.imgur.com/5G3kR7y.png

步骤 3:验证安装结果

在 Ubuntu 终端中检查系统信息:

lsb_release -a

输出示例:

No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.3 LTS Release: 22.04 Codename: jammy

在 PowerShell 中检查 WSL 状态:

wsl -l -v

输出应包含已安装的 Ubuntu 发行版和版本号:

 NAME STATE VERSION * Ubuntu-22.04 Running 2

​常见问题与解决方法​

1. 安装后无法启动 Ubuntu(闪退或无响应)

  • ​原因​​:WSL 2 需要启用虚拟化支持。
  • ​修复​​:
    1. 进入 BIOS/UEFI 设置,启用 ​​Intel VT-x​​ 或 ​​AMD-V​​ 虚拟化技术。

在 PowerShell 中设置 WSL 默认版本为 2:

wsl --set-default-version 2

2. 应用商店下载速度慢

  • ​原因​​:微软服务器网络波动。
  • ​修复​​:
    • 使用网络加速工具(如 Steam++、UsbEam Hosts Editor)。
    • 直接下载离线包(Ubuntu WSL 离线包)。

​为什么推荐通过应用商店安装?​

​方式​​命令行安装​​应用商店安装​
自动化程度需手动启用功能、处理依赖全自动完成,适合新手
发行版管理需记忆命令,易出错图形化操作,直观可靠
更新维护需手动升级 WSL 内核自动接收微软商店的版本更新
适用场景批量部署、开发者自定义需求个人用户快速上手

​总结​

通过本次踩坑经历,我们可以得出以下结论:

  1. ​WSL 功能依赖 Windows 组件​​:旧版系统需手动启用功能,否则命令行安装会失败。
  2. ​应用商店是最省心的安装方式​​:尤其适合不熟悉命令行的用户。
  3. ​验证安装结果必不可少​​:通过 wsl -l -v 和 lsb_release -a 确保一切正常。

如果你正在为 WSL 安装失败而苦恼,希望这篇指南能为你提供清晰的解决路径!

Read more

【Linux系列】并发世界的基石:透彻理解 Linux 进程 — 进程状态

【Linux系列】并发世界的基石:透彻理解 Linux 进程 — 进程状态

🫧 励志不掉头发的内向程序员:个人主页  ✨️ 个人专栏: 《C++语言》《Linux学习》 🌅偶尔悲伤,偶尔被幸福所完善 👓️博主简介: 文章目录 * 前言 * 一、Linux内核源代码怎么说 * 二、进程状态查看 * 三、Z(zomble) - 僵尸进程 * 四、僵尸进程危害 * 五、孤儿进程 * 总结 前言 我们在了解了进程的概念之后,我们再来了解了解进程的各种状态,我们在使用各种程序的时候,有的程序可能已经退出了,有的程序可能还在用,有的程序甚至可能会闪退。以上的程序的状态是一样的吗,它们分别是什么状态呢,我们一起来看看吧。 一、Linux内核源代码怎么说 * 为了弄明白正在运行的进程是什么意思,我们需要知道进程的不同状态。一个进程可以有几个状态(在Linux内核里,进程有时候也叫做任务)。 下面的状态在kernel源代码里定义: /* *The task state array is a strange

By Ne0inhk

Nginx 配置从零到一:小白也能看懂的超详细部署指南

Nginx 配置从零到一:小白也能看懂的超详细部署指南 (2025–2026 最新实用版) 这是一篇真正面向零基础 / 刚接触 Nginx 的人写的完整指南。 目标:你按照步骤操作完,能独立把 Nginx 装好、配置好、跑起来,并且知道每一行配置在干什么。 第一步:先搞清楚 Nginx 到底是干什么的(5 分钟必看) 最通俗的比喻: Nginx = 高性能的“门卫 + 快递中转站 + 保安队长” 它通常同时扮演以下几种角色: 实际用途通俗解释配置文件中对应模块今天最常见的场景静态资源服务器把 html/css/js/图片 直接发给用户http {} → location /前端打包后的 dist 目录反向代理用户找我,我再去问真正的后端要东西proxy_pass把请求转发给 SpringBoot / Node / PHP负载均衡来了 1000 个请求,我平均分给 5

By Ne0inhk

Ubuntu 系统安装 VSCode 超全指南(3 种方法,适配 20.04/22.04 LTS)

VSCode(Visual Studio Code)是 Ubuntu 下最常用的轻量级代码编辑器,支持全语言开发、插件扩展和跨平台同步。本文提供 3 种安装方法(APT 仓库 / 手动 DEB/Snap),其中APT 仓库安装是首选(自动更新、稳定性最高),适配所有主流 Ubuntu 版本(20.04/22.04 LTS),附高频问题解决方案。 一、方法 1:通过官方 APT 仓库安装(推荐,自动更新) 此方法安装的 VSCode 会随系统 APT 更新自动升级,无需手动下载新版本,是最省心的方案。 步骤 1:安装依赖(解决密钥导入 / 仓库配置依赖)

By Ne0inhk