答案1
什么地方出了错
使用 dd 将正在运行的系统克隆到备用硬盘上。
正如评论中提到的,您不能使用dd
或类似的方式克隆跑步系统!系统运行时磁盘的内容会发生变化,因此副本内容不一致并被损坏。您的副本无法使用,您需要制作一份正确的副本。
顺便说一句,这不是 的错dd
。dd
有很多缺点,但这里cat
或pv
任何都不会更好。问题在于工具复制的源状态不一致。
损坏似乎影响了 Grub 所关注的一个领域,Grub 的开发人员认为,如果软件此时看到无法识别的数据,最可能的解释是有人试图在没有适当支持或没有适当支持的情况下使用加密磁盘。可用正确的解密密钥。但这不是你的情况的解释。
如何进行复印
您可以使用cat
(或者pv
如果您想要进度显示)来复制分区或整个磁盘,只要它们仅以只读方式安装,或者根本没有安装。
如果您的系统位于 LVM 上,您可以利用 LVM 将其克隆到另一个驱动器上,甚至可以从实时系统上克隆。一般流程是:
- 使用 拍摄当前 LVM 逻辑卷的快照
lvcreate --snapshot
。这需要磁盘上有空闲容量;为此,您可能需要在新磁盘上临时创建一个物理卷并将其添加到当前的卷组中。 - 在新驱动器上设置 LVM 物理卷、卷组和逻辑卷,其中逻辑卷的大小与您当前的大小相同。
- 使用
cat
(或pv
其他)将快照复制到新的逻辑卷。对每个逻辑卷重复此操作。复制逻辑卷后,您可以删除其快照以节省空间。 - 装载新系统并更新
/etc/fstab
到新磁盘上的 UUID(如果适用)。 - 此过程仅处理 LVM 分区的内容,因此您需要复制其余部分。在新驱动器上安装引导加载程序(详细信息取决于 Grub 的设置方式)。
/boot
如果它位于非 LVM 分区上,也请单独复制。
很可能有工具可以自动执行此过程,但我不知道有什么工具。
也可以看看将 Linux 安装移动到新计算机和https://askubuntu.com/questions/25633/how-to-migrate-user-settings-and-data-to-new-machine/5025#5025(但请注意,它们可能有点过时)。