说明:将一个工控机ubuntu16.04系统备分到其他工控机后者电脑上。只要新电脑硬盘容量大于备份文件即可,一般都会满足。
- 制作ubuntu16.04启动U盘
- U盘启动,启动原工控机进入BIOS,U盘启动系统,进入Try ubuntu。
- 挂载原工控机硬盘,并打包原系统文件(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:用于存放系统临时文件,不需要备份。 - 恢复系统
(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