当前位置:   article > 正文

Ubuntu系统迁移

ubuntu系统迁移

迁移目的

由于某些原因迫不得已得换一台新电脑,但是好不容易在旧电脑中搭建好的Ubuntu工作环境,十分复杂踩过很多坑,不想再重装环境了,所以试图将旧电脑中系统完整地搬移到新电脑中

预计问题

问:电脑配置不同会不会导致系统迁移失败?
答:由于linux系统中万物皆文件,这并不会有太大地影响,实践证明确实也是可行的

适用条件

Ubuntu18.04.6 LTS
从就硬盘迁移至新硬盘
从旧主机迁移至新主机
都是异曲同工的,但只尝试过本地系统,没试过服务器系统

准备工具

1.在FAT格式化的16G以上U盘(刻录一个UBUNTU ISO镜像),作为2.Live CD启动盘
3.刻录工具有很多,我用的使ISO to USB
4.适用Live CD时需要给系统联网,所以需要有网络
5.分区软件GParted(推荐)或者Disks
6.如果只是硬盘之间的系统迁移,那仅需一个U盘即可;如果是主机AB之间的系统迁移,最好需要多准备一个足够大的能装下你准备迁移的系统的移动硬盘C,然后A→C→B。
7.为了避免一下操作失败,请做好数据备份
在这里插入图片描述

开始迁移

进入Live CD

在旧主机中插入刻录好UBUNTU镜像的U盘,通过U盘启动进入GNU GRUB,选择Try Ubuntu without installing, 之后的操作都将在该环境下进行,因为Live CD相当于一个中介,将新旧两个硬盘或系统视为挂在的硬盘或者文件。

新硬盘分区

打开自带的Disks或者安装GParted,清空新硬盘中的所有分区,并且按照旧硬盘的分区对新硬盘进行分区,主要是系统所在分区,此外有些系统有BIOS分区或者EFI分区,也可按旧硬盘分区一一对应。
需要注意的是:新硬盘的所有分区的大小必须大于或等于旧硬盘上对应分区的大小
旧硬盘:
在这里插入图片描述
新硬盘:
在这里插入图片描述
在这里可能看到我的分区不是一一对应的,甚至少了BIOS分区,但是没关系。因为该分区中原本不包含任何文件,我猜想不需要该分区也行,而BIOS文件在EFI分区中,且BIOS需要放至磁盘前端

DD系统迁移

新旧硬盘需要在非挂载状态下完成迁移,不然会出错。

sudo dd if=/dev/sdb1 of=/dev/nvme0n1p2 #迁移主系统分区中的内容
  • 1

如上图,即将UBUNTU迁移至HOME,迁移完成后HOME自动更名为UBUNTU,且UUID也与原旧分区一致。
由于迁移时间过长,可以另开一个终端输入

sudo watch -n 5 killall -USR1 dd #可在原终端中看到迁移进度
  • 1

迁移完成后,挂载上新旧的硬盘,打开观察文件对比,如果硬盘能正常打开说明迁移成功,如果硬盘不能正常挂载并打开,说明迁移失败,那就是某步骤做的不对了。

修复GRUB

系统迁移完成,需要修复GRUB才能正常开机。通常引导文件放在BOOT分区或者文件夹下,在本系统中可以看到BOOT文件夹下有文件,所以暂时不设独立的BOIS-BOOT分区。
在这里插入图片描述
1.卸掉老磁盘
2.接上网线或者连接wifi
3.安装boot-repair

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get install -y boot-repair
  • 1
  • 2

修复引导前,也需要取消新硬盘的挂载,打开boot-repair后会自动挂载或取消
4.打开boot-repair

sudo boot-repair
  • 1

如果分区缺失就不会出现推荐修复选项,或者会提示你需要创建某个分区却才能继续在这里插入图片描述
5.选择Recommended repair
6.出现“Upload the report to a pastebin”,选择“Yes”
7.出现“Boot successfully repaired”
这次算很顺利,如果中间还有其他步骤,请按照boot-repair给出的提示逐步完成即可。
至此GRUB修复完成

打开新硬盘系统

进入GRUB选择ubuntu,如果能正常开机,即成功
如果否,以下列出两种可能

进入emergency mode

它需要你提供root密码进入命令行系统,这可能是你原来旧系统里root的密码,也可能是默认密码,也可能需要先修改root密码再重新回到这里。
GRUB下修改root密码
那么进入了这里,可能可以看到正常终端下的系统,但是需要找到引导问题如何解决
GRUB→Advanced options for Ubuntu→recovery mode→fsck(检查文件系统)
在这里插入图片描述
就会发现你在旧硬盘中的系统会挂载其他硬盘扩重内存,但dd的时候并没有复制这些,因此它会找不到需要挂载的硬盘
这时在紧急模式下输入密码后

sudo vim /etc/fstab #查看磁盘挂载的信息文件
  • 1

在这里插入图片描述
把找不到的挂载磁盘信息暂时注释掉,可以等正常打开系统桌面后,把装有对应数据的硬盘插上,重新再挂载一次即可。
文件修改完成保存,重启即可正常启动。

进入initramfs

在这里插入图片描述
这里可能是因为主机型号是DELL的原因,据说在其他电脑上不会这样
解决方法:Gave up waiting for root device on Ubuntu
1.重启。
2.按F2并转到 BIOS 设置。
3.内存读取方式 → SATA 操作:将 RAID 更改为 AHCI

如此,系统迁移基本完成,该重新挂载什么就挂载什么吧,一些都会完好如初的!!!

引用

Linux 系统迁移指北(2022版)
迁移linux系统到新硬盘

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/343448
推荐阅读
相关标签
  

闽ICP备14008679号