前提条件
想要在Windows 10上启用WLS2,需要满足以下条件:
Windows 10 版本 1903 Build 19362,或高于该版本
如果是ARM64的系统,则需要版本2004 Build 19041,或高于该版本
为WSL启用Windows服务
想要在Windows 10上运行WSL,首先需要启用Windows上的一些服务,这些服务默认是关闭的。
开始菜单,搜索 PowerShell,右键 PowerShell,选择使用管理员运行。
run-powershell
在打开的 PowerShell 终端,执行如下命令:
PS C:\Windows\system32> dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
[dism.exe]是Windows的部署映像服务和管理工具,上面的命令开启了WSL的功能。
以上命令执行成功之后,继续执行如下命令来开启Hyper-V的功能
PS C:\Windows\system32> dism.exe /online /enable-feature /featurename:VirutalMachinePlatform /all /norestart
完成以上操作之后,需要重启Windows操作系统,重启之后再次登陆系统。
接下来需要从微软下载一个最新的Linux内核升级包并安装,下载安装包 wsl_update_x64.msi,下载完成后直接安装。
完成之后,以管理员身份运行 PowerShell,执行如下命令来设置wsl使用的默认版本
PS C:\Windows\system32> wsl --set-default-version 2
这里我们将默认设置为 wsl 2 。
上述步骤就完成了WSL2的启用,接下来将使用WSL2安装基于Linux的发行版本(Ubuntu 20.04)。
使用WSL安装Ubuntu 20.04
在开启WSL功能之后,安装一个Linux的分发版很简单,只需要打开Windows应用商店(Microsoft Store),这里我们将安装Ubuntu 20.04分发版。
microsoft-store
打开应用商店之后,直接在应用商店中搜索 Linux ,将看有很多分发版本的选项,这里选择 Ubuntu 20.04,点击 获取 将应用加入账号,然后在点击 安装 按钮进行安装。
install-ubuntu
安装完成之后,就可以点击 启动 运行Ubuntu子系统,第一次运行需要一些时间来进行初始化配置,然后会提示输入Linux系统的用户名和密码。
这里的用户名和密码不需要与Windows系统的用户名和密码一致,但可以通过sudo来获取管理权限。
ubuntu-init
当完成初始化之后,就可以使用该Linux子系统了,当然是以终端的方式。
安装Wdindows终端应用(Windows Terminal)
安装的Ubuntu子系统提供了一个默认的终端,不过微软开源了一个Windows上的终端工具 - Windows Terminal,该工具支持很多自定义配置,同时支持Windows的Powershell,也支持Linux子系统,因此可以安装使用。
直接在应用商店搜索 Terminal ,选择 Windows Terminal 进行安装,安装完成之后可通过开始菜单启动
windows-termial
Windows Terminal默认是打开Powershell的,不过其支持多标签,点击标题栏上 + 服务旁边的下拉按钮,选择Ubuntu-20.04,新标签就会打开Ubuntu的这个子系统终端
termianl-ubuntu
Windows Termial支持很多自定义配置,具体请参考其文档。
可能遇到的错误
- WslRegisterDistribution failed with error: 0x800701bc
解决方案:造成该问题的原因是WSL版本由原来的WSL1升级到WSL2后,内核没有升级,前往微软WSL官网下载安装适用于 x64 计算机的最新 WSL2 Linux 内核更新包即可。
下载链接:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
忘记账户登陆密码
管理员打开 powershell
PS C:\Windows\system32> wsl -u root
root@DESKTOP-91MGDB0:/mnt/c/Windows/system32# passwd usernamme
New password:
Retype new password:
passwd: password updated successfully
root@DESKTOP-91MGDB0:/mnt/c/Windows/system32#
总结
现在我们在Windows 10上安装了一个全功能的Linux环境,可以使用该环境进行一些Linxu的系统实验,以及进行Linxu应用的开发(配合VSCode的wsl插件更加方便)。除了Ubuntu分发版,微软应用商店里还提供了其他支持的分发版本,包括Debian,openSUSE,Kali等,你也可以选择安装多个环境。
参考
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 chgocn@gmail.com