Ubuntu系统备份恢复

第一部分: ubuntu备份

#文章连接:https://www.cnblogs.com/chenjiye/p/11332387.html
在 使用Ubuntu之前,相信很多人都有过使用Windows系统的经历。如果你备份过Windows系统,那么你一定记忆犹新:首先需要找到一个备份工 具(通常都是私有软件),然后重启电脑进入备份工具提供的软件环境,在这里备份或者恢复Windows系统。Norton Ghost是备份Windows系统时经常使用的备份工具。

在备份Windows系统的时候你可能想过,我能不能把整个C盘都放到一个ZIP文件里去呢。这在Windows下是不可能的,因为在Windows中有很多文件在它们运行时是不允许拷贝或覆盖的,因此你需要专门的备份工具对Windows系统进行特殊处理。

和 备份Windows系统不同,如果你要备份Ubuntu系统(或者其它任何Linux系统),你不再需要像Ghost这类备份工具。事实上,Ghost 这类备份工具对于Linux文件系统的支持很糟糕,例如一些Ghost版本只能完善地支持Ext2文件系统,如果你用它来备份Ext3文件系统,你可能会 丢失一些宝贵的数据。

  1. 备份系统

我该如何备份我的Ubuntu系统呢?很简单,就像你备份或压缩其它东西一样,使用TAR。和Windows不同,Linux不会限制root访问任何东西,你可以把分区上的所有东西都扔到一个TAR文件里去!

首先成为root用户:

$ su
然后进入文件系统的根目录(当然,如果你不想备份整个文件系统,你也可以进入你想要备份的目录,包括远程目录或者移动硬盘上的目录):

cd /

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

作为一个菜鸟,在接触Linux的过程中,经常会导致Linux出现各种错误,可恢复的或者是不可恢复的(至少在目前的情况下),所以,对于我而言,Linux的备份和还原就尤为的重要。

1.备份

a)可以直接通过tar对整个文件系统('/‘)进行备份,但是有几点需要注意:

i. 不能备份以下几个文件(目录)

  1. 当前压缩文件

  2. /proc文件夹

  3. /lost+found文件夹

  4. /mnt文件夹i.

  5. /sys文件夹

  6. /media文件夹

b)所以,命令为:

tar cvpzf backup.tar.gz --exclude=/proc --exclude=/lost+found --exclude=/backup.tar.gz --exclude=/mnt --exclude=/sys --exclude=/media /
1.注意:p选项代表保存当前权限

2.还原

a) Linux可以再正在远行的系统中还原系统,如果当前启动无法启动,可以通过live cd来启动并执行恢复操作

b) 操作如下

tar xcpfz backup.tar.gz -C /
c) 需要额外创建目录

  1. mkdir proc

  2. mkdir lost+found

  3. mkdir mnt

  4. mkdir sys

让我们来简单看一下这个命令:

“tar”当然就是我们备份系统所使用的程序了。

“cvpfz”是tar的选项,意思是“创建档案文件”、“保持权限”(保留所有东西原来的权限)、“使用gzip来减小文件尺寸”。

“backup.gz”是我们将要得到的档案文件的文件名。

“/”是我们要备份的目录,在这里是整个文件系统。

在 档案文件名“backup.gz”和要备份的目录名“/”之间给出了备份时必须排除在外的目录。有些目录是无用的,例如“/proc”、“/lost+ found”、“/sys”。当然,“backup.gz”这个档案文件本身必须排除在外,否则你可能会得到一些超出常理的结果。如果不把“/mnt”排 除在外,那么挂载在“/mnt”上的其它分区也会被备份。另外需要确认一下“/media”上没有挂载任何东西(例如光盘、移动硬盘),如果有挂载东西, 必须把“/media”也排除在外。

有人可能会建议你把“/dev”目录排除在外,但是我认为这样做很不妥,具体原因这里就不讨论了。

执行备份命令之前请再确认一下你所键入的命令是不是你想要的。执行备份命令可能需要一段不短的时间。

备份完成后,在文件系统的根目录将生成一个名为“backup.tgz”的文件,它的尺寸有可能非常大。现在你可以把它烧录到DVD上或者放到你认为安全的地方去。

在备份命令结束时你可能会看到这样一个提示:’tar: Error exit delayed from previous errors’或者tar: 由于前次错误,将以上次的错误状态退出,多数情况下你可以忽略它。

