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
文件实质上就是一个压缩包
- 用压缩软件打开
.Appx
文件 - 将文件解压缩到你想安装的目录。
- 运行里面的可执行程序,如
ubuntu.exe
正常情况下,等待片刻即可完成安装。
安装后就能看到 Linux 的硬盘映像文件就存放在安装目录下。
更新后出错(不支持此接口 Error code: Wsl/0x80004002)
更新
在我完成上面的安装后,wsl 和 ubuntu 已经可以正常运行。
在运行时,wsl 会提示更新。
1 | 适用于 Linux 的 Windows 子系统现已在 Microsoft Store 中可用! |
出错
在我执行wsl.exe --update
更新后,wsl 却无法运行了。
1 | 不支持此接口 |
解决方法
在开始菜单或者 Microsoft Store 卸载Windows Subsystem for Linux
即可。