首先准备一个Live CD,就是Ubuntu的安装盘。

  备份原理就是将系统文件压缩打包。由于Linux系统所有都是文件,故,只需要将系统打包即可。当然,必须除了当前系统运行中的文件以及临时文件。

  打包有两种方式:a)直接需要打包的Linux系统下压缩打包(亲测,发现在打包最后会报错,不知会不会有问题),反正我是没有成功。b).使用Live USB

  接下来就是步骤了

  1、使用U盘启动,进入Live USB界面,点击试用。

  2、进入试用Ubuntu后,先获取root权限。

     sudo su

  在根目录下新建一个文件夹backup,用来挂载系统硬盘(/dev/sdb2,这是我的"/"主分区,应该也是系统所在的地方吧)。

     mount dev/sdb2 /backup/

  注意:sda1,sdb1按照fdisk -l查看的的实际情况替换。

  进入backup文件夹下查看是否挂载成功。如果挂载成功,文件夹下应该是要备份的Linux系统文件。

  压缩格式有很多,如果你的硬盘够大,建议使用低压缩格式,这样速度会很快。

  进入到backup备份系统目录下:

     tar cvpzf /backup/mnt/backup.tgz --exclude=./proc --exclude=./lost+found --exclude=./mnt --exclude=./sys --exclude=media ./

tar 是用来备份的程序
c - 新建一个备份文档
v - 详细模式, tar程序将在屏幕上实时输出所有信息。
p - 保存权限,并应用到所有文件。
z - 采用‘gzip’压缩备份文件,以减小备份文件体积。
f - 说明备份文件存放的路径

  解释:--exclude ,是排除压缩的文件。就是将不需要的文件排除。

  等待压缩完成。

  如果不是在本机上的话,要备份原始系统的配置文件,以及新安装系统的启动文件。

进入backup原始系统下,备份系统配置文件fstab fstab.d

cd /backup/etc/

cp -pdr fstab fstab.d /restore/backsrc/

进入restore/还原目录下,备份系统启动文件grub.cfg.主要是用来获取新硬盘的UUID号,替换备份系统的内的UUID,不然在新硬盘上系统无法启动!

cd /restrore/boot/

cp -pdr grub.cfg /restore/backsrc/

G.解压缩,还原系统到新硬盘下.

tar -xvpzf /restore/backsrc/backup.tgz -C /restore/

H.替换刚刚备份的系统配置文件,以及修改启动文件中的UUID:

替换:

cp -fdr /restore/backsrc/fstab fstab.d /restore/etc/

修改:

打开/restore/backsrc/grup.cfg

复制里面的UUID

打开/restore/boot/grup.cfg,将里面的UUID全部替换。

现在一切还原完成。关闭电脑,拔掉U盘,拔掉旧的备份硬盘。重启电脑!

完毕!!!

  我们继续,进入backup原始系统下,备份系统配置文件fstab fstab.d

    cd /backup/etc/

    cp -pdr fstab fstab.d /backup/mnt/

  我的电脑上没有fstab.d,但最后也成功了

  解压缩,还原系统到新硬盘下.

   注意!!!因为 tar还原是只会覆盖相同的文件,但是这种方法只是恢复备份时的文件,就是说如果某些文件丢失或损坏了,这样可以恢复修复这些文件,但不能删除自备份到恢复前这期间所生成的其它文件,说白了就是假如你备份系统时有1234这四个文件,如果三天后,由于某些原因变成了1234'5(4改变了),你恢复后,就会变成12345,其中4'恢复成备份时的文件,5保留。所以大家要是想彻底还原成备份时候的样子最好彻底删除根目录下的所有文件,然后在还原,这样就可以还原成备份时的样子了。

  Linux 中美妙的事情之一就是在系统正在运行的情况下可以进行还原操作,而不需要启动光盘或者其他任何乱七八糟的东西。当然,如果您的系统已经崩溃,那您必须选择 使用live CD,但是结果还是一样。

    tar -xvpzf /backup/mnt/backup.tgz -C /backup/

******************************************************************

好了,言归正传。这是我要用的命令,如果你的备份不是在和我一样的位置的位置的话,那请相应地修改/mnt/backup.tgz这一点:

tar -xvpzf /mnt/backup.tgz -C /

如果您使用的是bz2压缩的:

tar -xvpjf /mnt/backup.tar.bz2 -C /

如果系统已经崩溃可以使用Live usb登录,然后

mkdir /tmp/root
mount /dev/sdb2 /tmp/root

tar -xvpjf /tmp/root/mnt/backup.tar.bz2 -C /tmp/root

