如何在通过简单的 dd 克隆到更大磁盘后修复 Ubuntu 22.04 UEFI 启动 GPT 问题

如何在通过简单的 dd 克隆到更大磁盘后修复 Ubuntu 22.04 UEFI 启动 GPT 问题
  1. 我在 1TB SSD 上安装了健康的 Ubuntu 22.04 LTS

这是一个简单的磁盘 - 不使用 LVM,只有两个分区:512 MiB EFI 系统分区,其余部分是一个用于操作系统和数据的大型 ext4 分区。在我的 ASUS z490 主板上使用安全启动“其他操作系统”,效果很好。

  1. 我想将此安装切换到新的 2TB SSD。两个 SSD 都安装在我的 PC 上。

  2. 我启动 Ubuntu 22.04 live USB 并使用 gparted 将 ext4“操作系统和数据”分区缩小到 250GiB,留下 10% 的可用空间(因此dd不必运行这么长时间)

  3. 我运行sudo dd conv=noerror,sync iflag=fullblock status=progress bs=65536 count=3412345 if=/dev/1TB_SSD of=/dev/2TB_SSD——效果很好,大约 20 分钟即可完成

  4. 重启后,我的 BIOS 告诉我 GPT 有问题。新安装的 2TB 未在 BIOS 中列为可启动。

  5. 将 1TB SSD 启动到 Ubuntu,运行 gparted,它会自动检测 2TB SSD 上的问题(我认为是分区表的问题),运行建议的修复程序,即可完成,没有任何错误。

但是,gparted 中的 EFI 系统分区旁边仍然有一个红色的“!”,当我右键单击“信息”时,它显示

无法读取此文件系统的内容!因此某些操作可能不可用。原因可能是缺少软件包。fat32 文件系统支持需要以下软件包列表:dosfstools、mtools。

我的 BIOS 在启动时不再显示错误屏幕,但我的新 2TB SSD 仍然没有列为可启动(可能是某些 UEFI 检查失败?)。

显然,EFI 系统分区(从 1TB SSD 精确复制)和我的新 2TB SSD 之间存在一些不兼容性。

我该如何修复此问题以便可以在新的 2TB SSD 上使用我的安装?

答案1

解决方案:我完全放弃了这种dd方法,重新开始使用 Clonezilla。第一次尝试就成功了,不需要太多思考或研究。非常感谢 Clonezilla 团队!

如果有人愿意对我的原始问题给出真正的答案,我们仍然欢迎,但我不会(无法)测试它。

相关内容