Wsl 的导出和恢复

电脑用久了,难免需要稍稍格盘重装一下硬盘,不然系统会越来越臃肿,wsl 里面的数据还是蛮重要的,其实里面是完全可以完整的导出的,这也是 wsl 的优势之一吧。

题图ID:80759753,作者[email protected]_in

导出

首先你需要邮件左下角田字标以管理员模式打开 powershell

chrome_qGM5se1rVt (2)_LI.jpg
chrome_qGM5se1rVt (2)_LI.jpg

在这个蓝色框框里面输入:

wsl.exe --export <DistributionName> <FileName>

<DistributionName> 就是你想导出的发行版名字,可以通过在 Powershell 中输入 wsl.exe --list 查看
<FileName> 是你导出的备份文件的路径和文件名,当然只输入文件名的话,备份文件就会放在当前执行命令的路径了啦 pwd 就可以看见了。、

比如:

wsl.exe --export Debian Debian.tar

恢复

得到备份文件后,小心收起来,重装好后想恢复就可以输入:

wsl.exe --import <DistributionName> <InstallLocation> <FileName>.

<DistributionName> 和 <FileName> 和上面就是一样啦,只不过这里是你导入后 wsl 会变成的名字和你备份文件的目录和名字, <InstallLocation> 就是你想把 Wsl 安装在哪里的路径。

比如:

wsl.exe --import Debian e:\Wsl_Data\Debian.tar

一些小处理

按照这个方法导入后, wsl 默认的启动用户会恢复至 root ,如果还是想用普通用户登录的话还是需要一些处理。
按照

debian config --default-user <UserName>

在 powershell 里面输入的话会显示找不到命令。按照此评论的说法就是注册表值改变了,可以不安装工具通过修改注册表值来达到目的。
依然是管理员模式的 Powershell, 输入

Get-ItemProperty Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\*\ DistributionName | Where-Object -Property DistributionName -eq <UbuntuCustom> | Set-ItemProperty -Name DefaultUid -Value 1000

<UbuntuCustom> 是需要改变的发行版名称,上述在 wsl.exe --list 中显示的;
-Value 1000 后面的数字是你想改成的默认启动用户在 WSL 中的用户ID,可以通过 cat /etc/passwd 查看

比如:

 Get-ItemProperty Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\*\ DistributionName | Where-Object -Property DistributionName -eq Debian | Set-ItemProperty -Name DefaultUid -Value 1000

这样就 OJBK 了

添加新评论

评论列表