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 系统默认是禁用该功能的,开启方式如下:
- 打开【服务器管理器】,在【仪表板】选择【添加角色和功能】
- 下一步跳到【服务器角色】勾选上【Hyper-V】
- 在【确认】中点击【安装】,安装完成后重启系统
下载 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 子系统
- Ubuntu
- Ubuntu 22.04 LTS
- Ubuntu 20.04
- Ubuntu 20.04 ARM
- Ubuntu 18.04
- Ubuntu 18.04 ARM
- Ubuntu 16.04
- Debian GNU/Linux
- Kali Linux
- SUSE Linux Enterprise Server 12
- SUSE Linux Enterprise Server 15 SP2
- SUSE Linux Enterprise Server 15 SP3
- openSUSE Tumbleweed
- openSUSE Leap 15.3
- openSUSE Leap 15.2
- Oracle Linux 8.5
- Oracle Linux 7.9
- Fedora Remix for WSL
可以点击上诉连接,下载你所需要的 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 文件。
博主最终安装子系统如下: