Ubuntu的完全备份与还原

先清理一下垃圾

1
2
3
sudo apt autoclean
sudo apt autoremove
sudo apt clean

然后开始备份,原理就是给/目录打包,同时要排除/proc,/lost+found,/sys文件夹和/backup.tgz本身,如果插了u盘,要把u盘也排除掉

1
sudo tar -cvpzf backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys /

接下来是还原,还原时要先把根目录删干净, 可以插入启动u盘,删掉/dev/sda1里面的东西(一般都是sda1), 然后就可以执行还原工作了,

1
2
3
4
5
6
7
# 挂载sda1
mkdir /tmp/root
mount /dev/sda1 /tmp/root
# 删除文件
sudo rm -rf /tmp/root/*
# 还原文件
tar -xvpzf /media/xxx/backup.tgz -C /tmp/root

不要格式化,那样会导致分区的uuid变化,恢复后grub会提示找不到磁盘,解决方案后面讲。还原完成后还需要重新建立/sys,/prop,/mnt,/lost+found文件夹, 依次mkdir就行

1
2
3
4
5
sudo mkdir /tmp/root/sys
sudo mkdir /tmp/root/proc
sudo mkdir /tmp/root/mnt
sudo mkdir /tmp/root/lost+found
sudo mkdir /tmp/root/media

重启

1
sudo reboot

关于格式化了分区的同学 开机会看到提示找不到 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx,这个很长的一串就是uuid,记下这个uuid 然后用u盘启动,执行

1
2
sudo e2fsck -f /dev/sda1
sudo tune2fs /dev/sda1 -U xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

重启就好了

参考: http://blog.csdn.net/scythe666/article/details/52029407 http://www.linuxidc.com/Linux/2014-01/94973.htm http://blog.csdn.net/chrisniu1984/article/details/7245711