附:WSL子系统的备份与恢复

当我们历经千辛万苦终于把各个飞控的 编译环境搭建好了以后,可以对我们的 WSL子系统进行备份,这样哪怕后续电脑系统挂了,也可以重新快速恢复!

省去

具体备份的步骤如下:

一、关闭子系统

在windows powershell,执行以下命令


# 关闭指定分发版(替换为你的分发版名称)
wsl --terminate Ubuntu-22.04


wsl --shutdown


#确认已关闭子系统
wsl --list --verbose    

二、导出备份文件

打开windows powershell

执行以下命令

将 WSL 分发版保存为.tar压缩包(路径建议放在 Windows 文件系统中,例如本人将它备份到G:\WSL-Backups\):

# 格式:wsl --export <分发版名称> <备份文件路径>   文件路径大家按需进行修改!

wsl --export Ubuntu-22.04 G:\WSL-Backups\ubuntu2204-backup.tar

三、恢复

如果需要恢复子系统,可通过wsl --import命令将备份文件重新导入为 WSL 分发版:

本人的备份文件放在了G:\WSL-Backups\ubuntu2204-backup.tar下,我想把linux子系统安装在G:\WSL\Ubuntu-Restored下。

打开windows powershell

执行以下命令

执行以下命令,大家可以按需修改备份的文件夹路径及要重新安装的文件夹路径!

# 格式:wsl --import <新分发版名称> <安装路径> <备份文件路径>
# 示例:将备份导入为"Ubuntu-22.04-Restored",安装到D:\WSL\Ubuntu-Restored

wsl --import Ubuntu-22.04-Restored G:\WSL\Ubuntu-Restored G:\WSL-Backups\ubuntu2204-backup.tar

恢复完成后,如下图所示:

四、恢复子系统后,默认是在root用户下!

在 WSL 备份恢复后默认用户变为root,备份过程中可能丢失了默认用户的配置信息。

那么如何恢复成之前自己的普通用户下(比如我在备份之前,默认是在dapeng用户下),需要做一下操作:

1)打开wsl子系统,进入终端,输入id dapeng,确认我备份之前dapeng 这个ID是否存在。(默认备份后是存在的)

如上图所示,我的dapengID存在。

1)打开wsl子系统,进入终端,输入nano /etc/wsl.conf

默认内容如下图所示:

2)复制以下代码块的内容,将文档内容修改为:

[user]
default = dapeng    #此次我是dapeng,大家按照自己之前的ID名修改

3)Ctrl+O(输入O,不是零),然后按回车保存;

Ctrl+X退出nano编辑器。

4)重启电脑

5)重新打开ubuntu子系统,此时会发现用户名默认已经在dapeng

相关文档