最近遇到一个问题,使用WSL2 一段时间后,由于WSL2 默认的安装目录是C USER,随着使用时间的增长,C盘被WSL2 占用的空间也随之增长。因此需要对原
本已安装的WSL2进行重新备份,迁移,并且要迁移到其他目录中。
我的系统是 Windows,预装了 WSL2 下的子系统:wsl-ubuntu20.04。
一、下面是:备份/迁移 WSL2下 的子系统步骤:
1.在Windows PowerShell中输入如下命令
wsl -l --all -v
2.导出分发版为tar文件到d盘(如果你只是备份,那么下面的到第二步就可以了)
wsl --export Ubuntu-20.04 e:wsl-ubuntu20.04.tar
3.注销当前分发版
wsl --unregister Ubuntu-20.04
4.重新导入并安装WSL在d:wsl-ubuntu20.04(迁移/还原到其他目录)
wsl --import Ubuntu-20.04 e:wsl-ubuntu20.04 e:wsl-ubuntu20.04.tar --version 2
5.删除tar文件(可选)
del d:wsl-ubuntu20.04.tar
踩坑记录:
迁移之后,会发现Linux 子系统跟Windows10 docker 通讯不了,
例如:当在子系统输入 docker ps 命令时,会报:Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
此时需要重新需要去Windows 10 Docker Setting 设置:
二、迁移 windows10 Docker 目录
在 Windows PowerShell
1、关闭和wsl
wsl --shutdown
2、备份到处docker data
wsl --export docker-desktop-data e:\docker-desktop-data.tar</P>
3、注销docker-desktop-data
wsl --unregister docker-desktop-data
4、重新导入docker-desktop-data 到要存放的文件夹,我这边的文件夹为:e:\docker-desktop-data
wsl --import docker-desktop-data e:\docker-desktop-data\ e:\docker-desktop-data.tar --version 2
5、重新设置 子系统 为WSL2 --可以忽略此步骤
wsl --set-version Ubuntu-20.04 2