Ubuntu的完全备份与还原

先清理一下垃圾

sudo apt autoclean  
sudo apt autoremove  
sudo apt clean  

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

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

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

# 挂载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就行

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  

重启

sudo reboot  

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

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