windows-subsystem-for-linux - 将 WSL 实例从一台机器复制到另一台机器
问题描述
所以我最近买了一台新笔记本电脑,想把我的 WSL 文件从旧机器移到新机器上。像个白痴一样,我实际上只是复制了文件系统(C:\Users\myuser\AppData\Local\Packages\CanonicalReallyLongDirectoryNameHere\LocalState\rootfs)
在新机器上安装 WSL 后从旧机器到新机器。
现在 WSL 不会在新机器上启动。我试图在新机器上卸载并重新安装 WSL,但我发现它lxrun
已被弃用,而且我找不到一篇文章明确说明如何在没有lxrun
. 我看过这个人:
https://docs.microsoft.com/en-us/windows/wsl/reference
但是注销和终止有什么区别?文档对这些命令的确切作用以及它们之间的区别不是很清楚。
编辑:我发现您可以进入设置 > 应用程序和功能 > Ubuntu [发布] > 高级选项 > 重置
这让 WSL 在我的机器上再次运行。
为了后代,无论如何可以轻松地将一个 WSL 实例复制到另一个实例?我在上面引用的文档中看到现在有一个导入和导出 WSL 发行版的命令;这些操作是否会保留所有可能已安装的应用程序?对于代码,只需将“主”目录从一个实例复制到另一个实例就很容易了,这不会破坏任何东西,但我不想再次重新安装所有应用程序。
编辑2:
于是我找到了这篇文章:
https://www.howtogeek.com/426562/how-to-export-and-import-your-linux-systems-on-windows-10/
这表示您可以运行wsl --export distro_name filename.tar
以导出文件系统,但是当我在旧机器上尝试时,它只会吐出 wsl.exe 的使用信息:
Usage: wsl.exe [option] ...
Options:
-d, --distribution <DistributionName>
Launch the specified distribition.
-e, --exec <CommandLine>
Execute the specified Linux command. The remainder of the arguments are
used as the command line to execute.
-u, --user <UserName>
Run as the specified user.
--help
Display this usage information.
--
Stop parsing arguments and pass the remainder to the Linux process.
编辑 3:显然,为了使用--import
and--export
选项,您至少需要使用 Windows build 1903
解决方案
编辑:更新了我的问题。
好的,我发现您可以进入设置>应用程序和功能> Ubuntu [发布]>高级选项>重置
这对我有用。
推荐阅读
- python - python/matplotlib:创建具有变化背景颜色的图形
- openmp - OpenMP 子句的推荐缩进样式是什么?
- c# - BotFramework 消息控制器通过反向通道设置变量
- path - 在keil中包含路径设置
- angular - 将表单作为对象数组提交
- regex - Python如何查找和替换未知部分或字符串
- c - 第二个 printf("%d\n", n); 怎么样?被叫?
- jmeter - JSR223 脚本中的问题,JSR223 PostProcessor:javax.script.ScriptException
- karate - 空手道 - 如何在单个功能文件中并行运行多个场景?
- azure - Azure QnA Maker 需要有关数据源的建议