当前位置: 代码迷 >> 综合 >> ubuntu16.04系统备份与恢复 ubuntu16.04 system backup and restore
  详细解决方案

ubuntu16.04系统备份与恢复 ubuntu16.04 system backup and restore

热度:76   发布时间:2023-12-08 14:07:19.0
说明:将一个工控机ubuntu16.04系统备分到其他工控机后者电脑上。只要新电脑硬盘容量大于备份文件即可,一般都会满足。
  1. 制作ubuntu16.04启动U盘
  2. U盘启动,启动原工控机进入BIOS,U盘启动系统,进入Try ubuntu。
  3. 挂载原工控机硬盘,并打包原系统文件(linux系统全都是文件形式)
    (1) $sudo fdisk -l
    命令查看磁盘符号,一般较大容量的硬盘为系统盘(单个硬盘工控机)
    原工控机磁盘结构如下:
    主磁盘盘符是/dev/sda
    (2) $sudo passwd
    命令设置root命令密码。
    (3)$su root
    进入root模式
    (4)$cd /
    进入根目
    (5)$mkdir backup
    新建目录backup
    (6)$mount /dev/sda1 /backup/
    (sda是linux系统磁盘符)。将/dev/sda1挂在到/backup目录下
    (7) $cd /backup
    进入backup目录
    (8)$tar cvpzf /media/ubuntu/新加卷/backup.tgz --exclude=./proc --exclude=./lost+found --exclude=./mnt --exclude=./sys --exclude=media ./
    将./(当前目录backup)目录,压缩在移动硬盘中(用来存储压缩文件,也可以用其他存储设备,U盘等)。–exclude表示不包含的意思就是将不需要的文件排除,其中./proc(被挂在backup目录之后,back目录和原工控机根目录下的内容一致)是临时数据。
    一般情况下,下列目录是需要进行备份的
    /etc:包含系统的用户名与密码,所有核心配置文件如网络配置、系统名称、防火墙规则、组,以及系统中绝大多数的配置文件。
    /var:包含系统守护进程(服务)所使用的信息,如 DNS 配置、DHCP 租期、HTTP 服务器文件、数据库内容,以及默认用户邮件内容存放目录(/var/spool/mail等。
    /home:包含所有用户的默认用户家目录,包含他们的个人设置、已下载的文件等内容。
    /root:root用户的家目录,包含了root用户的各种信息文件。
    /opt:默认情况下许多非系统文件会安装在此处如OpenOffice、JDK 等相关软件。
    /boot:系统启动的相关文件,包括系统引导文件,GRUB配置文件等等。
    /usr/local:大部分软件的安装目录,部分软件默认安装在/opt下。
    下列目录是不需要进行备份的。
    /proc:永远不需要备份这个目录。它不是一个真实的文件系统,而是运行内核和环境的虚拟化视图,当系统关机后,所有的内容都将丢失。
    /dev:存放着系统的硬件信息,不需要备份。
    /mnt:在部分Linux的发行版中 为/media 目录,用于挂载使用,如果没有在该目录中存放重要数据的话,不需要备份些目录。
    /tmp:用于存放系统临时文件,不需要备份。
  4. 恢复系统
    (1) 打包完成之后,以U盘启动新工控机,选择Try ubuntu
    (2) 如果新工控机装过ubuntu系统,需要删除分区(如果提示未卸载硬盘,先卸载硬盘)并格式化。
    $sudo fdisk -l 查看硬盘符,我的是/dev/sdc
    $sudo fdisk /dev/sdc 编辑硬盘分区
    输入m,打印命令帮助;
    输入p,打印出磁盘的分区明细;
    输入d,默认从后往前删除分区;(几个分区删除几次)
    输入n,新建分区/dev/sdc1(输入n之后,后续是默认回车)
    输入w,保存并退出
    (3) 格式化磁盘。 为什么要格式化呢?这时因为每种操作系统所设置的文件属性/权限并不相同,为了存放这些文件所需的数据,因此需要将分区进行格式化,已成为操作系统能够利用的文件系统格式。由此我们也能知道,每种操作系统的文件系统格式并不相同。比如Windows系统的文件系统格式是FAT/FAT16/NTFS,而CentOS 就是Ext2/Ext3/Ext3。接下来进行格式化操作,
    格式化命令:格式分区,并指定分区系统/dev/vdb ,我这里是格式化 成 ext4。
    输入命令:$sudo mkfs.ext4 /dev/sdc1 , 格式化分区/dev/sdc1
    (一定要先分区,在格式化分区)
    (4) 挂载新工控机磁盘。同步骤3一样,进入root模式,在根目录新建restore目录,并挂载新工控机的硬盘。
    $sudo mount /dev/sdc1 /restore,挂载硬盘
    (5)将备份文件解压到新工控机磁盘,即restore目录。
    $tar -xvpzf /media/ubuntu/新加卷/backup.tgz -C /restore/ (-C的作用是解压到指定文件夹,此处指/restore)
    (6)由于打包时使用–exclude,排除了一些文件夹,所以需要在restore内新建被排除的文件夹
    (7)更改/etc/fstab文件中的UUID,使得重启之后能够自动挂在系统。
    $sudo blkid 查看所有分区的UUID。
    将新工控机硬盘的UUID号(根据分区确定,一般是/dev/sda1,或者其他/dev/sdb1等),复制替换/etc/fstab中第一个UUID号。
    (8)grub修复;
$sudo add-apt-repository ppa:yannubuntu/boot-repair #回车确认添加
$sudo apt-get update
$sudo apt-get install boot-repair
$boot-repair	

如果出现E: Unable to locate package boot-repair的问题,修改一下ppa的源即可进入目录修改文件.

$cd /etc/apt/sources.list.d/
$sudo gedit yannubuntu-ubuntu-boot-repair-xenial.list 

修改内容为如下内容(把xenial改成bionic,即更换一个ubuntu的发行版本 号从16.04的xenial到18.04的bionic):
deb http://ppa.launchpad.net/yannubuntu/boot-repair/ubuntu bionic main
再次更新安装即可

$sudo apt-get update
$sudo apt-get install boot-repair
$boot-repair

运行后点击recommand repair即可

完成之后boot-repair提示:please do not forget to make yout BIOS boot on sdc(ATAADATA SP580)disk!
即重启之后进入BIOS,设置启动盘,启动盘名称为ATAADATA SP580

boot-repair修复之后和修复之前的差别在/boot/grub/grub.cfg中,体现在UUID号码的不一样,其他部分都一样。

参考链接:
https://blog.csdn.net/zeg635702733/article/details/53992224
https://www.zhihu.com/question/63459139?sort=created

  相关解决方案