无法将完整 SSD (LVM) 克隆到另一个 SSD,除非类型完全相同

无法将完整 SSD (LVM) 克隆到另一个 SSD,除非类型完全相同

我安装了 CentOS 7.9,我想将所有 SSD 内容(包括操作系统)移动到新的/更快的 SSD(两者都是 M.2 nvme)。

磁盘使用 LVM 设置。我尝试使用 Macrium Reflect 和其他磁盘克隆工具进行克隆,因为我不想用dd.但我总是得到相同的结果:系统启动时下划线闪烁,无法启动。我在克隆过程中没有收到任何错误。

我没有更改 BIOS 中的启动设置,我假设如果磁盘显示为 MBR 并且它也克隆到 MBR 中,那么 BIOS 中的启动设置应该保持不变。

奇怪的是如果我克隆两个相同的驱动器似乎可以工作

那么问题可能是一些引导设置告诉它引导分区从哪里开始或类似的东西吗?我应该尝试哪些功能才能使其可启动?像对齐分区之类的东西? (克隆前在源上,还是克隆后在目标上?)。

我不认为来源有任何错误,我不擅长,但我检查了它。

我特意将源分区构建得小一些,以便它适合 ~500GB 大小的大小变化。它从不抱怨分区不适合新驱动器。

答案1

事实证明它所需要的只是一个grub2 安装以修复启动。完整命令是这样的:

grub2-install --directory /usr/lib/grub/i386-pc/ /dev/nvme0n1

我正在为自己编写这个“傻瓜”修复程序,我知道我会再次遇到这个问题:)

  • 从 centos 安装棒启动
  • 选择故障排除 > 救援 centos 系统
  • 1) continue
  • chroot /mnt/sysimage在已安装分区内充当 root 用户(屏幕上推荐这样做)
  • 尝试过grub2-install /dev/nvme0n1
  • 抱怨modinfo.sh找不到,我应该具体说明--target--directory
  • 我做了一个find / -name modinfo.sh并发现它在/usr/lib/grub/i386-pc/
  • 最后安装了 grub:grub2-install --directory /usr/lib/grub/i386-pc/ /dev/nvme0n1

起初我以为要安装的设备是/boot(/dev/nvme0n1p1),但它是主/父设备:/dev/nvme0n

如果有人可以评论这i386-pc部分是否可以?!这似乎是一个不寻常的环境。不确定我选对了那部分。

相关内容