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 #迁移主系统分区中的内容

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

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

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

修复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

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

sudo boot-repair

如果分区缺失就不会出现推荐修复选项,或者会提示你需要创建某个分区却才能继续在这里插入图片描述
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 #查看磁盘挂载的信息文件

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

进入initramfs

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

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

引用

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

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
回答: 如果你想迁移Ubuntu系统到另一台计算机或者新的硬盘上,可以按照以下步骤进行操作。首先,将原系统硬盘和新系统硬盘的几个分区都挂载上去。可以使用命令`cd /media/ubuntu/原系统硬盘`切换到原系统硬盘根分区目录,然后使用命令`tar -xzvpf ./ubuntu_backup.tar.gz -C /media/ubuntu/新硬盘中被划分为根目录的分区位置`解压根目录的备份文件。同样的方式,使用命令`tar -xzvpf ./ubuntu_boot_backup.tar.gz -C /media/ubuntu/新硬盘中被划分为boot目录的分区位置`解压/boot目录的备份文件,使用命令`tar -xzvpf ./ubuntu_home_backup.tar.gz -C /media/ubuntu/新硬盘中被划分为home目录的分区位置`解压/home目录的备份文件。此时,在ubuntu文件管理器中的原硬盘目录下可以看到3个压缩文件,即ubuntu_backup.tar.gz, ubuntu_home_backup.tar.gz, ubuntu_boot_backup.tar.gz。接下来,对新固态硬盘进行分区,然后将解压后的文件复制到相应的分区中。完成这些步骤后,你的Ubuntu系统就成功迁移到了新的硬盘上。 #### 引用[.reference_title] - *1* *2* *3* [Ubuntu2204系统迁移·双系统](https://blog.csdn.net/m0_50662459/article/details/130655954)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值