WSL2虚拟机迁移(转)
add by zhj: 对原文略有修改
原文:https://blog.csdn.net/zhys2007/article/details/110958577
作者:zhys2007
WSL是Windows下的Linux子系统,可以代替虚拟机来运行Linux系统,占用资源少,使用方便,下面说一下如何对已发布子系统进行迁移。一种情况是针对同一个系统,更换安装的位置;另一种情况跟换机器或重装系统后的迁移。
网上查了基本都是使用LxRunOffline.exe工具,进入 Github 下载ZIP包,其实只用wsl命令也可以实现。
在Windows的PowerShell中输入:
wsl --help
可以看到关于这个命令的使用帮助说明:
用法: wsl.exe [参数] [选项...] [命令行] 用于运行 Linux 二进制文件的参数: 如果未提供命令行,wsl.exe 将启动默认的 shell。 --exec, -e <命令行> 执行指定的命令而不使用默认的 Linux shell。 -- 按原样传递剩余的命令行。 选项: --distribution, -d <分发版> 运行指定的分发。 --user, -u <用户名> 以指定用户身份运行。 用于管理适用于 Linux 的 Windows 子系统的参数: --export <分发版> <文件名> 将分发导出到 tar 文件。 对于标准输出,文件名可以是 -。 --import <分发版> <安装位置> <文件名> [选项] 将指定的 tar 文件作为新分发进行导入。 对于标准输入,文件名可以是 -。 选项: --version <版本> 指定用于新分发的版本。 --list, -l [选项] 列出分发。 选项: --all 列出所有分发,包括当前正在 安装或卸载的分发。 --running 只列出当前正在运行的分发。 --quiet, -q 只显示分发名称。 --verbose, -v 显示有关所有分发的详细信息。 --set-default, -s <分发版> 将分发设置为默认值。 --set-default-version <版本> 更改新分发的默认安装版本。 --set-version <分发版> <版本> 更改指定分发的版本。 --shutdown 立即终止所有正在运行的分发和 WSL 2 轻型工具虚拟机。 --terminate, -t <分发版> 终止指定的分发。 --unregister <分发版> 注销分发。 --help 显示用法信息。
这里我们使用到export 、unregister和import几个选项就可以实现迁移。
1、终止正在运行的分发或虚拟机:
wsl --shutdown
2、对需要迁移的分发或虚拟机导出(我安装的版本是Ubuntu-20.04):
wsl --export Ubuntu-20.04 D:\wsl-Ubuntu-20.04.tar
3、导入新的分发版或虚拟机,import时distribution名称可以自已随便定义,这里名称为Ubuntu-20.04。D:\wsl\Ubuntu2004是import后数据
存储目录,建议提前创建好。
wsl --import Ubuntu-20.04 D:\wsl\Ubuntu2004 D:\wsl-Ubuntu-20.04.tar --version 2
最后的选项“--version 2”可以省略,则采用默认版本导入。如果导出的是WSL2,而这里设置的是“--version 1”,还可以将其版本降为WSL1,这样就实现了子系统的迁移 ,注意文件存放的路径一定不能错。
4. 进入分发
如果分发没有启动,会立即启动。如果没有指定-u,会以root用户登录
wsl -d Ubuntu-20.04 -u <用户名>
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/zhys2007/article/details/110958577