WSL2和Ubuntu安装记录

0 阅读6分钟

在看Hermes Agent的一些安装教程时,介绍Windows用户需要提前部署WSL2,安装完成后打开Ubuntu终端操作。在学习AI的过程中才发现先学习概念的重要性,不先学习概念有些东西根本听不懂,像上面这一句话除了Windows知道是啥,其他的英文词都不知道是啥,因为没接触过,都需要了解下他们的概念。

关于Hermes Agent是什么?可以看《[Hermes Agent 核心概念]》;

关于WSL2是什么?可以看《[WSL2]》;

关于Ubuntu是什么?可以看《[Ubuntu]》;

了解完相关概念接下来记录下WSL2的安装记录。

我手上的笔记本是Windows11系统,参考了网上的很多教程,一个感觉记录的不详细就再找一个,好几个教程结合着看相互佐证,再结合问AI,折腾了半宿终于装上了。

01 启用虚拟化

1.1、勾选Hyper-V

图片

1.2、勾选子系统和虚拟机平台

勾选适用于Linux的Windows子系统和虚拟机平台两项。

图片

1.3、勾选虚拟机

看有的教程里让勾选【Windows虚拟机监控程序平台】,我这里也勾选上了。

图片

02 一键安装 WSL命令

以管理员方式打开PowerShell:输入指令:

wsl --install

wsl --install是微软官方提供的一键安装 WSL(适用于 Linux 的 Windows 子系统) 的命令,它可以自动完成从启用系统功能、安装内核到部署 Linux 发行版的全流程,替代了早期手动开启功能、单独安装内核、手动下载发行版的多步复杂操作。

图片

2.1、适用系统版本

仅支持以下 Windows 版本,更低版本系统无法直接使用该命令:

  • Windows 10 2004/20H2 及以上版本(系统内部版本号 ≥ 19041)

  • Windows 11 所有正式版本

2.2、默认执行的完整流程

以管理员身份执行该命令后,系统会自动依次完成以下操作:

如果系统中已经开启了部分 WSL 相关功能,该命令会自动跳过已完成的步骤,仅执行未完成的安装项。

2.3、常用附加参数

可以在命令后添加参数自定义安装行为,常用参数如下:

  • -d, --distribution <发行版名称>:指定要安装的 Linux 发行版,替代默认的 Ubuntu。 示例:wsl --install -d Ubuntu-22.04 安装指定版本的 Ubuntu;可通过 wsl --list --online 查询所有支持的官方发行版。

  • --no-launch:安装发行版后,不自动启动初始化流程,后续手动启动时再配置用户信息。

  • --enable-wsl1:同时启用 WSL 1 的支持,方便后续在 WSL 1 和 WSL 2 之间切换发行版版本。

  • --inbox:强制使用 Windows 系统内置的 WSL 版本安装,不通过 Microsoft Store 获取更新版的 WSL。

  • --web-download:强制从微软官方服务器下载安装资源,绕过本地缓存和应用商店。

2.4、使用注意事项

  • 必须管理员权限

    :需要以「管理员身份」运行 PowerShell / Windows 终端 / CMD,否则会因权限不足执行失败。

  • 需要联网

    :安装过程需要下载内核包和 Linux 发行版镜像,请保持网络畅通。

  • 需要开启虚拟化

    :WSL 2 依赖 CPU 虚拟化技术(Intel VT-x / AMD-V),需在电脑 BIOS/UEFI 中开启该功能(多数品牌电脑默认已开启)。

  • 必须重启电脑

    :功能启用和内核安装需要重启系统才能生效,重启前请保存好工作内容。

2.5、命令下载太慢

在使用wsl --install命令时,下载太慢,结束了,换手机流量热点,结果还是太慢,后来采用手动安装,先分别浏览器下载内核更新包 wsl_update_x64.msi + Ubuntu 发行版, 先 dism 启用功能再双击装。

图片

看有的教程中使用的是wsl --install -d Ubuntu ,是显式指定发行版的 WSL 一键安装命令,结果也是比较慢。

图片

03 WSL2手动安装

浏览器下载了wsl_update_x64.msi,双击安装,结果报错:

图片

3.1、报错含义

这个弹窗的完整意思是:此更新包仅适用于已经启用了「适用于 Linux 的 Windows 子系统」功能的电脑。

你当前运行的 wsl_update_x64.msi 是「WSL 2 Linux 内核更新包」,它属于 WSL 的升级组件,并不是 WSL 本身的基础功能。

3.2、核心原因

安装顺序出错了:你跳过了「启用 WSL 系统基础功能」的前置步骤,直接安装内核更新包。

简单类比:WSL 基础功能相当于 “手机本体”,内核更新包相当于 “手机系统升级包”—— 没有手机本体,升级包自然无法安装生效。

3.3、正确解决步骤

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

图片

3.4、必须重启电脑

两条命令执行完成后,重启电脑,系统功能才会真正生效。

结果重启完再次双击运行wsl_update_x64.msi,还是报同样的错误。

04 设置默认运行版本

在别的教程中都是一句话带过的安装WSL2和Ubuntu,结果到了我这,安装WSL2都搞了半天没安装上。

在接着搜教程接着试的过程中看到这条指令:

wsl --set-default-version 2

这条命令的作用:把 WSL 默认运行版本设置为 WSL2。结果又开始了一轮下载,也可能是已经凌晨1点的原因,也可能是命令原因,这时的下载速度明显快了很多,于是就等着它下载。

图片

4.1、正在安装

下载完成后,开始自动安装。

图片

4.2、安装完成

鼓捣了好几个小时,终于安装完成了。

图片

4.3、验证安装

wsl --version:查看 WSL 版本、内核版本等基础信息有输出,说明安装成功了。

图片

05 安装Ubuntu

安装完WSL2已经凌晨1点半了,Ubuntu的安装包还在下载中,第二天才下载完成。然后双击安装Ubuntu

图片

输入用户名:LeiGong,按回车;

图片

结果报错,原因是Linux 默认不允许用户名包含大写字母,因此 adduser 命令触发了正则校验拦截,要求重新输入。于是都换成小写。

图片

输入密码,

  • 输入密码时屏幕不会显示任何字符、也不会出现 * 号,这是 Linux 的安全机制,属于正常现象

图片

输完密码按回车,再重复输入一次确认即可完成初始化

图片

检查是否安装成功

wsl --status

图片

如果想查看更详细的信息(比如已安装的发行版列表、各自的运行状态、对应 WSL 版本),可以执行这条命令:

wsl -l -v

图片

如果需要彻底关闭后台运行的 WSL,可以在 PowerShell 执行:

wsl --shutdown

06 后记

Ubuntu默认是安装在C盘,但在C盘随着使用担心爆盘,所以想把Ubuntu迁移到其他盘。下节记录迁移的操作过程。