迁移 WSL 安装的 Linux 的位置

   今天通过 WSL 安装了 Ubuntu22.04。装完后一通查找安装位置,发现是在 C 盘的 %UserProfile%\AppData\Local\Packages\ 下的 CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc 目录。一个空系统的体积就不小了,后面还要不断折腾各种软件,这还得了。于是,就有了迁移位置的想法,然后就有了这篇记录。

   操作过程基本是照着网友写的一篇文章进行的。完成后才想起来,和我之前写的 Docker 的镜像迁移过程是一样的。

   那本篇记录就作为迁移 WSL 虚拟机的通用手册吧。

   操作环境:Window10,Ubuntu22.04。


1. 查看 WSL 虚拟机状态并停止

1.1 在 CMD 中执行wsl -l -v 命令,查看本机全部的 wsl 虚拟机的名称和状态:

1.2 执行 wsl --shutdown 命令使其停止运行,再次执行 wsl -l -v 确认停用。

2. 导出 / 导入备份

2.1 先手动创建迁移的目标文件夹,然后通过命令导出原虚拟机的备份:

1
wsl --export Ubuntu-22.04 D:\ProgramData\WSL\Ubuntu\Ubuntu.tar

等待命令执行完毕,先在目标文件夹里确认备份文件 Ubuntu.tar 后,再进行下一步。

2.2 注释原 wsl 虚拟机:

1
wsl --unregister Ubuntu-22.04

2.3 将备份导入到新的目标文件夹中:

1
wsl --import Ubuntu-22.04 D:\ProgramData\WSL\Ubuntu D:\ProgramData\WSL\Ubuntu\Ubuntu.tar

等待命令执行完毕,就可以重新启动 Ubuntu 了。这时候,会发现原来的默认用户没了。

3. 恢复默认用户

3.1 执行如下命令Linux 发行版名称 config --default-user 原本用户名

1
Ubuntu2204 config --default-user u-xhp

注意:命令中的发行版名称的版本号是纯数字,比如 Ubuntu-22.04 就是 Ubuntu2204。
等待命令执行完毕,再次运行 Ubuntu,发现用户就恢复原来的用户了。

4. 后记

整个过程下来,其实就是对 WSL 命令的正确使用。因此,有疑问或者想知道更多命令的,可以查看WSL 官方文档