WSL2 安装

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

  • 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

  • Zhihu Robin - Win11 WSL2 安装+配置+迁移 - https://zhuanlan.zhihu.com/p/613427280

  • CSDN - win11 安装 WSL2 在非 C 盘及配置(图形界面+代理) - https://blog.csdn.net/weixin_45840825/article/details/127138564

安装方式

根据 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。

运行(windows+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 内核更新包

  • 适用于 x64 计算机的 WSL2 Linux 内核更新包 - https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

  • 适用于 ARM64 计算机的 WSL2 Linux 内核更新包 - https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_arm64.msi

如果链接失效,请查阅【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 安装在其他位置的两种方法:

  • Zhihu Robin - Win11 WSL2 安装+配置+迁移 - https://zhuanlan.zhihu.com/p/613427280
  • CSDN - win11 安装 WSL2 在非 C 盘及配置(图形界面+代理) - https://blog.csdn.net/weixin_45840825/article/details/127138564

我用的第二种办法,需要手动下载 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 的硬盘映像文件就存放在安装目录下。

更新后出错(不支持此接口 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即可。