救援思路
大致的操作步骤:
- 准备对应版本的Try Ubuntu启动盘以及在另一个U盘准备好需要传入的usr.tar.gz(相同发行版的/usr打包文件)
- 通过bios设置U盘启动,进入Try Ubuntu系统
- 将待恢复的系统根目录与存放
usr.tar.gz
文件的u盘都挂载到Try Ubuntu - 通过Try Ubuntu系统提供的临时环境(包含了基本的linux操作,如cp、mount等),将
usr.tar.gz
拷贝到待恢复系统的根目录,并解压复原出/usr目录 - 重新启动系统,进入之前待恢复的系统。这里有个问题是系统根目录下的文件与导入的/usr中的内容可能不再匹配,考虑重装dpkg中记录的所有程序(
sudo apt-get install --reinstall $(dpkg --get-selections | grep -v deinstall | awk '{print $1}')
),然后再重启系统
实施步骤
待救援系统以ubuntu-20.04.6-live-server-amd64.iso
发行版为例。
准备系统启动盘与存放usr.tar.gz
的存储盘
参考:http://t.csdnimg.cn/yGiJg
使用Rufus工具制作启动盘
由于我们需要使用Try Ubuntu
系统,所以需要选择对应发行版的desktop桌面版,服务器版的没有内置Try Ubuntu
。
准备usr.tar.gz
存储盘
可以考虑在虚拟机中安装ubuntu-20.04.6-live-server-amd64.iso
发行版,装一些基础软件(如ssh
)后再将其/usr
目录打包为usr.tar.gz
。
# 在root用户或sudo权限下执行打包压缩命令
sudo tar -zcvf ~/usr.tar.gz /usr
存储盘同样也可以选择U盘,接入虚拟机后直接将准备好的usr.tar.gz
拷贝到U盘中。
至此恢复前的准备工作就做完了。
补充说明:应该是有方法将usr.tar.gz
和桌面版镜像一