WSL2安装CentOS8等其他官方没有直接提供的Linux版本

鉴于 Microsoft 官方并没有提供官方的 CentOS8 的 WSL2 包,甚至 CentOS 的官方也并没有提供对应的包(Ubuntu 是微软和官方都有提供的),联想到 WSL2 和 Docker 在某种意义上是十分类似的,rootfs 都是核心,猜测可能会有方法使用官方提供标准包更广泛的 Docker 包的 rootfs 直接建立 WSL2 应用,经过摸索,发现可以使用 LxRunOffline 搞定,遂记录。

环境准备

安装和启用 WSL2

启用功能可能会需要重启。

1
2
3
4
5
6
# 启用 WSL
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
# 启用 VMP
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
# 设置 WSL2 为默认版本
wsl --set-default-version 2

下载 WSL2 内核更新包并安装。

安装 LxRunOffline

安装 Chocolatey

管理员运行 Powershell

1
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

使用 Chocolatey 安装 LxRunOffline

LxRunOffline 是用于管理适用于 Linux 的 Windows 子系统 (WSL) 的全功能实用程序,可以安装任意发行版到任意目录、转移已安装的 WSL 目录、备份 WSL、设置默认用户和修改环境变量等操作。

1
choco install lxrunoffline

安装 Linux 发行版的 Docker rootfs 包为 WSL2

以下以 CentOS 为示例,其他发行版可以参照。

下载 rootfs 包

访问CentOS 的官方 Docker rootfs 包仓库,找到 CentOS8 最新版本的在 CentOS-8-x86_64 分支,下载备用。

安装

1
LxRunOffline install -n CentOS8 -d D:\WSL\CentOS8 -f .\centos-8-x86_64.tar.xz

查看效果并设置为默认wsl

1
2
wsl -l
wsl -s CentOS8

WSL安装

进入 WSL 测试

WSL测试

欢迎关注我的其它发布渠道