WSL2 安装

关于 WSL 的安装,Microsoft Learn 写得已经比较完善了,网络上也有较多教程。我主要记录一下 WSL 手动安装的步骤。

安装方式

根据 Microsoft Learn 的说明,安装 WSL 有两种方式,

  • 正常安装
  • 手动安装

正常安装

根据 Microsoft Learn 的介绍,只需 wsl --install 即可完成安装。但我没有尝试过。

Microsoft Learn - 安装 WSL - https://learn.microsoft.com/zh-cn/windows/wsl/install

手动安装

Microsoft Learn - 旧版 WSL 的手动安装步骤 - https://learn.microsoft.com/zh-cn/windows/wsl/install-manual

WSL2 版本要求

  • Windows 10 (x64):版本 1903 或更高版本,内部版本为 18362.1049 或更高版本。
  • Windows 10 (ARM64):版本 2004 或更高版本,内部版本为 19041 或更高版本。
  • Windows 11。

运行(win+R) 或 Powershell 中输入 winver 即可查看版本。 或者在设置中查看。

启用 WSL(适用于 Linux 的 Windows 子系统)

以管理员身份打开 PowerShell, 执行

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

这个步骤与在 程序与功能 - 启用或关闭Windows功能 中启用 适用于 Linux 的 Windows 子系统(WSL) 应该是等效的

启用虚拟机平台

以管理员身份打开 PowerShell, 执行

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

这个步骤与在 程序与功能 - 启用或关闭Windows功能 中启用 虚拟机平台 应该是等效的。

下载安装 Linux 内核更新包

下载并安装 Linux 内核更新包

如果链接失效,请查阅【Microsoft Learn - 步骤 4-下载 Linux 内核更新包】 https://learn.microsoft.com/zh-cn/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package

这名字起得很奇怪,Microsoft Learn 文章里面叫做【Linux kernel update package】(Linux 内核更新包),但下载的文件是【wsl_update】(应该是 wsl 的更新包)。我也不知道到底是在更新什么。

将 WSL2 设置为默认版本

Powershell 执行

1
wsl --set-default-version 2

手动下载 Linux 发行版

Microsoft Learn 以及网络上的文章都会教你在 Microsoft Store 下载安装 Linux 发行版。 但是这样安装会导致 Linux 被安装到 C 盘,如果 C 盘空间充足那也没什么所谓。C 盘空间不足的话就要通过其他办法安装。

将 Linux 安装在其他位置的两种方法:

我用的第二种办法,需要手动下载 Linux 发行版的安装包。

Linux 发行版下载链接可以在 【Microsoft Learn - 下载发行版】 https://learn.microsoft.com/zh-cn/windows/wsl/install-manual#downloading-distributions 取得。

安装 Linux 发行版

直接安装

直接安装下载得到的.Appx.AppxBundle文件与从 Microsoft Store 下载安装的效果是一致的,Linux 产生的文件会被放置在 C 盘。

解压安装

.Appx.AppxBundle文件实质上就是一个压缩包

  1. 用压缩软件打开.Appx文件
  2. 将文件解压缩到你想安装的目录。
  3. 运行里面的可执行程序,如ubuntu.exe

正常情况下,等待片刻即可完成安装。 安装后就能看到 Linux 的硬盘映像文件(vhdx)就存放在安装目录下。

更新后出错(不支持此接口 Error code: Wsl/0x80004002)

更新

在我完成上面的安装后,wsl 和 ubuntu 已经可以正常运行。

在运行时,wsl 会提示更新。

1
2
3
4
适用于 Linux  Windows 子系统现已在 Microsoft Store 中可用!
你可以通过运行wsl.exe --update或通过访问 https://aka.ms/wslstorepage 进行升级
 Microsoft Store 安装 WSL 将可以更快地获取最新的 WSL 更新
有关详细信息请访问 https://aka.ms/wslstoreinfo

出错

在我执行wsl.exe --update更新后,wsl 却无法运行了。

1
2
不支持此接口
Error code: Wsl/0x80004002

解决方法

在开始菜单或者 Microsoft Store 卸载 Windows Subsystem for Linux 即可。

Built with Hugo
Theme Stack designed by Jimmy