Issues
- windows unix 编码问题
sudo apt update
sudo apt install dos2unix
dos2unix [filename]
导出、注销、导入 WSL
WSL 发行版可以通过 wsl --export 导出成 tar 文件,再用 wsl --import 导入到新的目录。这个方法适合备份、迁移磁盘位置,或者重建 Docker Desktop 的 WSL 数据。
先查看当前发行版名称:
wsl --list --verbose
操作前建议关闭所有 WSL 实例和 Docker Desktop:
wsl --shutdown
准备备份和导入目录:
mkdir E:\wsl\backup
mkdir E:\wsl\docker-desktop-data
mkdir E:\wsl\docker-desktop
mkdir E:\wsl\Ubuntu
命令格式
导出:
wsl --export <发行版名称> <tar文件路径>
注销:
wsl --unregister <发行版名称>
导入:
wsl --import <发行版名称> <安装目录> <tar文件路径>
注意:wsl --unregister 会删除对应发行版的数据。确认 tar 文件已经导出成功后,再执行注销。
迁移 docker-desktop-data
docker-desktop-data 保存 Docker Desktop 的镜像、容器、volume 等数据。迁移前一定要先退出 Docker Desktop。
wsl --shutdown
wsl --export docker-desktop-data E:\wsl\backup\docker-desktop-data.tar
wsl --unregister docker-desktop-data
wsl --import docker-desktop-data E:\wsl\docker-desktop-data E:\wsl\backup\docker-desktop-data.tar
迁移 docker-desktop
docker-desktop 是 Docker Desktop 使用的 WSL 发行版。顺序同样是先导出,再注销,最后导入。
wsl --shutdown
wsl --export docker-desktop E:\wsl\backup\docker-desktop.tar
wsl --unregister docker-desktop
wsl --import docker-desktop E:\wsl\docker-desktop E:\wsl\backup\docker-desktop.tar
迁移 Ubuntu
普通 Ubuntu 发行版也可以用相同方式迁移:
wsl --shutdown
wsl --export Ubuntu E:\wsl\backup\Ubuntu.tar
wsl --unregister Ubuntu
wsl --import Ubuntu E:\wsl\Ubuntu E:\wsl\backup\Ubuntu.tar
如果导入后默认用户变成了 root,可以在 Windows Terminal 或 PowerShell 里指定用户启动:
wsl -d Ubuntu -u <username>
也可以在 /etc/wsl.conf 里配置默认用户:
[user]
default=<username>
修改后关闭并重新启动 WSL:
wsl --shutdown