使用tar备份还原Ubuntu的全过程

操作系统:Ubuntu 10.04
硬件环境:跑在Windows xp下的虚拟机VMware Workstation 7.1.6

折腾原因:我一直在虚拟机下跑ubuntu,虚拟机下备份还原系统灰常简单,对于vmware只要使用快照即可备份还原了,之前也一直这样做,快照了5、6次,但是呢,手贱将这些快照文件手动删除掉了,原来一直觉得vmware的快照功能很神奇,一个快照文件才100MB..然后就能完整的恢复所有东西..现在发现不是,我的ubuntu虚拟机占用空间变得异常的大(接近80G),而实际ubuntu里面所有东西占用的空间不到其一半,所以就产生了备份系统然后还原的想法....

备份还原思路:tar备份整个系统(除去一些不必要的东西),然后再新建一个虚拟机安装同样的系统,使用同样的分区方案,安装完毕后把备份的系统复制到新的系统上,然后进入live cd    rm -rf掉除了备份文件及一些没必要删除文件之外的所有东西,然后tar恢复。

第一步备份:
在/目录下执行下面代码:

代码:
sudo tar -cvpjf /main_backup.tar.bz2 --directory=/ --exclude=opt/ti-ezsdk_dm816x-evm_5_03_01_15 --exclude=opt/DVRRDK_02.00.00.23 --exclude=opt/ti --exclude=home/tracyone/MPC_PROJ --exclude=root/DVS_PROJ --exclude=root/workspace_v5_2 --exclude=mnt --exclude=proc --exclude=lost+found --exclude=sys --exclude=media --exclude=dev --exclude=tmp --exclude=main_backup.tar.bz2 .


好吧网上某些人,只转发,不验证的,在网上找tar备份相关的东西,发现前篇一律,而且都是"--exclude=/mnt"这样的形式,我实践证明这样做之后,依然会包括mnt文件夹,正确的做法是"--exclude=mnt";由于我是还原到另外一台电脑上(另外一个虚拟机,另外虚拟硬盘),所以dev文件夹也是不能包括的。

第二步安装新的虚拟机
必须保证同样的系统同样分区,我没试过不同分区下是否可以恢复成功,我猜应该不行,两个虚拟机都是一个/加一个swap两个分区.

第三步恢复:
安装好新的虚拟机之后,进入其livecd(设置cdrom启动并且指定ubuntu系统的iso文件即可进入)
进入live cd之后,打开文件浏览器你会在左侧看到xxG文件系统,点击一下就会自动挂载到/media文件夹了

代码:
sudo -s 
cd /media/<对应的uuid号>
rm -rf root home usr lib etc.........
sudo tar -xvjpf main_backup.tar.bz2 -C /mnt


注意删除的时候,不要删除上面备份系统时排除的一些文件夹,比如说dev mnt media sys这些文件夹

恢复好之后,别急着重启,由于是不同硬盘
所以我们必须修改启动相关的配置
执行

代码:
gedit /media/<对应uuid号>/boot/grub/grub.cfg

找到里面类似这样的"22efe8c5-af5e-4744-b7e4-9901a29a679c"的字符串
这个东西是你的硬盘设备的uuid每个硬盘都不一样
然后查看你当前硬盘的uuid并将其替换到grub.cfg里面的uuid
查看方式是:

代码:
sudo blkid /dev/sdax

x是多少取决以你的boot文件所在分区是出于那个分区,我的/和/boot是同一个分区内,所以..

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/18807.html