目前在网上常常能查阅到的方法为先导出系统发行版(子系统名称)为tarball文件,然后再重新导入tarball为新的发行版,并设置新的安装位置,之后再删除旧的发行版。此方法也是微软官方推荐的方法,详见“如何备份我的 WSL 发行版,或者如何将它们从一个驱动器移到另一个驱动器?”详细命令可查询wsl --help获得。
wsl --export 子系统名称 tar文件路径
wsl --import 新的子系统名称 新的安装路径 tar文件路径
wsl --unregister 子系统名称
上述方法常常遇到导出过慢甚至失败的情况。因此也可通过修改注册表的方法改变其位置,注册表路径为
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\
上述方法详见“WSL2 安装于移动硬盘设置”。
此处,记录一种更简单的方法,即直接将原有的vhdx复制、粘贴到新的路径,然后通过wsl的新版命令加载发行版。详细命令可查阅wsl --help获得。这个方法微软官方并没有写进帮助页面,我猜测是其帮助页面疏于更新。
wsl --import-in-place 新的子系统名称 新的vhdx路径