说明

本文使用的Windows环境是Windows 11 专业版。

WSL现在有二代WSL2,后续都通过WSL2来安装Linux,使用的是Ubuntu发行版,版本是20.04。

安装过程使用了PowerShell,且是管理员权限打开的。

参考适用于 Linux 的 Windows 子系统文档 | Microsoft Learn。

安装Linux系统

开启服务:

或者在PowerShell下执行如下命令:

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

前面两个这边都执行了。之后可能需要一次系统的重启。

在Windows Store中下载Ubuntu20.04和Windows Subsystem for Linux:

Windows Subsystem for Linux可以直接安装,但是Ubuntu不建议直接安装,因为这样会将Ubuntu安装在C盘,如果空间不够,可能导致其它的问题。

将下载到的Ubuntu放到指定的位置,确保空间足够。通常Ubuntu会在C:\Program Files\WindowsApps目录下,但是无法直接打开,这时还是需要使用PowerShell进入到该目录下,并找到对应的Ubuntu目录:

注意这里会有多个目录,但是我们只需要找到有Ubunut安装文件的目录,并将该目录里面的内容拷贝出来:

PS C:\Program Files\WindowsApps> ls .\CanonicalGroupLimited.Ubuntu20.04LTS_2004.6.16.0_x64__79rhkp1fndgsc\

目录: C:\Program Files\WindowsApps\CanonicalGroupLimited.Ubuntu20.04LTS_2004.6.16.0_x64__79rhkp1fndgsc

Mode LastWriteTime Length Name

---- ------------- ------ ----

d----- 2023/7/29 0:19 AppxMetadata

d----- 2023/7/29 0:19 Assets

d----- 2023/7/29 0:19 Terminal

-a---- 2023/7/29 0:19 523852 AppxBlockMap.xml

-a---- 2023/7/29 0:19 3677 AppxManifest.xml

-a---- 2023/7/29 0:19 12035 AppxSignature.p7x

-a---- 2023/7/29 0:28 567587703 install.tar.gz

-a---- 2023/7/29 0:28 3648 resources.pri

-a---- 2023/7/29 0:28 598016 ubuntu2004.exe

这里将上述内容拷贝到指定的目录:

将WSL设置成WSL2:

PS C:\Windows\system32> wsl --set-default-version 2

有关与 WSL 2 关键区别的信息,请访问 https://aka.ms/wsl2

操作成功完成。

PS C:\Windows\system32> wsl --version

WSL 版本: 1.2.5.0

内核版本: 5.15.90.1

WSLg 版本: 1.0.51

MSRDC 版本: 1.2.3770

Direct3D 版本: 1.608.2-61064218

DXCore 版本: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp

Windows 版本: 10.0.22621.2070

得到的结果如上所示。

点击exe文件即可开始安装,这样会在当前目录生成一个新的文件:

里面就包含了安装的Linux系统。

安装的时候需要等待一段时间,如果有报错,建议根据错误码在网上进一步查询。过程中还需要设置账号密码。安装完成之后可以查看安装的Linux系统:

PS C:\Windows\system32> wsl --list

适用于 Linux 的 Windows 子系统分发:

Ubuntu-20.04 (默认)

使用Linux系统

直接打开PowerShell输入wsl即可开启Linux系统:

PS C:\Windows\system32> wsl

jw@HOME:/mnt/c/Windows/system32$ uname -a

Linux HOME 5.15.90.1-microsoft-standard-WSL2 #1 SMP Fri Jan 27 02:56:13 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

VS Code与WSL联合开发

Windows下安装VS Code(注意不是在WSL下的Ubuntu中安装)。然后为VS Code安装WSL插件:

之后通过快捷键(Ctrl+Alt+o)选择连接到WSL:

下面是连接过程:

之后就可以打开Ubuntu上的文件:

并进行编辑和编译了:

查看原文