在Windows PowerShell中输入如下命令:
wsl -l --all -v
NAME STATE VERSION
* Ubuntu-18.04 Running 2
docker-desktop Running 2
docker-desktop-data Running 2
wsl --export Ubuntu-18.04 d:\ubuntu\wsl-ubuntu18.04.tar
wsl --unregister Ubuntu-18.04
创建文件夹 d:\ubuntu\wsl-ubuntu18.04
mkdir -p d:\ubuntu\wsl-ubuntu18.04
导入
wsl --import Ubuntu-18.04 d:\ubuntu\wsl-ubuntu18.04 d:\ubuntu\wsl-ubuntu18.04.tar --version 2
ubuntu config --default-user
如果安装的是特定版本的 Ubuntu,需要使用
#ubuntu1804 config --default-user
del d:\ubuntu\wsl-ubuntu18.04.tar
现在,WSL的默认安装目录迁移到D:\ubuntu\wsl-ubuntu18.04目录下了。此目录即为WSL的跟文件系统。
wsl 默认安装目录
C:\Users\Username\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc\LocalState备注:Username是Windows登录用户名,这里替换成自己的用户名即可。
C:\Users\Username\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc
Folder PATH listing
C:.
+---AC
| \---Temp
+---AppData
+---LocalCache
| +---Local
| | \---Microsoft
| \---Roaming
| \---Microsoft
| \---Windows
| \---Start Menu
| \---Programs
+---LocalState
| ext4.vhdx
|
+---RoamingState
+---Settings
| roaming.lock
| settings.dat
|
+---SystemAppData
| \---Helium
| User.dat
| UserClasses.dat
|
\---TempState
Docker 相关的目录
wsl -l --all -v
- docker-desktop
- docker-desktop-data
对应到磁盘上面,默认位置 %LOCALAPPDATA%/Docker/wsl
- data/ext4.vhdx 对应存储 docker-desktop-data数据,用于存储镜像,会随着使用而不断增加。
- distro/ext4.vhdx 对应存储 docker-desktop数据,100多mb,可以暂时不移动。
>tree /F %LOCALAPPDATA%/Docker
Folder PATH listing
C:\USERS\Username\APPDATA\LOCAL\DOCKER
│ log.txt
│
├─log
│
├─tasks
│ com.docker.dev-envs.exe.json
│ com.docker.extensions.exe.json
│
└─wsl
├─data
│ ext4.vhdx
│
└─distro
ext4.vhdx迁移方法类似之前的方法:
- 停止docker desktop
- wsl 移出,注销,再导入
wsl --shutdown
wsl --export docker-desktop-data F:\docker-desktop\docker-desktop-data.tar
wsl --unregister docker-desktop-data
wsl --import docker-desktop-data F:\docker-desktop\data F:\docker-desktop\docker-desktop-data.tar --version 2
- 重新启动Docker