像我这种把 debian 当做 arch 来用的人,把系统搞挂是常有的事,虽然备份和恢复的步骤不复杂,还是想记录一下。
name=`date +%Y%m%d`
tar -zcpf $name.tar.gz --exclude=/proc/* --exclude=/dev/* --exclude=/sys/* --exclude=/run/* --exclude=/tmp/* --exclude=/mnt/* --exclude=/media/* --exclude=/home/* -P /
这里的一连串 --exclude
就是不需要备份的目录。和以前不同,以前只要系统不启动,这些目录大都是空的,直接 tar 根目录就行,备份正在运行的系统的话就要排除这些目录了。
恢复的步骤是先用 livecd 挂载根目录(以 sda1 为例):
mount /dev/sda1 sda1
然后解压备份的内容:
cd sda1
tar -xf 20240206.tar.gz
然后挂载一下运行时的目录:
mount --bind /proc proc
mount --bind /dev dev
mount --bind /sys sys
然后切换到解压后的环境,更新 grub:
chroot . /bin/bash
grub-install /dev/sda # 如果恢复到新硬盘需要重新安装 grub,否则这一步不需要
update-grub
重启即可。