如果你也像笔者一样:刚刚重装系统,但是仅仅格式化了C盘
,但是原来自己工作的WSL虚拟机的.vhdx
文件还在!那这个时候我们应该怎么办呢?
根据WSL CLI给出的提示:
--import <Distro> <InstallLocation> <FileName> [选项]
将指定的 tar 文件作为新分发版导入。
文件名可以是 - for stdin。
选项:
--version <Version>
指定要用于新分发的版本。
--vhd
指定所提供的文件是 .vhdx 文件,而不是 tar 文件。
此操作在指定的安装位置创建 .vhdx 文件的副本。
--import-in-place <Distro> <FileName>
将指定的 .vhdx 文件作为新分发版导入。
必须使用 ext4 文件系统类型设置此虚拟硬盘的格式。
你会发现,--import
是适用于你在使用wsl --export <Distro> <DestTarPackagePath>
这种情况下才能使用的,因此我们需要使用--import-in-place
命令加上待恢复的发行版名称<DistroName>
,再加上你.vhdx
的存储位置即可。
须知
请著有,一定要给这个.vhdx
文件配置完全控制权限,否则WSL会因访问权限不足而无法将其挂载到Windows FS上。
通过Windows终端打开可以看到,所有的文件都还在:
甚至由于vscode插件会直接存储在WSL2虚拟机内的缘故,你连你最爱用的编辑器都省了重新配置的过程了!