主页 >> 计算机日常 >> WSL迁移的操作方法

WSL迁移的操作方法

前言

Windows默认的WSL是安装在C盘的,往往会占用大量的空间,久而久之影响宿主系统的使用,这时候最好把它迁移到其他的硬盘上使用。另一个场景是换电脑的时候,WSL里面的东西可以整体迁移也是非常方便的。Windows内置的wsl工具已经自带了导入导出的功能,可以实现WSL迁移。

操作步骤

第一步:关闭所有WSL

wsl --shutdown

使用wsl -l -v查看WSL是否为关闭状态。如下显示则是正确状态。

  NAME            STATE           VERSION
* Ubuntu          Stopped         2

第二步:运行导出命令

 wsl --export Ubuntu D:\WSL-Export\ubuntu.tar

--export 后面第一个参数是上一步返回的列表里面的NAME字段,第二个参数是导出的位置。

第三步:注销原WSL

 wsl --unregister Ubuntu

--unregister后面第一个参数还是前面列表里面的NAME,此时我们再运行wsl -l -v就会发现之前的Ubuntu已经不存在了。同时我们查看C盘,也会发现释放了大量的空间。

第四步:导入

wsl --import Ubuntu D:\WSL\ D:\WSL-Export\ubuntu.tar --version 2

--import第一个参数是导入的名字,第二个参数是导入后的WSL位置,第三个是指定前面导出的包。

可能产生的问题

我迁移完成之后,普通操作与迁移之前的使用基本没什么区别。唯独docker出问题了,docker明明启动了却连接不上服务,或者docker命令都无法正常使用。因为windows上的docker是跟WSL集成的,所以容易出问题。我尝试了把docker相关的WSL也迁移到同一个硬盘,有时可以有时会引发新的问题。最终通过重装Docker Desktop解决了。但是docker中原来那些容器何镜像却丢了,好在没有什么重要的容器。

如果你也遇到问题,建议先备份容器container,镜像image,卷volume,再重装Docker Desktop。

结语

如果在同一电脑,如果只是从C盘移动到其他磁盘,名称没有修改的话,使用方法与体验完全没有区别。导入到不同电脑与系统的情况未做测试。

滚动至顶部