如何在 Windows 10 上导出和导入 Linux 系统

目前,Windows 10 允许用户导出已安装的 Linux 环境,生成可用于在其他计算机上导入的根文件系统 TAR 文件。 此功能方便在不同设备间复制已配置的系统、与他人分享,或进行备份保存。

工作原理

导入和导出功能是在 2019 年 5 月的更新,即 Windows 10 版本 1903 中引入的。如果您的系统未安装此更新,则无法使用这些命令行选项。

您需要使用 Windows wsl 命令的两个新选项:--export--import--export 选项将 Linux 发行版的根文件系统导出为 TAR 文件。--import 选项允许您将 Linux 发行版的根文件系统作为 TAR 文件导入。

如何导出(备份)Linux 系统

wsl 命令是 Windows 的内置命令 wsl.exe。您需要在 PowerShell 或命令提示符环境中执行它,而不是在 Linux 子系统环境中。您可以通过右键单击“开始”按钮或按 Windows + X 组合键,然后点击“Windows PowerShell”来打开 PowerShell 或命令提示符。

要列出已安装的发行版,请运行以下命令:

wsl --list

现在,使用以下命令将发行版的文件系统导出到 TAR 文件:

wsl --export 发行版名称 文件名.tar

例如,要将名为 Ubuntu 18.04 的系统导出到名为 ubuntu.tar 的文件,我们将运行:

wsl --export Ubuntu-18.04 ubuntu.tar

现在,您已拥有一个包含 Linux 发行版文件系统的 TAR 文件。 我们生成的这个文件,基于一个标准的 Ubuntu 18.04 LTS 系统,大小约为 645 MB。 如果您在发行版中安装了更多软件,文件大小会相应增加。

如何导入(恢复)Linux 系统

您可以使用带有 --import 选项的 wsl 命令来导入以这种方式创建的 TAR 文件。 在 PowerShell 或命令提示符窗口中,执行以下命令:

wsl --import 发行版名称 安装路径 文件名.tar

例如,假设您想要从位于 C:\Users\Chris\ubuntu.tar 的 TAR 文件导入一个发行版,并将其命名为“Ubuntu-18.04”,安装到 C:\Users\Chris\ubuntu。 您需要执行以下命令:

wsl --import Ubuntu-18.04 C:\Users\Chris\ubuntu C:\Users\Chris\ubuntu.tar

如果您希望安装位置与 Windows 通常默认的安装位置相匹配,这些发行版通常位于 C:\Users\用户名\AppData\Local\Packages 文件夹下各自的子文件夹中。 例如,您可能希望将 Ubuntu 安装在 C:\Users\用户名\AppData\Local\Packages\Ubuntu 中。

无论您将安装位置设置在哪里,请注意不要直接使用 Windows 工具修改这些文件。 以下是如何从文件资源管理器访问这些文件的方式。

如何注销(删除)Linux 系统

您可以使用 --unregister 选项及其名称来卸载发行版。 这将删除该 Linux 发行版的所有文件。

使用以下命令查看所有已安装的发行版:

wsl --list

然后,指定要删除的发行版:

wsl --unregister 发行版名称

例如,如果发行版名为 “Ubuntu-18.04”,您需要执行以下命令:

wsl --unregister Ubuntu-18.04

此功能还允许您快速方便地将已安装的发行版迁移到其他文件夹或驱动器。 您只需要将发行版导出为 TAR 文件,从系统中注销,然后将 TAR 文件导入到系统上的新位置即可。