题图ID:80759753,作者Twitter@shaeru_in

导出

首先你需要右键左下角田字标以管理员模式打开 powershell
chrome_qGM5se1rVt (2)_LI.jpg

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

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

比如:

wsl.exe --export Debian Debian.tar

恢复

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

wsl.exe --import <DistributionName> <InstallLocation> <FileName>.
和上面就是一样啦,只不过这里是你导入后 wsl 会变成的名字和你备份文件的目录和名字, 就是你想把 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
是需要改变的发行版名称,上述在 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 了

最后修改:2021 年 01 月 02 日
如果觉得我的文章对你有用,请随意赞赏