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