克隆不同大小的 HDD 分区的最佳方法是什么?

克隆不同大小的 HDD 分区的最佳方法是什么?

我有两块硬盘:第一块 150gb ( /dev/sdc),使用了 30gb,第二块 100gb ( /dev/sdd)。有sdc1sdd1个分区,格式相同。

我想将第一个磁盘上的 30gb 克隆到第二个磁盘大小有差异。最好的方法是什么?用dd还是用克隆cat

两种可能性

sdc磁盘:

dd if=/dev/sdc of=/dev/sdd
cat /dev/sdc >/dev/sdd

sdc1分区:

dd if=/dev/sdc1 of=/dev/sdd1
cat /dev/sdc1 >/dev/sdd1

其他问题

假设/dev/sdd1已经存在数据,我可以覆盖它吗?

这会导致硬盘某个扇区出现错误吗/dev/sdd

答案1

因为你在做分区克隆那么要使用的选项是:

dd if=/dev/sdc1 of=/dev/sdd1
cat /dev/sdc1 >/dev/sdd1

现在命令使用取决于你想实现什么:

  1. cat优点:

    • 快速地
    • 擅长处理文本文件
    • 将分区的内容复制到新的未格式化的分区
  2. dd优点:

    • 有更多选择
    • 很好地处理二进制文件
    • 可用于复制 n 个字节或跳过/查找
    • 允许您指定块大小

需要考虑的事项:

  • 确保两者源和目标分区大小相同。一般来说,如果您只想复制,那么cat就可以了,但对于更多选项来说dd就足够了。
  • 数据将被覆盖cat,但dd可以避免这种情况(man dd 了解更多信息)

附加信息:

重要的:

无法将 150GB 分区克隆到较小的 100GB 目标驱动器*。您要么想将较小的数据(例如 30GB)复制到新分区,要么必须先缩小较大的(150GB)分区,然后再克隆。否则,在克隆尝试期间,您将截断超出目标驱动器容量的所有内容。

*在某些特殊情况下它可能会起作用,但不值得考虑。

相关内容