最近遇到一個問題,使用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