你还可以用Bzip2来压缩文件,Bzip2比gzip的压缩率高,但是速度慢一些。如果压缩率对你来说很重要,那么你应该使用Bzip2,用“j”代替命令中的“z”,并且给档案文件一个正确的扩展名“bz2”。完整的命令如下:

tar cvpjf backup.tar.bz2 –exclude=/proc –exclude=/lost+found –exclude=/backup.tar.bz2 –exclude=/mnt –exclude=/sys /

#第二部分 原来版本: 恢复系统

在进行恢复系统的操作时一定要小心!如果你不清楚自己在做什么,那么你有可能把重要的数据弄丢,请务必小心!

接着上面的例子。切换到root用户,并把文件“backup.tgz”拷贝到分区的根目录下。

在 Linux中有一件很美妙的事情,就是你可以在一个运行的系统中恢复系统,而不需要用boot-cd来专门引导。当然,如果你的系统已经挂掉不能启动了, 你可以用Live CD来启动,效果是一样的。你还可以用一个命令把Linux系统中的所有文件干掉,当然在这里我不打算给出这个命令!

使用下面的命令来恢复系统:

tar xvpfz backup.tgz -C /

如果你的档案文件是使用Bzip2压缩的,应该用:

tar xvpfj backup.tar.bz2 -C /

注意:上面的命令会用档案文件中的文件覆盖分区上的所有文件。

执行恢复命令之前请再确认一下你所键入的命令是不是你想要的,执行恢复命令可能需要一段不短的时间。

恢复命令结束时,你的工作还没完成,别忘了重新创建那些在备份时被排除在外的目录:

mkdir proc

mkdir lost+found

mkdir mnt

mkdir sys

等等

当你重启电脑,你会发现一切东西恢复到你创建备份时的样子了!

第二部分:扩展版本 :回复系统

#原文链接:https://blog.csdn.net/qq_26954059/article/details/107132021
2.迁移或者还原系统
还原系统跟原来系统一模一样,不是有些教程写的那么简单的,因为很多人就是要手动分区的,分出好多区,我这是在有个ubuntu启动盘情况下的,因为可能你直接ubuntu下解压覆盖,会导致无法启动还是需要在启动盘下修复grub,我的全部都在try ubuntu下完成:

(1)首先使用电脑用启动盘,进入try ubuntu

(2)首先换下源,可能要使用boot-repair,你也可以先不做,后面出现grub问题再说

(3)打开命令行:sudo su 获得root权限

(4)输入命令:fdisk -l 查看所有linux磁盘设备号,尤其有分区/ /boot /home三个一定记住

(5)cd / && mkdir backup

(6)挂载/,mount /dev/sdaX backup/ (注意:/的设备号根据自己修改,其实你如果home分区的,你去ls /home是空的,没有挂载上去,你现在不要挂载,之后才要挂载,感觉我的方法有点笨,不喜勿喷)

(7)然后一定要复制一份/etc/fstab ,这是一份你新安装的ubuntu磁盘对应编号,复制到U盘,这样方便,你也可以使用blkid /dev/sdaX 命令一个个修改,这边就不赘述了!!

blkid /dev/sda4
/dev/sda4: UUID=“1f7d11db-6e38-4854-969b-db82eb614d86” TYPE=“ext4” PARTUUID=“da38cdec-04”
(8)进入正题:rm -rf backup/*;接下来解压备份:tar -xvpzf 备份 -C /backup,就是漫长等待,等得饿了就去吃饭

(9)解压完成后,进入先新建未打包目录

sudo mkdir proc lost+found mnt sys media
(9)然后挂载/home的分区设备并格式化

mount /dev/sdaY backup/mnt/ && rm -rf /mnt/*;

再将backup/home mv到/mnt/

(10)结束挂载/home,同样的方法弄好其他分区数据(我没弄swap),再弄/boot,/boot卸载后直接挂载backup/boot/

(11)先把放在u盘中的fstab覆盖backup/etc/

(12)最重要的命令:grub-install --root-directory=/backup/boot /dev/sda(基本上不会有错的,要是错了,饿。。。。还是吃饭去吧)显示“Installation finished.No Error Reported.”就ok了

(13)然后更新sudo update-grub2,可惜我出错了,“ /usr/sbin/grub-probe: Error:failed to get canonical path of /cow ”

(14)没出错的重启应该就好了,出错的接着来吧,开心不,不开心的吃饭去,安装boot-repair grub修复工具

sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update

sudo apt-get install -y boot-repair
(15)命令行使用boot-repair,点击第一个跟着提示走就好了

(16)最后重启reboot

  • 2
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值