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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python zipfile_Python 学习入门(16)—— zipfile

    python zipfile_Python 学习入门(16)—— zipfilezipfile是python里用来做zip格式编码的压缩和解压缩的,由于是很常见的zip格式,所以这个模块使用频率也是比较高。zipfile里有两个非常重要的class,分别是ZipFile和ZipInfo,在绝大多数的情况下,只需要使用这两个class就可以。1)ZipFile是主要的类,用来创建和读取zip文件;2)ZipInfo是存储的zip文件的每个文件的信息的。1)简单应用如果你仅…

    2025年12月14日
    3
  • C++中定义一个函数为bool类型的作用「建议收藏」

    C++中定义一个函数为bool类型的作用「建议收藏」1.bool型函数bool型函数(即返回值为bool类型的函数)的作用——获取函数返回值boolgetvalue(boolb){if(b==true)returntrue;elsereturnfalse;}intmain(){//在main()中调用函数就可以得到5261函数的返回结果4102cout<<boolalpha<<getValue(true);return0;

    2022年6月8日
    49
  • 什么是泛型?为什么要用泛型?什么是泛型擦除?泛型擦除的过程?

    什么是泛型?为什么要用泛型?什么是泛型擦除?泛型擦除的过程?泛型:本质是参数化类型。为什么要使用?创建集合的时候,往集合里面添加数据,再次取出时,集合会忘记这数据类型,该对象的编译类型就会变成Object类型,否则如果想要变回原来的数据类型的时候,就要强制进行转换。创建集合的时候,我们就指定集合类型,避免这个过程。泛型擦除?Java的泛型处理过程都是在编译器中进行的,编译器首先会生成bytecode码,这个过程是不包括泛型类型,泛型类型在编译的时候是

    2022年6月18日
    35
  • iostat 命令详解「建议收藏」

    iostat 命令详解「建议收藏」概述iostat主要用于输出磁盘IO和CPU的统计信息。iostat属于sysstat软件包。可以用yuminstallsysstat直接安装。iostat用法用法:iostat[选项][<时间间隔>][<次数>]如下图:iostat用法命令参数:-c:显示CPU使用情况-d:显示磁盘使用情况-N:显示磁盘阵列(LVM)信息-n:显示NFS使用情况-k:以KB为单位显示-m:以M为单位显示-t.

    2022年10月6日
    6
  • Nginx(三):负载均衡策略 与 Nginx静态服务器

    Nginx(三):负载均衡策略 与 Nginx静态服务器

    2021年10月5日
    28
  • 解决lefse配置过程中遇到的问题「建议收藏」

    解决lefse配置过程中遇到的问题「建议收藏」记录centos7.5中配置lefse过程中遇到的问题1、下载lefse软件包,解压,查看“requirements.txt”文件,需要的R和python包列表:-R-Rlibraries:splines,stats4,survival,mvtnorm,modeltools,coin,MASS-pythonlibraries:rpy2(v.2.1orh…

    2022年5月13日
    45

发表回复

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

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