WSL2全名为 windows Subsystem for Linux 2 相比1更加完善

1.先决条件

必须运行 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11。

备注

若要检查 Windows 版本及内部版本号,选择 Windows 键 + R,然后键入“winver”,选择“确定” 。 可通过选择“开始”“设置”“Windows 更新检查更新来更新到最新的 Windows 版本。

2.安装

2.1 BIOS中开启虚拟化
  1. 第一步是打开主板BIOS的虚拟化选项,如果你是这几年新买的电脑,默认这项是打开的。注意这一项每个电脑主板型号的不同,设置的方法也不同。所以最好的方法,是你根据自己主板的型号,去百度或者Google去搜索一下开启虚拟话的方法。
  2. 进入到BIOS后,找到Configuration选项或者Security选项,然后选择Virtualization,或者Intel Virtual Technology,就可以开始你的操作了。<br />![Universal-01.jpg](https://cdn.nlark.com/yuque/0/2022/jpeg/25356591/1644750560047-951e5828-abd1-474b-a87b-ef1e006b1d0e.jpeg#clientId=u5c599032-7f65-4&crop=0&crop=0&crop=1&crop=1&from=drop&id=u27ace808&margin=%5Bobject%20Object%5D&name=Universal-01.jpg&originHeight=234&originWidth=466&originalType=binary&ratio=1&rotation=0&showTitle=false&size=15581&status=done&style=none&taskId=ude3746f9-e22a-4f12-b2d3-ca5d363fb3f&title=)
  3. 然后回车,将其值设置成:设置为Enabled<br />![Universal-02.jpg](https://cdn.nlark.com/yuque/0/2022/jpeg/25356591/1644750564388-fc12bfe9-0c9f-4d57-aa39-bb450d59c562.jpeg#clientId=u5c599032-7f65-4&crop=0&crop=0&crop=1&crop=1&from=drop&id=u61e76760&margin=%5Bobject%20Object%5D&name=Universal-02.jpg&originHeight=115&originWidth=464&originalType=binary&ratio=1&rotation=0&showTitle=false&size=9256&status=done&style=none&taskId=u722178b2-4e34-4961-8556-2ae0ac791b5&title=)
  4. 然后重启电脑。

2.2 正式安装(默认安装Ubantu,若要安装其他版本优先查看2.3)
  1. 在管理员 PowerShell Windows 命令提示符中输入此命令,然后重启计算机来安装运行适用于 Linux Windows 子系统 (WSL) 所需的全部内容。
  1. wsl --install

Universal-03.png
此命令将启用所需的可选组件,下载最新的 Linux 内核,将 WSL 2 设置为默认值,并安装 Linux 发行版(默认安装 Ubuntu,请参阅下文更改此设置)。

首次启动新安装的 Linux 发行版时,将打开一个控制台窗口,要求你等待将文件解压缩并存储到计算机上。 未来的所有启动时间应不到一秒。

上述命令仅在完全未安装 WSL 时才有效,如果运行 wsl --install 并查看 WSL 帮助文本,请尝试运行 wsl --list --online 以查看可用发行版列表并运行 wsl --install -d <DistroName> 以安装发行版。

2.3 更改默认安装的 Linux 发行版

默认情况下,安装的 Linux 分发版为 Ubuntu。 可以使用 -d 标志进行更改。

  • 若要更改安装的发行版,请输入:wsl --install -d <Distribution Name>。 将 <Distribution Name> 替换为要安装的发行版的名称。
  • 若要查看可通过在线商店下载的可用 Linux 发行版列表,请输入:wsl --list --onlinewsl -l -o
  • 若要在初始安装后安装其他 Linux 发行版,还可使用命令:wsl --install -d <Distribution Name>

如果要通过 Linux/Bash 命令行(而不是通过 PowerShell 或命令提示符)安装其他发行版,必须在命令中使用 .exe:wsl.exe --install -d <Distribution Name> 或若要列出可用发行版,则使用:wsl.exe -l -o

2.4 开启Windows子系统功能

不同的windows版本可能设置方式有所区别,但是大体上是一样的。这里我以我电脑现在的版本演示一下。

打开设置。步骤是:1、点击windows图标。2、点击设置图标。

Universal-04.jpg

点击应用

Universal-05.jpg

点击程序和功能

Universal-06.jpg

点击启用或关闭Windows功能

Universal-07.jpg

找到这一条,打对勾确定就行了。

Universal-08.jpg

然后按照指示重启电脑(有的版本可能不用重启电脑)。

Universal-09.jpg

2.5 检查正在运行的 WSL 版本
  1. 可列出已安装的 Linux 发行版,并通过在 PowerShell Windows 命令提示符中输入以下命令来检查每个发行版的 WSL 版本:`wsl -l -v`
  2. 要在安装新的 Linux 发行版时将默认版本设置为 WSL 1 WSL 2,请使用命令 `wsl --set-default-version <Version#>`,将 `<Version#>` 替换为 1 2
  3. 要设置与 `wsl` 命令一起使用的默认 Linux 发行版,请输入 `wsl -s <DistributionName>` `wsl --setdefault <DistributionName>`,将 `<DistributionName>` 替换为要使用的 Linux 发行版的名称。 例如,从 PowerShell/CMD 输入 `wsl -s Debian`,将默认发行版设置为 Debian 现在从 Powershell 运行 `wsl npm init` 将在 Debian 中运行 `npm init` 命令。
  4. 要在 PowerShell Windows 命令提示符下运行特定的 WSL 发行版而不更改默认发行版,请使用命令 `wsl -d <DistributionName>`,将 `<DistributionName>` 替换为要使用的发行版的名称。

2.6 将版本从 WSL 1 升级到 WSL 2
  1. 要在以前安装的 Linux 发行版上从 WSL 1 更新到 WSL 2,请使用命令 `wsl --set-version <distro name> 2`,将 `<distro name>` 替换为要更新的 Linux 发行版的名称。 例如,`wsl --set-version Ubuntu-20.04 2` 会将 Ubuntu 20.04 发行版设置为使用 WSL 2
  2. 默认情况下,新的 Linux 安装将设置为 WSL 2,但 `wsl --set-version` 命令也可用于从 WSL 2 降级到 WSL 1 要查看 Linux 发行版是设置为 WSL 1 还是 WSL 2,请使用命令 `wsl -l -v`

3. 安装Windows Terminal(选做/推荐)

Terminal是命令行操作的输入输出环境,Windows Terminal只是众多命令行终端中的一种,可以调动各种系统中的命令行解释器,达到一个多命令行终端聚合的一个作用,省去在各种命令行中切换的操作。最主要是:终端下的linux系统支持ctrl+c复制,ctrl+v粘贴!!!

具体步骤如下

  • 进入软件商店
  • 搜索Windows Terminal
  • 点击获取即可安装!

4.问题

4.1 VMware与WSL2兼容问题
  1. 由于WSL2需要hyper-v,而VMware不支持hyper-v
  • 所以在需要WSL2的时候执行
  1. Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
  1. 这样会导致VMWare不能使用,出现**VMware WorkstationDevice / Credential Guard不兼容**这样的错误。
  • 这时候若想使用VMware,则需要将命令禁用
  1. Disable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

重启电脑后就可以使用VMware了。

4.2 安装Ubuntu时候出现的错误

错误代码:

  1. windows10 WslRegisterDistribution failed with error: 0xc03a001a

解决办法:

  • 在C:\ Users <您的用户名> \ AppData \ Local \ Packages下进行搜索Ubuntu(一般以C开头)
  • 对文件夹右键属性-高级,找到图中的红勾去掉,再去安装Ubuntu就可以了Universal-10.png