如何在 WSL 中导入之前导出的 Ubuntu tarball?

如何在 WSL 中导入之前导出的 Ubuntu tarball?

我的问题是继续发帖https://superuser.com/a/1435841

我已经安装了 WSL,从 Microsoft Store 安装了 Ubuntu 应用程序,将其制作成 Ubuntu,然后我通过命令将其备份到 tar 存档中

wsl –导出 Ubuntu C:\Programs\ubuntu.tar


现在我正尝试将 Ubuntu 恢复到备份到档案中的状态。

我很困惑我应该采取什么步骤?

1) Install Ubuntu app from store
2) run "wsl --import -d Ubuntu C:\Programs\ubuntu.tar"

或者

1) run "wsl --import -d Ubuntu C:\Programs\ubuntu.tat"
2) Install back Ubuntu app from Store

或者我不需要从商店安装应用程序?

但是我失去了在搜索中输入“ubuntu”并运行 ubuntu 应用程序的快捷方式


更新:尝试将 tar 移动到另一台 PC(Windows 10 Pro v1803),在此处的 powershell 中安装 wsl,尝试导入并......

C:\Users\nameless>wsl --import Ubuntu C:\Ubuntu C:\disc\ubuntu.tar
Windows Subsystem for Linux has no installed distributions. Distributions can be installed by visiting the Microsoft Store: https://aka.ms/wslstore

好的,Windows 10 Pro v1903 中已经修复了这个问题!

答案1

根据我阅读的文档,导入 WSL 发行版与 Microsoft Store 根本无关。

您可以使用以下命令进行导入:

wsl --import <DistributionName> <InstallLocation> <Full path to .tar FileName>

从现在开始,WSL 知道DistributionName,但 Microsoft Store 不知道。

要执行此分发,您将需要以下命令:

wsl --distribution <DistributionName>

这意味着仅仅运行ubuntu.exe(或其他任何操作)都不会起作用,除非您将其添加到 PATH 环境变量中。

您可以尝试从 Microsoft Store 安装发行版,然后使用其名称(您也可以使用 查看wsl --list)覆盖它。 这可能会起作用,因此导入的发行版既在 Microsoft Store 中注册,也在 PATH 中注册(但我自己还没有尝试过)。

相关内容