【WSL2】迁移Windows虚拟子系统(Ubuntu)

2023-05-16

目录

  • 【WSL2】迁移Windows虚拟子系统(Ubuntu)
    • 安装Ubuntu子系统
    • 导出虚拟机
    • 迁移虚拟机
    • 问题记录
    • 小结
    • 参考资料

【WSL2】迁移Windows虚拟子系统(Ubuntu)

看了 《从Windows的Docker Desktop转到Windows11+WSL》,在本机(Windows11)上安装了Ubuntu子系统,配好了Docker环境之后,同事Q伸手党,所以扒了一下怎么将子系统导出给他,顺便记录一下操作步骤。

安装Ubuntu子系统

Microsoft Store里面有提供下载
Microsoft Store搜索'Ubuntu'
不过这里要注意,如果直接点击获取,Windows会直接把Ubuntu安装到C盘,当然后期可以手动调整,可是我还是倾向于决定权掌握在自己手里,所以我选择第二个建议,下载了 Ubuntu 20.04 安装包。

但是并没有像文中所说的下载到一个后缀名为.appx的文件,而是:
从'https://aka.ms/wslubuntu2004'下载到的文件
不过问题不大,照样把后缀改成.zip,解压之后发现里面的内容是长这样的:
在这里插入图片描述
好了,找到前文说的.appx文件了,书接上一回,将这个文件后缀改成.zip,然后解压到想安装的盘:
在这里插入图片描述
进入目录后,双击运行 ubuntu.exe ,会弹出一个窗口,按提示创建用户之后,回到上面的目录,会发现下多了一个 ext4.vhdx ,到这里子系统就算是安装好了。

导出虚拟机

此时打开命令提示符窗口(记得右键选择以管理员身份运行,以免后面操作的时候提示权限不足),查看虚拟机状态,输入:

wsl -l -v

输出如下信息:
在这里插入图片描述
STATE=Running ,说明虚拟机正在运行,在导出前应先将虚拟机关闭,接着输入:

wsl --shutdown

然后再次查看虚拟机状态:
在这里插入图片描述
此时可以进行导出操作了,输入:

#wsl --export <虚拟机名称>> <导出路径>
wsl --export Ubuntu E:\Ubuntu.tar

稍等片刻,喝杯水,回来打开E盘,找到 Ubuntu.tar ,至此,导出完成。

迁移虚拟机

同事Q的电脑上已经装过wsl,原来的子系统也已经铲掉,直接开始干活:

  1. Ubuntu.tarUbuntu_2004.2021.825.0_x64.zip 拷到同事的电脑上;
  2. 解压 Ubuntu_2004.2021.825.0_x64.zip 到他指定的目录,如 E:\Ubuntu ,此时注意:先不要运行 ubuntu.exe
  3. 打开命令提示符,将 Ubuntu.tar 导入到第2步解压的目录下:
#wsl --import <虚拟机名称> <导入目录> <tar包路径>
wsl --import Ubuntu E:\Ubuntu I:\Ubuntu.tar
  1. 设置虚拟机默认用户,需要是原虚拟机上存在的用户:
#<安装目录\exe文件名> config --default-user <原虚拟机用户>
E:\Ubuntu\ubuntu.exe config --default-user tc

最后双击运行 ubuntu.exe,能直接进入子系统,说明迁移完成了。

问题记录

  • 问题1
    子系统要通过 WSL 进行 exportimport
  • 问题描述
    我将E盘下的 Ubuntu 文件夹直接压缩打包丢给了同事Q,直接解压后运行 ubuntu.exe,会提示创建用户信息,创建完毕之后,目录下的虚拟机文件(ext4.vhdx)被覆盖。
  • 问题原因
    文件夹下的 ext4.vhdx 并没有与同事Q电脑上的 WSL 存在关联,当运行 ubuntu.exe 时会重新建立子系统绑定到 WSL,并在对应目录下生成了新的 ext4.vhdx
  • 问题2
    子系统启动时出现错误提示:Unable to setup logging. [Errno 2] No such file or directory: '/home/tc/.landscape'
  • 问题描述
    为了方便互相伤害(可能后续还需要互相拷贝子系统),同事Q建议将虚拟机用户名修改为公共用户名,修改完成后重新登录出现上述错误提示。
  • 问题原因
    /etc/passwd文件中,用户对应的宿主目录路径未变更,但目录已更名 。

小结

迁移完成,把操作记录一下,方便回看,文章仅仅为了留给自己当作笔记,不会用于任何商用,侵删。

参考资料

《从Windows的Docker Desktop转到Windows11+WSL》
《WSL2 更换硬盘位置》
《Ubuntu修改密码和用户名》

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【WSL2】迁移Windows虚拟子系统(Ubuntu) 的相关文章

随机推荐