当然,恢复前可以先rm -rf /tmp/root/* 一下,这样就干干净净了。(就是之前说的删除根目录下的所有文件)

这个只是在本机上还原,如果是还原到别的机子上记得修改fstab文件。(可能还需要安装grub)

恢复命令结束时,你的工作还没完成,别忘了重新创建那些在备份时被排除在外的目录:
# mkdir proc
# mkdir lost+found
# mkdir mnt
# mkdir sys
# mkdir media
等等

********************************************************

  现在一切还原完成。关闭电脑,拔掉U盘,重启电脑!

Ubuntu16.04系统重装***的更多相关文章

  1. Python3.6+nginx+uwsgi部署Django程序到阿里云Ubuntu16.04系统

    Python3.6+nginx+uwsgi部署Django程序到阿里云Ubuntu16.04系统 这个是写好的Django程序在本地机运行的情况,一个查询接口. 准备工作 1.首先购买一台阿里云的EC ...

  2. Ubuntu16.04系统美化、常用软件安装等,长期更新

    Ubuntu16.04系统美化.常用软件安装等,长期更新 IT之家啊 18-09-0915:00 因为我个人偏向于玩VPS.服务器之类的东西,所以一般我都是用CentOS.不过对于桌面版的Linux, ...

  3. ubuntu16.04系统精简

    ubuntu16.04系统精简 一.更新系统 apt-get update apt-get dist-upgrade 二.查看所有内核 sudo dpkg --get-selections |grep ...

  4. Ubuntu16.04系统中不同版本Python之间的转换

    Ubuntu系统自带的版本是2.7.12 安装好python3.6之后,改变一下Python的优先级(需要root权限). 在使用下面这个命令查看电脑里面有几个Python版本 update-alte ...

  5. 虚拟机桥接模式下多台Ubuntu16.04系统互相连接

    1.首先新建一个虚拟机并在该虚拟机上安装Ubuntu16.04系统.为这台虚拟机起名为Ubuntu3. 2.对Ubuntu3进行克隆,为新克隆生成的虚拟机起名为Ubuntu2.(这时我们会发现Ubun ...

  6. ubuntu16.04系统深度学习开发环境、常用软件环境(如vscode、wine QQ、 360wifi驱动(第三代暂无))搭建相关资料

    事后补充比较全面的(找对资料真的省一半功夫):https://www.jianshu.com/p/5b708817f5d8?from=groupmessage Ubuntu16.04 + 1080Ti ...

  7. Ubuntu16.04系统Python3相关环境或模块安装

    前提:一般用户安装都命令前都需要sudo ,或者在root用户下 1.Ubuntu 16.04 安装PyCharm Ubuntu 16.04 安装PyCharm 本文通过第三方源安装PyCharm,好 ...

  8. Ubuntu16.04系统下 解决“无法获得锁 /var/lib/dpkg/lock -open (11:资源暂时不可用)、无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?”的方法

    在Ubuntu16.04下安装软件,例如:sudo apt-get install lrzsz时提示: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用) 无法 ...

  9. ubuntu16.04系统彻底卸载mysql,并源码免编译重装MySQL的步骤

    今天的总结 ubuntu上彻底卸载MySQL或重新安装 https://www.jianshu.com/p/974b33873bca #查看是否存在mysql服务 service mysql stat ...

随机推荐

  1. Python学习笔记第八周

    目录: 一.基础概念 1.动态导入模块 2.断言机制 3.SocketServer 二.作业 FTP服务器 三.单独注明 1.类中装饰器 2.进度条 一.基础概念 1.动态导入模块 有时在编程过程中, ...

  2. Python学习笔记第四周

    目录 一.基础概念 1.装饰器 1.装饰器本质就是函数 2.实现装饰器知识储备 1.函数即变量 2.高阶函数 3.嵌套函数 例子 1.将一个函数名作为实参传递给另外一个函数 2.返回值为函数名 3.函 ...

  3. 【leetcode】35-Search Insert Position

    problem Search Insert Position 一种容易想到的是暴力破解法,一种是常用的二分法. 暴力破解法1(不推荐) class Solution { public: int sea ...

  4. [LeetCode&Python] Problem 599. Minimum Index Sum of Two Lists

    Suppose Andy and Doris want to choose a restaurant for dinner, and they both have a list of favorite ...

  5. vue查缺补漏题

    一.对于MVVM的理解? MVVM 是 Model-View-ViewModel 的缩写.Model代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑.View 代表UI 组件,它负责将数 ...

  6. 2017.5.11 Yarn

    Yarn在hadoop中的位置 Yarn的优点 YARN把JobTracker分为ResouceManager和ApplicationMaster,ResouceManager专管整个集群的资源管理和 ...

  7. L2-008 最长对称子串 (25 分)

    对给定的字符串,本题要求你输出最长对称子串的长度.例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11. 输入格式: 输入在一 ...

  8. YIT-CTF—社工类

    下载图片

  9. LeetCode - Trim a Binary Search Tree

    Given a binary search tree and the lowest and highest boundaries as L and R, trim the tree so that a ...

  10. js判断是否是闰年

    JavaScript判断值是否是闰年: 判断是否闰年公式:(year%4==0 && year%100 !=0) ||(year%400 ==0) var year = prompt( ...