用了很久WSL了,C盘空间总是不够,所以需要把默认装C盘的WSL distro挪个地方。

这种操作干了很多次了,每次都要翻文档确保操作安全,于是决定把操作记录记在这里

相关文档:WSL

0x00 安装

控制面板 - 程序 - 启用或关闭Windows功能 勾选HyperV,适用于Linux的Windows子系统

现在Windows和linux其实都是跑在一个hyperV上的虚拟机 (不记得从哪知道的了)

我记得以前装docker是必须开这个hyperv的,那时还没有wsl2,现在docker跑wsl2上不知道还要不要hyperv了

MS store里面找个ubuntu装一下吧

0x01 打开装好的发行版,初始化一下

输个用户名设置个密码之类的

0x02 升级到WSL2

刚装好的可能是WSL version 1。 查看wsl 版本,升级到2

1
wsl -l -v

使用--set-version升级到WSL2,中间可能要到微软官网下一个补丁

0x02 迁移

docker 和 WSL其他发行版一样,都是在一个地方存了个虚拟硬盘

docker data: %HOME%\AppData\Local\Docker\wsl\data
docker wsl: %HOME%\AppData\Local\Docker\wsl\distro

Ubuntu的在Microsoft Store目录下

不知道在哪也没事

1
2
3
wsl --export  docker-desktop-data path\to\export\docker-data.tar
wsl --unregister docker-desktop-data
wsl --import docker-desktop-data E:\WSL_dist\docker E:\WSL_dist\docker\docker-data.tar --version 2