ubuntu全盘备份与恢复[通俗易懂]

ubuntu全盘备份与恢复

大家好,又见面了,我是全栈君。

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

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

之后就进行分区。
backup01
我这里仅仅分了三个区。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

2013-10-19 09:03:54的屏幕截图
再次查看各个分区的 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。启动后点击默认推荐方式就可以。
2013-10-19 09:10:24的屏幕截图
假设想了解这个软件详细做了哪些工作。能够在这里參看手工修复的步骤。只是因为笔者并未验证其正确性,不能保证一定可用。
提示:在修复过程中,会出现2013-10-19 09:14:33的屏幕截图
这种提示。点是或否,都会进入到
2013-10-19 09:15:32的屏幕截图
这个界面。最后还提示没我网络…..明明就有网络,这个软件都是通过apt-get来安装的,怎么可能没有网络,原因我也不知道。反正出现这个界面的时候,就能够重新启动了。

我的就这么样。反正没有问题。到这里,系统就恢复完毕了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115402.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • c++入门教程–-10函数

    c++入门教程–-10函数

    2021年3月12日
    154
  • Python之functools库

    functools库用于高阶函数,指那些作用于函数或者返回其他函数的函数functools提供方法如下:cmp_to_key将老式的比较函数转换为关键字函数,与接收keyfunction的函数

    2021年12月19日
    66
  • js中对数组进行遍历都有哪些方法_js遍历json对象

    js中对数组进行遍历都有哪些方法_js遍历json对象遍历有如下几种方式数组方法mapforEachfilterfindfindIndexeverysomereducereduceRight其他方法forforinforof数组方法map核心创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。不改变原数组返回值是一个新的数组lettestArr=[‘子项0′,’子项1′,’子项2’];letresultArr=t…

    2022年10月21日
    1
  • idea在线激活服务器(在线激活)

    idea在线激活服务器(在线激活),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月14日
    826
  • activiti动态新增任务节点_activity流程图

    activiti动态新增任务节点_activity流程图前言在上一篇,我们演示了如何基于组任务进行审批,其实从任务分类上看,属于单实例任务,即每个审批节点只有一个任务实例,为什么这么说呢?这就要说到activity的多实例任务了。activity对于单个审批节点来说,可能存在需要多个审批人的场景,即只有多个人审批完毕这个节点才算结束,通俗来说,就是我们熟悉的会签(多个人审批通过)以及或签(某个人审批通过),下面我们来演示一下这种场景的使用1、定义流程文件这里需要说明的是,节点的其他定义都类似,但是配置某个节点为多实例的时候,需要配置的地方如图中所示,即

    2022年10月8日
    2
  • 如何学习verilog,如何快速入门?

    前言害怕真的有人不知道verilog是什么东西,于是就给把百度给搬来了!VerilogHDL是一种硬件描述语言,以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。VerilogHDL和VHDL是世界上最流行的两种硬件描述语言,都是在20世纪80年代中期开发出来的。前者由GatewayDesignAutomation公司(该公司于1989年被Cadence公司收购)开发。两种HDL均为IEEE标准。之前的文章《IC前端

    2022年4月7日
    61

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号