我已经尝试过这些步骤这里使用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 可能不会影响底层被修复的机会。