Ubuntu系统从安装到备份及还原教程大全(一定要仔细按照步骤进行!!适合新手)


前言:网上的教程很多都不够详细,对初学者而言配置环境不易,因此系统的备份与还原真心很重要!!这几天折腾了很多方案,用tar备份还原的优点是没有什么限制,就是耗时久一点点,它可以完全帮你还原一个一模一样的备份节点,但是备份还原过程比较艰辛,一定要谨慎跟着教程走,才有可能保证你一次性成功,否则那就多撸几次,就当熟悉一下ubuntu系统结构吧!!!

·····················································

本文所使用资源(待补充,适用任何Ubuntu系统)

·····················································

1、ubuntu系统安装教程

参考链接:https://jingyan.baidu.com/article/3c48dd348bc005e10be358eb.html

 可能会遇到的问题及注意事项(安装前一定要看!!!):

1.1、Ubuntu16.04.4LTS的系统启动盘制作

      (需要注意写入硬盘映像之前)

  1、格式化

  2、写入方式:USB-ZIP+  便捷启动:写入新的硬盘主引导记录(MBR)USB-ZIP+

      (或写入方式:USB-HDD+便捷启动:写入新的硬盘主引导记录(MBR)-USB-HDD+)

1.2、关于分区大小设置问题

一般建议创建4个基础分区,包括主分区(/),home分区(/home),交换空间(swap),以及boot分区(boot)

以固态硬盘120GB空间为例:

