WSL 导入任何 Linux 发行版
通过使用 tar 文件导入任何 Linux 发行版,可在适用于 Linux 的 Windows 子系统 (WSL) 中使用该发行版(即使它不在 Microsoft Store 中提供)。
本文演示了如何通过使用 Docker 容器获取 Linux 发行版 CentOS 的 tar 文件来将它导入,以便与 WSL 一起使用。 此过程可应用于导入任何 Linux 发行版。
获取发行版的 tar 文件
首先,需要获取一个 tar 文件,其中包含发行版的所有 Linux 二进制文件。
可通过多种方式获取 tar 文件,其中两种方式包括:
- 下载提供的 tar 文件。 可在 Alpine Linux 下载站点的 “MINI ROOT FILESYSTEM” 部分找到 Alpine 的示例。
- 查找 Linux 发行版容器,将实例导出为 tar 文件。
以下示例将使用 CentOS 容器演示此过程。
获取 CentOS 的 tar 文件示例
在本示例中,使用 Docker Desktop 来获取 CentOS 的 tar 文件。
先决条件
- 下载并安装 Docker Desktop for Windows.
从容器导出 tar
-
打开命令提示符,运行如下命令,在 Docker 中运行 CentOS 容器
C:\Users\aluop>docker run -t centos bash ls / Unable to find image 'centos:latest' locally latest: Pulling from library/centos a1d0c7532777: Pull complete Digest: sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177 Status: Downloaded newer image for centos:latest
-
查看 CentOS 容器 ID(或容器名字)
C:\Users\aluop>docker container ls -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 7e13143e28f5 centos "bash ls /" 15 minutes ago Exited (0) 15 minutes ago laughing_banach
-
将容器 ID 导出到 tar 文件
C:\Users\aluop>docker export 7e13143e28f5 > centos.tar
此过程从 Docker 容器导出 CentOS tar 文件,这样我们现在就可以导入它,以在本地将其与 WSL 一起使用。
将 tar 文件导入 WSL
准备好 tar 文件后,可使用以下命令导入它:wsl --import <Distro> <InstallLocation> <FileName>
。
导入 CentOS 示例
将 CentOS 发行版 tar 文件导入 WSL:
-
打开命令提示符并创建用于存储发行版的文件夹
C:\Users\aluop>mkdir D:\wslDistroStorage\CentOS
-
导入 tar 文件
C:\Users\aluop>wsl --import CentOS8 D:\wslDistroStorage\CentOS .\centos.tar
-
使用命令
wsl -l -v
检查已安装的发行版C:\Users\aluop>wsl -l -v NAME STATE VERSION * docker-desktop Running 2 docker-desktop-data Running 2 CentOS8 Stopped 2
-
最后,使用
wsl -d CentOS8
命令运行新导入的 CentOS Linux 发行版C:\Users\aluop>wsl -d CentOS8 [root@aluo aluop]#