0%

ubuntu系统迁移的一种可行办法

一、前言

起因是由于 512G 的 ssd 一盘双系统有些吃紧,ubuntu 的 home 和根分区逐渐膨胀,希望重新分区。Gparted 扩展分区仅限于相邻右侧空闲空间,构造逻辑卷组又比较担心对后续可能的系统迁移有所阻碍,于是决定提前进行系统迁移实验。

网上主流的方法有 systemback 备份,dd 注入,以及 Clonezilla 再生三种手段。对于 systemback 似乎我的主板不太支持,换了三个 U 盘制作四五个镜像都没办法正常打开。dd 与 Clonezilla 原理差不多,不过 Clonezilla 是通过制作镜像实现文件迁移,因此自带备份效果。

这里主要讲讲 Clonezilla 系统迁移。最近实在没什么时间,就写个大纲吧 \^_\^。

二、流程

请提前备份重要数据!

请提前准备三个 U 盘,两个引导盘 8G 左右即可,一个需要大些,用于存储镜像。

在 linux 系统中,万物皆文件,文件即万物。迁移系统只需将系统中所有分区搬到目标位置,然后修改启动项即可。

1. 镜像制作

使用 Clonezilla 备份之前需要先制作引导盘,可参考我之前的文章(ubuntu 相关配置)。

然后还需要一个数据盘,进入再生龙界面后选择克隆分区到镜像,选中 ubuntu 的分区即可。

2. 新建目标分区

使用 Ubuntu 引导盘进入 try 界面,利用 Gparted 建立与原系统分区格式相同的分区,且分区容量需大于原分区。

3. 数据注入

再次进入 Clonezilla 界面,选择镜像导出到分区,由于一次性选择超过一个分区无法制定目标盘,因此一次选择一个分区注入到目标位置即可。

4. 修改 fstab

查看分区 uuid

1
$ sudo blkid

新分区的 uuid 与原分区不同,修改 /etc/fstab 中的条目,将对于的 uuid 替换为实际 uuid 即可。

5. 修复引导

原系统与新系统的 grub 引导会冲突,导致两个系统都无法进入。我的做法是将原系统删除,然后使用 boot-tools自动修复 grub。

三、其他问题

这里主要是我自身的原因。迁移之前我将系统原 nvidia-535 驱动换为了 nvidia-545,导致一个内核崩溃,其余旧版内核可以正常运行。迁移后问题逐渐显现出来,与 gnome 有所冲突,部分包无法显现出来。

解决办法是在图形界面中打开附加驱动,更换回推荐驱动,并删除有问题的内核,重新进行安装。关于 gnome 相关问题,比如桌面图标消失、设置栏消失等小问题就慢慢修复吧。