主分区(/)建议至少分40GB,因为很多程序需要安装在这里,例如一个matlab就10GB+了(当然你也选择安装在其他盘),不过,切记主分区一定要越大越好,否则空间不够那就很麻烦了!!!后期实在不够可以考虑文件夹映射(参考链接:https://forum.ubuntu.com.cn/viewtopic.php?f=86&t=80493

交换空间(swap)建议2GB。一般类似于“虚拟内存”,具体解释是:“当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。”(参考链接:https://www.jb51.net/article/133492.htm

boot分区(boot)存放启动引导文件,一般建议给1GB ~ 2GB吧(硬盘充裕情况下,不充裕的话给200MB也足够了),但有时候因为内核升级又没有删掉原有的启动文件可能会超过512MB。所以现在有种说法就是不要再独立分‘boot'了,如果是Ubuntu默认安装模式,只有两个分区,即主分区(/)和home分区(/home)。

home分区(/home)建议剩余的空间都给home,至少40GB以上吧,这个分区是你数据、代码、媒体文件等存放的,就好比win下除了C盘之外的其他盘,当然有条件我建议自己再外挂一个1TB的机械硬盘,然后映射到/home目录下用于存放大型数据,这才是根本解决办法。(参考链接:https://blog.csdn.net/stoic163/article/details/79401739

1.3、安装完成重启后黑屏,左上角光标闪烁

  这是因为安装过程中启动引导失败的原因,需要重新挂载一下安装了启动引导文件的硬盘到‘/mnt’即可,具体做法如下:

  1.3.1、同样通过U盘启动,这次选择‘Try Ubuntu’,进入界面后启动终端 ‘Ctrl + Alt + T’

  1.3.2、进入root,首先要给root设置密码

sudo passwd root
#连续输入两次密码(例如)
123456
123456

      

#进入root
su

#按提示输入刚才的密码
123456

#定位到根目录下
cd /

  1.3.3、手动挂在启动引导文件所在硬盘

fdisk -l     //找到你的Ubuntu安装分区(boot),以下假设为/dev/sda3
 
sudo mount /dev/sda3 /mnt
 
sudo grub-install --boot-directory=/mnt/ dev/sda      //注意dev前面有空格,如果是sda3就填sda,如果是sdb3就填sdb

   1.3.4、重启系统,从安装了boot的硬盘启动

reboot

1. 4、电脑启动进入grub rescue mode的解决方案

(请遵循链接的 方案二 和 附加情况 解决)

https://blog.csdn.net/u010896929/article/details/52958637

2、ubuntu系统备份教程

参考链接:https://blog.csdn.net/stack_moon/article/details/80931544

 

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

打包有两种方式:a),直接需要打包的Linux系统下压缩打包(亲测,发现在打包最后会报错,不知会不会有问题)。b). 使用Live USB,其实就是刚刚用U盘做的系统镜像。

这里推荐方式b:

 2.1.在要备份的系统的电脑上,新插入刚刚安装了Ubuntu系统的硬盘,用来存储备份压缩包以及还原。

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

 2.3.进入试用Ubuntu后,先获取root权限。(参照1中问题3详细步骤)

    sudo passwd

    su root

2.4.挂载需要备份的系统硬盘.可以使用 fdisk -l (在root权限下)查看硬盘号,确认那些是需要备份的系统硬盘符,哪个是备份目标硬盘。

这里我们以4个基础分区的备份为例,即 主分区(/),home分区(/home),交换空间(swap),以及boot分区(boot);

一般主分区(/)备份频率较高;home分区(/home)以及boot分区(boot)备份频率低;而交换空间(swap)不用备份。

  2.4.1 在根目录下新建上述待备份分区的挂载点文件夹,例如:root_backup、home_backup、boot_backup; 以及存储备份文件的目标硬盘挂载点文件夹: restore 。

mkdir root_backup home_backup boot_backup restore

     

  2.4.2  把相应的硬盘(盘符, 用 fdisk -l 查看)挂在到上述文件夹上

mount dev/sda7 /root_backup/ 
mount dev/sda8 /home_backup/
mount dev/sda6 /boot_backup/
mount dev/sdb5    /restore/ 

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

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


   2.4.3 开始压缩系统文件。

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

  压缩备份命令(路劲按照自己的实际情况替换,如果你是按照我的步骤做的,直接替换即可):

  进入到 ***_backup 备份系统目录下进行压缩:

#备份主分区(/)
#首先进入 root_backup 文件夹
cd /root_backup/
#然后打包压缩(压缩为root_backup.tgz)
tar cvpzf /restore/root_backup.tgz --exclude=./proc --exclude=./lost+found --exclude=./mnt --exclude=./sys --exclude=media ./

#备份home分区(/home)
cd /home_backup/
tar cvpzf /restore/home_backup.tgz  ./

#备份boot分区(/boot)
cd /boot_backup/
tar cvpzf /restore/boot_backup.tgz  ./

  解释:

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

  等待压缩完成。

  2.4.4 重点!!!备份原始系统的配置文件,以及新安装系统的启动文件。

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

  cd /root_backup/etc/

  cp -pdr fstab fstab.d /restore/  #可能没有 fstab.d

3、ubuntu系统还原或迁移(到另外一台电脑)教程

  3.1 Ubuntu系统的还原(在原来的系统硬盘上恢复备份)

   假如你在因为误操作,导致系统崩溃了,请用当前方案!

   同样建议进入,使用U盘启动,进入Live USB界面,点击试用下进行操作!

           当然下面是进行整个系统的恢复,如果你清楚自己系统是主分区(/)崩了,那可以只进行主分区恢复,其他也一样。

#这种方案仅适合原系统蹦了,但是硬盘没变的情况下使

#设置root权限密码
sudo passwd
123456
123456

#进入root su 123456

#定位到根目录下
cd /
#新建待恢复文件夹挂载点(主分区 -> root_recovery、boot分区 -> boot_recovery、 home分区 -> home_recovery)、备份资料所在硬盘挂载点 -> store
mkdir root_recovery boot_recovery home_recovery store

#分别挂载相应的盘符(根据fdisk -l查看的的实际情况替换,详细请参考前面教程 2.4.1~2.4.2
mount dev/sda7 /root_recovery/
mount dev/sda8 /home_recovery/
mount dev/sda6 /boot_recovery/
mount dev/sdb5         /store/

#分别解压恢复
#恢复主分区
tar -xvpzf /store/root_backup.tgz -C /root_recovery/
#如果你想彻底一点,建议首先把原来主分区(/)下面的文件全部删除在做恢复,这就注意新建一下文件夹,因为备份时候忽略了,但新系统下必须有:
mkdir proc tmp lost+found media mnt run

#恢复 home分区
tar -xvpzf /store/home_backup.tgz -C /home_recovery/


#恢复 boot分区
tar -xvpzf /store/boot_backup.tgz -C /boot_recovery/

#然后重启搞定
reboot

  3.2 Ubuntu系统的迁移(在另一台新计算机硬盘上恢复上面备份) 

 #适合把备份系统迁移到新硬盘上

首先按照教程1中链接把系统在新硬盘上安装完整

然后老套路了,使用U盘启动,进入Live USB界面,点击试用!

#设置root权限密码
sudo passwd 
123456
123456

#进入root
su
123456

#定位到根目录下
cd /
#设置备份资料所在硬盘挂载点 -> store 
mkdir store

#挂载相应的盘符(根据fdisk -l查看的的实际情况替换,详细请参考前面教程 2.4.1~2.4.2)
mount dev/sdb5         /store/

#然后就不能采用3.1中的方法给新硬盘设置挂载点了,因为设置了挂载点后,boot分区就变成了当前试用Ubuntu下面的一个挂载路径,完成回复后重启时不能顺利进入系统!!
#因此下面的恢复工作需要直接使用新硬盘的盘符 UUID 号
#查看新硬盘各分区的 UUID 号
sudo blkid
#主分区
/dev/sda1: UUID="04df69c9-2b43-4df9-bd9e-31abf767f654" TYPE="ext4" PARTUUID="e07a80e4-01"

# boot分区
/dev/sda5: UUID="6bc18e92-8bfd-48b7-9ced-b438be714e3f" TYPE="ext4" PTTYPE="dos" PARTUUID="e07a80e4-05"

# home分区
/dev/sda6: UUID="017cdfea-eb23-41e0-845e-6e7bfad7aa72" TYPE="ext4" PARTUUID="e07a80e4-06"

# 其他数据盘
/dev/sdb2: LABEL="M-gM-3M-;M-gM-;M-^_" UUID="0003329A000E85C8" TYPE="ntfs" PARTUUID="ad41c497-02"

#系统备份盘
/dev/sdb5: UUID="de8163c3-cc1c-48b9-833d-de4c5cd72431" TYPE="ext4" PARTUUID="ad41c497-05"
我们要重点记住的是 主分区(/),home分区(/home)以及boot分区(boot)的 UUID

#然后重点来了!!千万别打瞌睡跳过了
由于是新硬盘,所有分区的UUID已经改变了,就不能像3.1那样直接解压恢复,在恢复之前首先需要对新硬盘下的某些文件进行备份,后面要替换UUID!
# 在store中新建文件夹 new_recovery 用于存放新硬盘中复制过来的文件
cd /store
mkdir new_reovery

# 进入新硬盘的boot分区,备份系统启动文件grub.cfg.主要是用来获取新硬盘的UUID号,替换备份系统的内的UUID,不然在新硬盘上系统无法启动!
cd /media/ubuntu/6bc18e92-8bfd-48b7-9ced-b438be714e3f/grub/
cp -pdr grub.cfg /store/new_recovery/

#进入新硬盘主分区(/),备份系统配置文件 fstab fstab.d(可能没有)
cp -pdr
/media/ubuntu//04df69c9-2b43-4df9-bd9e-31abf767f654/etc/fstab /store/new_recovery/
#开始解压恢复

#返回根目录
cd /
#恢复主分区
tar -xvpzf /store/root_backup.tgz -C /media/ubuntu/04df69c9-2b43-4df9-bd9e-31abf767f654/
#恢复 home分区
tar -xvpzf /store/home_backup.tgz -C /media/ubuntu/6bc18e92-8bfd-48b7-9ced-b438be714e3f/
#恢复 boot分区
tar -xvpzf /store/boot_backup.tgz -C /media/ubuntu/6bc18e92-8bfd-48b7-9ced-b438be714e3f/
#修改UUID
#首先针对 fstab 根据你新硬盘分区情况 与 备份系统的 fstab 对比进行修改。
有两种情况;
1、新硬盘分区数量与备份系统一致,只需要修改 fstab 文件中每个分区对应的盘符号
2、新硬盘分区数量与备份的不一致或者新硬盘还挂载了更多硬盘,那就把其他盘符都保留下来。

主要打开两个 fstab文件进行对比修改即可
# 打开新硬盘的(刚才备份的)fstab文件
sudo gedit /store/new_recovery/
fstab
# 打开恢复到新硬盘主分区(/)中的(属于备份系统的)fstab文件
sudo gedit /04df69c9-2b43-4df9-bd9e-31abf767f654/etc/fstab
注意:把前者对应分区的 UUID 替换到后者中

修改grup.cfg文件中的 UUID
也是打开两个 grup.cfg 文件对比修改即可!
#打开新硬盘(刚才备份的)grup.cfg 文件
sudo gedit /store/new_recovery/grup.cfg
# 打开恢复到新硬盘boot分区中的(属于备份系统的) grup.cfg 文件
sudo gedit /6bc18e92-8bfd-48b7-9ced-b438be714e3f/grup/grup.cfg

一定要对照着上面的文件修改到下面文件中去,否则出错启动不了!!
一般只需要修改主分区(/)、boot分区的 UUID,需要把整个文档所有 UUID都替换完成!
(这里主要参考了连接 https://blog.csdn.net/stack_moon/article/details/80931544

 4、 必须了解的Ubuntu系统基本知识

Ubuntu根目录下各文件的功能介绍 https://blog.csdn.net/liajie/article/details/78616200

 

 

 未完待续~~~


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM