将wsl子系统发行版(docker-desktop-data)迁移到E盘
(1)查看wsl子系统发行版
wsl -l -v
image-20211118222437388.png
(2)关闭docker-desktop
在任务通知栏那里退出就可以了
(3)关闭所有wsl子系统发行版
wsl --shutdown
(4)将子系统导出到自己想要的地方E:\Development\Docker\docker-desktop-data.tar
wsl --export docker-desktop-data E:\DevelopTools\Docker\docker-desktop-data.tar
image-20211118222922669.png
(5)注销docker-desktop-data
子系统发行版。
wsl --unregister docker-desktop-data
image-20211118222850364.png
(6)重新导入docker-desktop-data(注意:要先写目录,然后再写文件名)
wsl --import docker-desktop-data E:\DevelopTools\Docker\ E:\DevelopTools\Docker\docker-desktop-data.tar --version 2
image-20211118223503217.png
(7)迁移完成,重新打开docker
成功将C盘下的数据文件转移到D盘。重新打开后,正常工作。C盘Docker文件也从之前的几个G编程几百M。
image-20211118223557597.png
image-20211118223728602.png
将ubuntu wsl子系统发行版迁移到E盘
感觉步骤与上述差不多。尝试一下
(1)关闭所有的wsl子系统
wsl --shutdown
image-20211118224446284.png
(2)导出子系统到想要的地方
wsl --export Ubuntu E:\DevelopTools\ubuntu_wsl\Ubuntu.tar
image-20211118224639323.png
(3) 注销Ubuntu
wsl --unregister Ubuntu
image-20211118224846704.png
(4)重新导入Ubuntu (注意要先写目录,再写目录下的文件)
wsl --import Ubuntu E:\DevelopTools\ubuntu_wsl\ E:\DevelopTools\ubuntu_wsl\Ubuntu.tar --version 2
image-20211118225133390.png
(5)将Ubuntu设置为默认子系统
image-20211118225344595.png
(6)成功将Ubuntu移到E盘,解放C盘
image-20211118225416042.png
(7)有个问题,在没有迁移之前对wsl ubuntu设置的内容全部没了。 有什么办法将之前的设置给弄回来呢?网上查找一番,发现是用户的问题。wsl import之后的子系统,会默认root
用户登录。但是我之前的用户是win
。所以只要用户切换到win用户就可以了。
su win #这里切换称自己的用户名 如果不记得的可以在/etc/passwd进行查看
image-20211118231901709.png
(8)还有一个小问题,如果重新打开wsl ubuntu,默认还是root用户。如何调整为默认普通用户呢?修改注册表
- 首先在注册表那
ctrl + F
查找Lxss
- 找到
BasePath
数据为迁移后目录的那个文件夹我这里是{2ba16d93-...}
- 将
DefaultUid
的数据修改为ubuntu中普通用户对应的数字 - 然后就完美解决了,变为熟悉的界面
image-20211118232614075.png
image-20211118232907787.png
image-20211118232949826.png
结果
解放了C盘,将4G多的空间移到其他硬盘。