BIOS主板启动SSD迁移至UEFI主板的可行性及相关疑问
兄弟,太懂你这种老机器突然罢工,想直接挪硬盘救数据、省重装的心情了——当年BIOS时代跨机器迁硬盘真的是插上去就能用,那叫一个省心!但换到UEFI主板的话,情况就有点不一样了,我给你掰扯清楚:
核心结论:直接插大概率启动不了,但可以通过调整引导配置实现迁移
BIOS和UEFI的启动机制完全是两套逻辑:
- 老BIOS用的是MBR分区表+主引导记录(MBR)里的引导程序,靠主板读取硬盘第一扇区启动
- UEFI则依赖GPT分区表+专门的EFI系统分区(ESP),引导文件存在ESP里的
EFI/ubuntu目录下
所以直接把BIOS引导的18.04硬盘插到UEFI主板上,主板找不到UEFI需要的引导文件,自然启动失败。但咱们可以手动调整,步骤其实不算复杂:
先确认硬盘健康和分区状态
先把硬盘挂到别的机器上(比如用硬盘盒),确认数据没问题,同时看一下分区表是MBR还是GPT:- 要是是MBR,得先转成GPT(记得提前备份重要数据!),可以用GParted这类可视化工具操作
- 要是已经是GPT,那省了一步,但得检查有没有ESP分区——就是一个100-512MB左右的FAT32分区,标记为"EFI System Partition"
创建/修复ESP分区(如果没有的话)
要是没有ESP分区,用GParted从现有分区里腾出点空间(比如从根分区末尾割一块),格式化成FAT32,然后右键标记为"boot, esp"。重新安装UEFI版GRUB引导
准备一个Ubuntu 18.04的Live USB,用它启动电脑:- 挂载你的系统分区到
/mnt,比如mount /dev/sda1 /mnt(具体盘符看你的实际情况) - 挂载ESP分区到
/mnt/boot/efi,比如mount /dev/sda2 /mnt/boot/efi - 然后执行命令切换到系统环境:
sudo chroot /mnt - 安装UEFI版GRUB:
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu - 更新引导配置:
update-grub - 退出chroot:
exit,然后重启电脑
- 挂载你的系统分区到
关于UUID的问题
你担心的UUID其实不用慌——Ubuntu不管是BIOS还是UEFI模式,都是靠UUID挂载分区的(看/etc/fstab里的配置就知道),只要你没重新格式化分区,UUID就不会变,挂载完全没问题。
顺便说下你老机器的重启问题
现在老机器开机6-7秒就重启,大概率是硬件故障(比如电源老化、内存松了、主板电容鼓包),先别着急迁硬盘,先把硬盘拆出来挂到别的机器上确认数据完好,再排查老机器的硬件问题——不然万一硬盘本身坏了,迁过去也白搭。
总的来说,虽然不像BIOS时代那样“插即用”,但只要跟着步骤调整引导,还是能成功把系统迁到UEFI主板上的,比重新装系统省超多事儿!
备注:内容来源于stack exchange,提问作者RonJohn

