首页 > 技术文章 > Windows 11 安装 WSL2

wenhsing 2021-12-28 22:28 原文

WSL(The Windows Subsystem for Linux) 是指的是在 Window 系统上运行 Linux 子系统,以便提供在 Windows 环境上运行 GNU/Linux 环境上才能使用的诸如命令行工具、其他 Linux 上的程序,无需传统的虚拟机或在一个电脑上安装多个系统并作多个引导配置。

全新安装 WSL2

本教程是在 Windows 11 上进行,如果你的是 Windows 10 的话,那你的系统要满足2004 或更高版本。

  1. 启用 Windows 功能

若是你已经开启了「适用于 Linux 的 Windows 子系统」,那这个步骤你可以跳过了。如果你忘记了有没有开启,也可以参考下面的设置打开来看一下有没有配置。

系统设置 -> 应用 -> 可选功能 -> 最下边的 「更多 Windows 功能」 -> 找到并勾选 「Hyper-V」和「适用于 Linux 的 Windows 子系统」-> 点击确定,等待新功能的安装。安装完成后重启一次电脑再继续后面的步骤。

image

  1. 查询有效的子系统列表

接下来是查询有哪些可用的子系统列表,这个步骤可以跳过,不过这里还是要说一下如何查询。

在 PowerShell 或者系统命令行中执行命令:

wsl --list --online

也可以使用它的简写模式:

wsl -l -o

执行后就可以看到当前可支持的子系统了。

image

  1. 执行安装

同样在 PowerShell 或者命令行中执行命令:

wsl --install 

上面的命令会安装默认的 Ubuntu 版本,如果想要安装其他版本的子系统,可以通过 --distribution 参数指定:

wsl --install --distribution [Linux 子系统名称]

这个命令也可以使用简写模式:

wsl --install -d [Linux 子系统名称]

从 WSL1 升级到 WSL2

升级的方法非常简单只需要指定子系统运行的 WSL 版本设置为 2 即可:

wsl --set-version [Linux 子系统名称] 2

问题与解决

  1. 安装出现报错
Installing, this may take a few minutes...
WslRegisterDistribution failed with error: 0x80370102
Error: 0x80370102 ???????????????????

Press any key to continue...

出现这个问题的原因是没有开启虚拟化。可以检查一下 BIOS 中是否开启了虚拟化,然后检查前面说的 Windows 功能是否已经开启。如果这些都开启了,那可以在命令行执行:

bcdedit /set hypervisorlaunchtype auto

不要忘记了在执行了命令之后同样要重启一次电脑。

  1. Hyper-V 与其他虚拟机不兼容

出现这个问题,在以前还真就只能二选其一,因为我电脑多,所以对我来说没有问题(笑)。
不过现在也有好消息就是,现在我的 Hyper-V 和 VirtualBox 虚拟机在同一台电脑上共存了,只需要你将你正在使用的虚拟机升级到新版本就可以了,感谢这些虚拟机开发者。

推荐阅读