克隆磁盘拒绝启动

克隆磁盘拒绝启动

我有一个 Ubuntu 盒子,目前运行在旧的 500GB HDD 上。

由于我拿到了一个 240GB 的 SSD,而 HDD 只使用了部分(使用了 10%),所以我决定将 HDD 克隆到 SSD。

由于 HDD 比 SSD 大,我对其进行了碎片整理,并将其数据分区调整为 240GB 以下的大小。此后,系统仍可正常运行并正常启动。

这是 gparted 报告的新 HDD 几何形状。

由于 SSD 安装在一台 100% Windows 机器上,它有一个MBR分区表,我用另一个gpt分区表替换了它。然后我创建了两个与 HDD 中相同大小的分区。

这是 gparted 报告的 SDD 几何形状。

然后我使用另一个 Ubuntu 可启动 USB 启动电脑并发出以下两个dd命令:

sudo dd if=/dev/sda1 of=/dev/sdd1 status=progress
sudo dd if=/dev/sda2 of=/dev/sdd2 status=progress

一切顺利,没有错误,但最后 PC 拒绝从 SDD 启动。

分区 /dev/sdd2 似乎已正确克隆,因为我可以从 /dev/sda 或可启动 USB 启动时挂载它。但我注意到 /dev/sda2 中的已用空间大于 /dev/sdd2 中的已用空间。我怀疑这是由于从它启动时产生的任何临时文件和设备造成的。

我尝试从 SSD 启动而不连接任何其他磁盘,但我得到的是,当 PC 启动时它直接进入 BIOS/EFI 菜单。

知道为什么我的 SSD 拒绝启动吗?

答案1

我最近将双启动 (Windows 10 + Ubuntu 20.04) 从 HDD 克隆到新的 M.2 NVMe SSD 后遇到了 Ubuntu 无法启动的问题。Windows 启动正常,但 Ubuntu 只显示 Grub shell。

按照这里和其他一些论坛的建议,我使用了 Ubuntu Boot-Info 工具,它显示问题是,在克隆过程中,GRUB 安装在分区 1 中,而不是我安装 Ubuntu 的分区 7 中。所以我使用了 Ubuntu Boot-Repair 工具,它在正确的分区中重新安装了 GRUB,然后就好了!

答案2

由于目标磁盘比原始磁盘小,因此必须复制单个分区才能克隆原始磁盘。然而,在听了几条评论后,我最终意识到复制单个分区不会复制引导记录。

为了解决这个问题,我最终使用了 Boot-Repair 应用程序(help.ubuntu.com/community/Boot-Repair

相关内容