尝试从备份的 ext4.vhdx 文件创建 WSL2 时出错

尝试从备份的 ext4.vhdx 文件创建 WSL2 时出错

我已经尝试过这些步骤这里使用ext4.vhdx文件创建新的 WSL2 实例,但我遇到了一个问题。

参考答案:

  • 像往常一样设置 WSL。确保执行此wsl --set-default-version 2步骤。
  • 安装相同的你在之前的机器上安装的 Microsoft Store 分发版本
  • 首次运行它,创建与之前的计算机相同的用户名。
  • 退出 WSL
  • wsl --shutdown通过 PowerShell 或 CMD
  • 将旧版本复制ext4.vhdx到新创建的版本上。我猜你知道位置,因为你在旧电脑上备份了它,但它应该在 中%userprofile%\AppData\Local\Packages\<distribution_package>\LocalState。如果你找不到ext4.vhdx,而是找到一个rootfs文件夹,那么发行版就是作为 WSL1 创建的。

因此,这是我尝试过的,除了一个例外,但我收到以下错误:

The virtual machine or container was forcefully exited.

我的一个例外是,之前安装的版本是 Ubuntu 22.04.1.6.0,而我新安装的版本是 22.04.1.7.0

有没有办法获取 22.04.1.6.0?或者针对我的特定错误的其他修复方法?

旧机器被覆盖由新机器,因此这样做wsl --export不是一个选择。

答案1

The virtual machine or container was forcefully exited.

嗯。来自这个 Github 问题似乎有一个很多这可能会导致这种情况。

一名嫌疑人此评论

然后我这样做wsl --shutdown,如果我没有等待足够长的时间,它会告诉我该程序正在被另一个进程使用。如果我在大约 1 分钟后再次尝试,它会执行该命令。之后,如果我再次尝试运行 wsl,它会给我同样的错误:

您是否曾在之后尝试过等待更长时间wsl --shutdown

还有这个

我启动了 Ubuntu 快捷方式上的 bash,还有一些设置需要完成。

确保用户名和密码已完全设置。我猜这不是问题,但它属于您按照我最初的说明可能遇到的问题。


也许值得尝试一下新方法我今天发了帖子。它被大大简化了,而且更新你的 WSL 可能不会影响底层被修复的机会。

相关内容