您现在的位置是:首页 >技术交流 >Ubuntu20.04+Windows10双系统迁移新硬盘并解决引导损坏全流程总结网站首页技术交流

Ubuntu20.04+Windows10双系统迁移新硬盘并解决引导损坏全流程总结

东洋 Dongyang 2023-05-25 12:00:02
简介Ubuntu20.04+Windows10双系统迁移新硬盘并解决引导损坏全流程总结


因工作需要,欲将Ubuntu系统迁移到一块全新SSD中,此文章提供了系统迁移后所产生一系列问题的解决方案。

原有软硬件环境:
OS1:Ubuntu20.04 (nvme0, PM981 512GB)
OS2:Windows10 (nvme1, SN850X 1TB)

现有全新SSD 致态7100Plus 2TB一块,任务为将PM981替换掉,并将Ubuntu系统和原有环境原封不动迁移到2TB的新硬盘中。

一. 备份原有系统

1.1 压缩原系统的/目录

sudo tar -cvpzf ubuntu_backup.tar.gz --exclude=/proc --exclude=/tmp --exclude=/home --exclude=/boot --exclude=/lost+found --exclude=/media --exclude=/mnt --exclude=/run /

这里排除了几个不需要的文件夹:

proc 存放系统的进程文件, 根据当前系统中运行的进程动态改变
tmp 存放系统缓存文件
home 因为home目录单独挂载在一个分区, 所以待会单独打包
root 因为root目录单独挂载在一个分区, 所以待会单独打包
lost+found 系统发生异常时尝试根据此文件夹中的内容进行恢复
media 插入外部存储设备如u盘时系统自动挂载的位置
mnt 提供给用户手动挂载设备的文件夹
run 系统运行时产生的日志文件

二. 安装新系统

首先使用u盘制作一个ubuntu的安装盘,制作安装盘的软件可以选择ubuntu自带的启动盘创建器软件,或者 ultraISO, rufus 之类。启动电脑进入bios设置优先启动设置为 usb 设备, 然后进入安装盘系统,分区根据硬盘大小来设定,如2TB的SSD:

200M , unformatted, 无
20G , ext4, /boot
250G , ext4, /
16G, linux_swap, 无
剩下的全部, ext4, /home

三. 迁移系统

然后将之前打包的压缩包解压到新硬盘中对应的分区中:

tar -xzvpf ubuntu_backup.tar.gz -C  <`新硬盘中被划分为/的分区位置`>

四. 引导修复

4.1 Ubuntu引导修复

解压完成后, 新硬盘中已经有了原来的系统, 但是此时还不能正常引导启动, 使用U盘启动盘进入安装界面,选择Try Ubuntu ,然后进入系统下载 boot-repair 进行自动修复(本质是安装grub程序到硬盘首部的bios_grub分区, 然后修改/boot/grub/grub.cfg文件中/目录和/boot目录对应的UUID):

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install boot-repair
boot-repair

点击执行进行修复,修复完成后可以进入Ubuntu系统。

4.2 Win10引导修复

下载并安装PE,在BIOS中使用UEFI方式启动,使用dism++进行引导修复,修复完成后,重启可以进入WIn10。

4.3 双系统grub修复

BIOS确认为UEFI方式启动,后使用U盘启动盘进入安装界面,选择Try Ubuntu,再次进行boot-repair修复。修复完成后grub即可恢复,可以选择进入任何一个系统。

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。