我创建了一个装有 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/sdc
或pv -Ss 8G /dev/sdb > /dev/sdc
。