如何将主目录从一个 WSL 安装复制到另一个 WSL 安装

如何将主目录从一个 WSL 安装复制到另一个 WSL 安装

我已经使用 WSL 1 运行“Ubuntu”几个月了,但意识到是时候使用 WSL 2 升级到 Ubuntu-20.04 了。安装本身进行得很顺利,但为我创建了一个新的主目录。如何将仍在机器上的旧版本的主目录复制到新版本?

另外,我如何检查以确保我安装的任何软件(例如 emacs)也安装在新版本上?

我目前正在尝试在一个版本下对目录进行 tar 处理,并在另一个版本下对其进行解压,但是“路径名”有时太长,tar 拒绝写入 tar 文件。

尝试将我的版本从 WSL1 升级到 WSL2 会产生以下错误消息:

 wsl --set-version ubuntu 2
Conversion in progress, this may take a few minutes...
For information on key differences with WSL 2 please visit https://aka.ms/wsl2
Exporting the distribution failed.
bsdtar: Couldn't read link data: I/O error
bsdtar: Error exit delayed from previous errors.

答案1

这是一个老问题,但我最近遇到了同样的问题。

我发现最好的方法是在两个 WSL 中执行此操作,然后打开每个不同的 WSL 安装的主目录

$ explorer.exe .

这将调出每个 WSL 安装的当前工作目录,然后我将文件拖到它们之间。然而,这对于权限来说并不好,所以你需要检查它们是否正常(特别是 ~/.ssh/ 等中的密钥文件)。

如果您不知道如何为不同的 WSL 启动不同的终端,您也可以打开 Windows 资源管理器来\\wsl$\查看可用的安装,然后您就可以在其中浏览到 home\username。

相关内容