码迷,mamicode.com
首页 > 系统相关 > 详细

ubuntu全盘备份与恢复

时间:2015-07-10 15:22:51      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:ubuntu   备份   linux   

备份:
下面是我用来备份系统的完整命令:

tar -jpcvf Ubuntu-12.04-20131018.tar.bz2 --exclude=/proc --exclude=/lost+found --exclude=/Ubuntu-12.04-20131018.tar.bz2 --exclude=/mnt --exclude=/sys --exclude=/home /

让我们来简单看一下这个命令:
“tar”当然就是我们备份系统所使用的程序了。
“jpcvf”是tar的选项,意思是“创建档案文件”、“保持权限”(保留所有东西原来的权限)、bzip2 格式打包,这是一种压缩耗时但是压缩比很高的格式,经常用于压缩大数据。
“Ubuntu-12.04-20131018.tar.bz2”是我们将要得到的档案文件的文件名。
“/”是我们要备份的目录,在这里是整个文件系统。

–exclude 后接不需要打包的目录。有些目录是无用的,例如“/proc”、“/lost+ found”、“/sys”。当然,“Ubuntu-12.04-20131018.tar.bz2”这个档案文件本身必须排除在外,否则你可能会得到一些超出常理的结果。如果不把“/mnt”排 除在外,那么挂载在“/mnt”上的其它分区也会被备份。另外需要确认一下“/media”上没有挂载任何东西(例如光盘、移动硬盘),如果有挂载东西, 必须把“/media”也排除在外。有人也会问,为什么我把/home也排除了。这个文件夹,主要是放自定义用户的一些信息。我电脑,只有一个root用户,/home文件下,什么东西都没有。具体要排除什么,因各人而定。
打包过程比较漫长,我的系统,刚好个5G,打包好了的包2.4G,用了半个小时。打包完成时,有一个提示错误,不用管。

全盘恢复
恢复系统的步骤会比备份繁琐许多,以下是主要步骤,我会尽量解释每个步骤的含义。
通过Ubuntu的启动U盘或者光盘重启电脑,进入试用Ubuntu的模式。
在试用模式的Ubuntu中开启终端,运行命令(ctrl+alt+t)

sudo su -

切换至 root 权限

gparted

打开Linux下的分区软件gparted,如果提示需要安装,则运行

sudo apt-get install gparted

之后就进行分区。
技术分享
我这里只分了三个区,sda1,sda2,sda3以后,分别用于swap分区,/分区 /home分区
解压备份压缩包

mkdir /tmp/root  
mkdir /tmp/root2 
mount /dev/sda2 /tmp/root 
mount /dev/sda3 /tmp/root2 
cd /tmp/root2/
tar -jpxvf Ubuntu-12.04-20131018.tar.bz2 -C /tmp/root 

使用U盘启动到live Ubuntu模式幷不会实际上挂载你的物理分区,所以这里需要使用mount命令手动挂载你刚才格式化以后的 / 分区并且将压缩包解压导入。新建两个目录/tmp/root /tmp/root2,将分区/dev/sda2 /dev/sda3分别挂载到这两个目录。确保sda2是系统恢复以后挂载 / 目录的分区,sda3是原来/home目录挂载的分区,其中有我们需要的备份压缩包存在。(我是通过移动硬盘复制到这里的)挂载完毕以后,/tmp/root 对应了 sda2 分区,也就是恢复以后的/分区,/tmp/root2 对应了 sda2 分区,恢复以后的/home分区。进入 /tmp/root2/ 就是我们原先的备份存储的位置。运行 sudo tar -jpxvf Ubuntu-12.04-20131018.tar.bz2 -C /tmp/root 做解压操作,jpxvf 中的 x 指解压,-C /tmp/root 则指定了需要解压的目标目录,这里实际上就是 sda1 分区所在的根目录。完成这个操作以后,所有的数据就已经被还原到 sda1 分区
恢复分区的 GRUB/MBR 信息
经过格式化,分区等等步骤以后,即便你是在现有硬盘上恢复自己的系统,分区的 uuid 都可能已经被改变,因此当初备份在压缩备份包里的启动引导信息诸如:GRUB/MBR都已经不再和目前实际的信息相匹配,我们因此要做修复工作。

ls -al /dev/disk/by-uuid

技术分享
再次查看各个分区的 uuid 信息,确保这些 uuid 和 /tmp/root/etc/fstab 中使用的 uuid 一致
如果没有正确的 uuid 以及分区目录挂载匹配,系统就无法正确启动
重建系统目录
这些目录就是我们当初做备份时加在 –exclude 参数后面的目录

mkdir /tmp/root/proc /tmp/root/lost+found /tmp/root/mnt /tmp/root/sys /tmp/root/home

最后一步,修复引导程序 live ubuntu 模式下运行:

add-apt-repository ppa:yannubuntu/boot-repair 
apt-get update 
apt-get install-y boot-repair 
boot-repair

下载运行启动修复软件 boot-repair,启动后点击默认推荐方式即可。
技术分享
如果想了解这个软件具体做了哪些工作,可以在这里参看手工修复的步骤。不过由于笔者并未验证其正确性,不能保证一定可用。
提示:在修复过程中,会出现技术分享
这样的提示,点是或否,都会进入到
技术分享
这个界面。最后还提示没我网络…..明明就有网络,这个软件都是通过apt-get来安装的,怎么可能没有网络,原因我也不知道。反正出现这个界面的时候,就可以重启了。我的就这么样,反正没有问题。到这里,系统就恢复完成了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

ubuntu全盘备份与恢复

标签:ubuntu   备份   linux   

原文地址:http://blog.csdn.net/djd1234567/article/details/46829567

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!