使用 DD 从 .img 克隆 SSD

使用 DD 从 .img 克隆 SSD

我使用 dd 命令将备份从 ssd A 保存到 .img 文件,现在我想知道将 ssd A 克隆到 ssd B 可以直接从 .img 文件执行此操作,如下所示:

dd if=/dev/backup.img of=/dev/sdc bs=1 status=progress

这与执行以下操作相同吗:

dd if/dev/sdb of=/dev/sdc bs=1 bs=1 status=progress

其中磁盘 A = sdb,磁盘 B=sdc

我已经做了

dd if=/dev/sdc of=/dev/image.img

我更喜欢从 .img 文件克隆它,因为我不会弄乱某些东西或做相反的事情,所以我想知道这两种方法是否 100% 结果相同?

答案1

是的,结果是一样的。请注意,您可能希望选择更大的块大小bs=4M(或更大)以加快速度。当然,您只需指定该bs选项一次。

答案2

我更喜欢从 .img 文件克隆它,因为我不会搞砸什么

亚当 新贡献者

使用克隆的问题dd是您正在创建的 .img 然后写入新磁盘将是一点一点的。也就是说,如果您有一个 500GB 的 SSD,并且上面只有 10GB 的有用操作系统 + 数据,那么您的 .img 将全部是 500GB分割包括一堆空白的空间。然后您需要将其写入相同大小的新分区。

例如,更好的方法是执行以下操作,tar -cf myrootpartition.tar /这只会从每个文件系统的磁盘上获取相关位。然而,问题在于细节,即使dd像您提到的那样,对于初学者来说,它也会与/etc/fstabgrub 一起使用,其中磁盘安装是通过磁盘 uuid 进行的,并且新旧磁盘之间会有所不同。所以会启动失败。正是这样的细节,一些[免费]磁盘关闭工具,例如埃奥米或者克隆齐拉派上用场是因为它们会处理这些东西以及引导加载程序和所有其他会咬你的小东西。

fwiw:如果您的旧 SSD 是 Linux(例如 Centos 7.x),并且您想开始在计算机中使用新的 SSD,我的经验是下载最新版本(例如 Centos 7.9)并放入 DVD 或 USB 并执行以下操作在新的 SSD 上进行全新安装。这将是一个有保证的工作系统并且干净,而不是从旧操作系统等迁移问题。从 DVD 或 USB 进行全新安装可能需要不到一个小时,这与dd整个磁盘或分区可能花费的时间相同(可能会占用一堆空白空间)。

如果只是数据,那么我建议使用tar如上所述的方法从文件系统中获取实际数据,而不是对可能小于 10% 完整的整个磁盘分区进行逐位复制。

相关内容