随着使用,最近 C 盘快满了,清理了也没清理多少,所以打算移动一下 WSL。在设置中,“Ubuntu on Windows”有一个“移动”按钮,但是被设置成“无法移动”了。清理了半天发现还是挪到别的盘使用比较好,不然很容易爆满。

方法概述和注意事项

研究了一下,发现并没有完美的实现方法,但是有一个勉强可以算作方法的方法(为什么不是完美的后面细说)。操作逻辑大致是:

  1. 导出目前的 WSL 为一个压缩包(压缩包是因为命令限制,而且可以加快移动速度。并且由于 C 盘爆满,可以直接导出到目标盘)。
  2. 再导入之前压缩好的 WSL 压缩包。

需要注意一点:之所以说这种方法不完美,是因为会丢失所有关联的数据和软件。

导出需要移动的 WSL

首先是导出需要移动的 WSL,方法很简单。
第一步,打开 PowerShell,然后使用以下命令:

wsl --export 已安装的WSL名称 目标位置\自定义名称.tar

举个例子,当前有一个 WSL 名为“Ubuntu”,位置在C盘。我们想将其移动到G盘,并且输出的 tar 文件名为“myUbuntu.tar”:

wsl --export Ubuntu G:\\WSL\myUbuntu.tar

导入 WSL 压缩包

这个导入压缩包和导入一个发行版是同一个概念。

如果想移动之后的名称和移动之前相同,那么需要注销卸载之前的 WSL。如果改名了,那么可以在后面再使用以下命令:

wsl --unregister 已安装的WSL名称

那么按照上文的导出,这里同样举个例子:

wsl -- unregister Ubuntu

然后导入 WSL 压缩包:

wsl --import WSL名称 安装目录 WSL压缩包文件地址

继续举个例子:

wsl --import Ubuntu G:\\WSL G:\\WSL\myUbuntu.tar

好了,这样就移动完成了,重启终端就可以继续使用了,不过数据啥的也没了。

希望可以帮到有需要的人~

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