Windows Server 2022 安装 WSL 子系统

前言

Windows Server 2022 已经支持通过命令完成默认 WSL 安装了,但是博主通过wsl --install,出来的只有 howto 的帮助信息。

又尝试wsl --install -d Ubuntu-20.04指定 linux 子系统下载,可通过wsl -l -o查看可用的 linux 子系统。

奈何网络环境太慢了,几个小时了,进度条硬是没动一点,无奈放弃自动配置的方法。

本教程采用手动安装方式,可供 windows server 2022/2019/2016 使用。

请确保命令在管理员权限下执行。

开启 Hyper-V 服务

Windows server 系统默认是禁用该功能的,开启方式如下:

  1. 打开【服务器管理器】,在【仪表板】选择【添加角色和功能】
  2. 下一步跳到【服务器角色】勾选上【Hyper-V】
  3. 在【确认】中点击【安装】,安装完成后重启系统

下载 wsl 更新包,并切换 wsl2

curl.exe -L https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi -o wsl_update_x64.msi

也可以通过官方文档提供的下载链接手动下载:wsl 更新包

下载好更新包后,双击进行安装。

切换至 wsl2

wsl --set-default-version 2

查看 wsl 版本

wsl --status

下载 linux 子系统

可以点击上诉连接,下载你所需要的 Linux 发行版,也可通过指令进行下载,以 ubuntu2004 为例:

Invoke-WebRequest -Uri https://aka.ms/wslubuntu2004 -OutFile Ubuntu2004.appx -UseBasicParsing
curl.exe -L -o ubuntu2004.appx https://aka.ms/wslubuntu2004

下载好后通过命令将文件重名为***.zip,并解压,这里解压到 D 盘

Rename-Item .\ubuntu2004.appx .\ubuntu2004.zip
Expand-Archive .\ubuntu2004.zip D:\ubuntu2004

导航到包含下载内容的文件夹,并在该目录中运行以下命令

cd D:\ubuntu2004
Add-AppxPackage .\Ubuntu_2004.2021.825.0_x64.appx

注意:将 appx 文件改为对应你下载的版本

安装失败并出现错误 0x8007007e:如果收到此错误,则表明系统不支持 WSL。 请确保运行的是 Windows 版本 16215 或更高版本。 检查内部版本。 另外,请进行检查以确认 WSL 已启用,并且在启用此功能后重新启动了计算机。

这时候 linux 子系统还没设置密码,需要先初始化才能通过 wsl 进入。这里在查阅官方指导文档时并没有说明,后面查看环境变量的时候发现系统已经把 linux 子系统路径加入用户环境变量了。如博主的路径C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps,双击ubuntu.exe设置用户密码,之后就可以通过wsl -l -v查看已安装的 linux 子系统

还有一种 linux 子系统格式解压后格式是***.exe,这种可以不需要执行Add-AppxPackage命令,直接双击***.exe 文件就可以完成 linux 子系统初始化。实测 ubuntu18.04 解压后就是 exe 文件。

博主最终安装子系统如下:

image.png

参考

适用于 Linux 的 Windows 子系统文档