如何使用 dd 命令克隆 USB 驱动器?

如何使用 dd 命令克隆 USB 驱动器?

我创建了一个装有 Linux 发行版的 USB,想将其克隆到另一个 USB 驱动器。装有发行版的驱动器为 256GB,发行版位于 USB 驱动器大约 8GB 的​​分区上。我尝试克隆到的驱动器为 32GB。我一直在尝试使用命令dd克隆 USB 驱动器,如下所示。

dd if=/dev/sdb of=/dev/sdc bs=4M status=progress count=15644672

我曾经fdisk /dev/sdb在 dd 命令中获取 count 属性的扇区大小。但是,当我运行该dd命令时,进度显示类似 (17 GB,已复制 16GiB)。我以为它只会将 256GB 驱动器的数据部分克隆到新的 USB 驱动器上。

我也尝试将块扇区大小更改为 512M,但结果类似。

dd if=/dev/sdb of=/dev/sdc bs=4M status=progress count=15644672

有什么建议吗?也许我没有正确使用命令?

编辑于 2021 年 1 月 19 日:因此,我想要复制的数据部分已成功复制,但 dd 仍试图填满 USB 驱动器上的所有空间。我现在想知道是否只需将分区克隆到新分区会更容易。

答案1

count=不适用于磁盘扇区 - 它适用于您在中指定的块大小bs=。(默认dd 中的块大小恰好与一个磁盘扇区相同,但这非常低效。)

这意味着,使用bs=4M,您实际上是在告诉 dd 复制 15644672 个四兆字节单元,或总共 60 TB。要复制 8 GB,您需要count=2048

或者,head -c 8G /dev/sdb > /dev/sdcpv -Ss 8G /dev/sdb > /dev/sdc

相关内容