Ubuntu16.04 跨主机系统备份和更新
最近几天由于项目需要把旧的主机的系统转移到新的主机上去,捣鼓了几天Ubuntu的系统备份和恢复。网上的教程大多是针对同一机器的备份和恢复,没有涉及跨主机的恢复,因此着实是踩了一些坑,为了记录踩的坑把跨主机备份和恢复的流程稍微写一写,欢迎有经验的朋友指出不足之处。
本次备份和恢复的过程主要参考了三篇文章如下:
备份和恢复参考教程1
备份和恢复参考教程2
重新配置fstab文件
首先,检查一下你的根目录是否足够大,可以将你系统备份后打包的tar文件存储下来。如果没有,建议直接插入一个大容量移动硬盘或在电脑中空间充足的挂载盘中完成备份的操作。操作很简单,获取root权限后,右击鼠标在当前文件夹中打开终端,输入如下命令:
tar cvpzf backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys --exclude=/media / --exclude=/任意你想排除的目录
输入之后就可以等待压缩完毕即可,大约三四个小时,可以出去玩一玩。值得注意的是,应尽量避免将电脑中的大体积压缩包再次压缩,可能会导致压缩和解压失败。在压缩成功后可能会显示因为早先错误啥的不用在意,let it go
之后就是恢复问题了。
恢复步骤主要有三:解压缩、修复引导、改正UUID
第一步很简单,进入系统,获取root权限,利用如下命令将压缩的备份文件解压到根目录下。解压后可能也会报和压缩时同样的由于早先错误balabala的东西,也无需理会,对结果不产生负面影响。
tar cvpzf backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys --exclude=/media /
然后利用如下命令重建没有备份的文件夹。
mkdir proc lost+found mnt sys
以上为第一步,完成第一步后重启即可。
重启时会没办法进入图形界面,这个时候利用一个Ubuntu的启动盘,在setup界面选择启动盘进入。出现图形界面后选择Tring without Ubuntu install
的选项。进入Ubuntu系统。此时根据备份与恢复参考1中介绍的方法,打开终端,依次键入如下指令完成boot-repair工具的安装和使用。在使用的过程中需要等待一段时间,并在新的终端中按照boot-repair工具的指示输入一些命令,只要按照工具的指示一路输入命令和按yes就可以了,非常简单。
sudo add-apt-repository ppa:yannubuntu/boot-repair //添加源
sudo apt-get update //更新源
sudo apt-get install -y boot-repair //安装修复工具
boot-repair //运行工具
以上为流程的第二步。完成第二步后重启就可以进入到图形启动界面了。但是进入到图形启动界面后还是无法进入系统,会提示Failed to start Remount Root and Kenal File System
的错误。这个时候再次重启通过启动盘进入Trying without ubuntu install
的系统中。全局搜索fstab文件,找到挂载你正常系统磁盘下的/etc/fstab
文件。利用如下命令打开。
sudo gedit /挂载正常系统盘的位置/etc/fstab
在这个文件中的UUID和挂在这里插入代码片载的盘的数量和旧主机是一致的,但是一般对新主机是不通用的,这个问题导致你无法正常开机。因此你可以利用sudo blkid
, 查看所有各个分区的uuid。对照打开的fstab,删除该文件中在新主机中不存在的挂载盘,并将一致的挂载盘的uuid更改为新主机上你利用sudo blkid
看到的uuid即可。
完成上述步骤后,重启电脑就大概率可以正常进入系统了。有更好的方法欢迎大佬们指正和讨论,如有遇到本篇未涉及的技术问题,那我也不会,我会的只有祝你好运了!\(≧▽≦)/