WSL2下的系统备份迁移与还原
引言
当前在Windows11上搭建的WSL2下的炼丹炉已经满足我的日常需求,配置好了与我自己炼丹的所有可用的配置,并且已经平稳运行了一段时间,为了为未来提供一些保障,(毕竟如果哪天系统炸掉了,重新配置一遍十分繁琐,并且有项目需要做WSL的迁移),需要对这个系统进行备份操作,并进行迁移与还原。
步骤
下面我们所有的操作都在cmd或者PowerShell中运行,更推荐PowerShell吧,使用体验比cmd好太多了。
Step 1 -准备工作
启动PowerShell

查看是否有正在运行的WSL,备份操作需要关闭WSL中正在运行的系统
wsl --list --running
如果有正在运行的WSL系统

请运行下面的代码关闭WSL
wsl --shutdown
step 2 - 获取信息
有些朋友们会安装多个发行版,或者有些朋友们其实并不确定自己的WSL的名称是什么,因此需要获取我们计划备份的WSL系统名称
wsl -l -v
对于我来说,我需要备份的系统名称是Ubuntu-24.04
step 3 - 导出
使用wsl --export导出备份
wsl --export (系统名称) (保存路径以及 文件名称.tar)例如我想将Ubuntu-24.04备份到F盘下的Ubuntu2404-V20251210.tar。我需要输入下面的命令
wsl --export Ubuntu-24.04 F:\Ubuntu2404-V20251210.tarstep 4 - 还原
使用wsl --import执行还原(导入)。
wsl --import (系统名称) (安装位置) (文件路径以及文件名称)因为我的C盘足够大,导入到C盘也可以接受。
wsl --import Ubuntu-24.04 c:\wsl2\Ubuntu2404-V20251210 F:\Ubuntu2404-V20251210.tarNote - 还原用户
这样还原后的系统登录后会发现,系统默认用户变成了root,并不是我们之前的用户。因此需要更改回我们之前的用户。(下面只是演示操作)
step1 - 获取可用账户
查看当前用户:在Ubuntu中执行 ls /home/
ls /home/
step2 - 切换用户
切换到用户权限 :su 用户名
su me94994
step3 - 设置默认用户
执行下面的命令
nano /etc/wsl.conf并且将这个文件的内容设置为以下内容
[user]
default=用户名 
重启wsl后,备份与还原操作结束