一、使用 WSL 命令行工具
在 Windows 10 版本 1903(2019 年 4 月更新)或更高版本中,您可以使用wsl.exe
命令行工具。
1. 导出分布。使用要移动的分发创建一个.tar
文件wsl.exe --export
wsl.exe --export <DistributionName> <Tar-FileName>
例如,要导出Ubuntu
分布,您可以使用
C:\> wsl.exe --export Ubuntu c:\data\ubuntu.tar
2. 将发行版导入目标文件夹。然后,您可以将导出的分布导入另一个文件夹
wsl.exe --import <DistributionName> <Folder-To-Install> <Tar-FileName>
例如,要将导出的导入Ubuntu
到新的UbuntuCustom
发行版中,您可以使用
C:\> wsl.exe --import UbuntuCustom d:\wsl\UbuntuCustom c:\data\ubuntu.tar
二、使用 LxRunOffline
在任何 Windows 10 版本中,您都可以使用lxRunOffline将分发版移动到另一个驱动器。
1. 设置目标文件夹的权限。首先,我认为您必须为将要移动分发的文件夹设置一些权限。您可以使用icacls <dir> /grant "<user>:(OI)(CI)(F)"
来设置适当的权限。
C:\> whoami
test\jaime
C:\> icacls D:\wsl /grant "jaime:(OI)(CI)(F)"
注意:除了上述权限外,我还激活了Windows 中的长路径名。
2.移动分布。使用lxrunoffline move
.
C:\wsl> lxrunoffline move -n Ubuntu-18.04 -d d:\wsl\installed\Ubuntu-18.04
您可以使用检查安装文件夹
C:\wsl> lxrunoffline get-dir -n Ubuntu-18.04
d:\wsl\installed\Ubuntu-18.04
3. 运行分发。移动发行版后,您可以使用wsl
或相同的方式运行发行版lxrunoffline
C:\wsl> lxrunoffline run -n Ubuntu-18.04 -w
user@test:~$ exit
logout
C:\wsl> wsl
user@test:/mnt/c/wsl$ exit
logout