无法使用 DD 命令制作合适尺寸的图像

无法使用 DD 命令制作合适尺寸的图像

需要制作我的 DD 的映像磁盘。这是一个 4to 硬盘,有 2 个分区(总共使用:1,7 TO)。如何使用 dd 命令获取 1,7 TO 正确映像?

使用 fdisk 查询磁盘状态

用过的 :

dd if=/dev/sdq count=2399842303 of=/tmp/imagedisk.img bs=4096 状态=进度

但这不起作用..任务将继续进行 2,3,4 TO。

请有人能给我正确的命令吗?

答案1

首先,请注意,如果你正在制作磁盘图像(或者甚至分割图像),你不能只是克隆使用量文件系统级别(Used即如图所示df)。

此外,即使您所说的“已使用”是指分区的大小,如果您没有制作完整的磁盘映像,您可能应该制作分区的映像(并且可以选择将分区表/ MBR 备份到单独的文件中,尤其是在 GPT 的情况下 - 有sgdisk)。

如果由于备用存储空间不足而确实无力制作磁盘/分区映像,则可以考虑:

  • 使用 partclone 之类的工具或针对某些类型文件系统的上游/官方方法进行“文件系统克隆”,例如btrfs send
  • dd使用conv=sparse,这可以避免完全为零的块(我认为大小为bs=)占用太多空间(参见更多细节。)
  • 尽可能缩小文件系统,以便您可以在克隆之前调整分区大小。但有些类型的文件系统不支持缩小。

顺便说一句,我实际上没有conv=sparse这方面的经验。此外,它的效果如何可能取决于几个因素,例如写入/存储图像的文件系统类型,以及/或者源驱动器是否是至少部分为 RZAT(“修剪后读为零”)的 SSD,等等。

最后,谈谈dd,有iflag=count_bytes,这将允许你使用来count=确定有多少字节(代替的大小(i)bs=)进行克隆。

bs=4k往往足够好/最好用,不是因为可能是硬盘的物理块大小,但因为它是典型的页面大小。尽管从某些闪存存储设备读取时,128k 或 512k 这样的大小可能会效果更好。

答案2

bs=512 应该可以解决问题。起始和结束列中显示的逻辑扇区是 512 字节扇区

答案3

dd if=/dev/sdq of=/tmp/imagedisk.img bs=1MB count=1700000

bs=1MB将块大小设置为 1 兆字节(1000000 字节),并将count=1700000其乘以 1,从而达到 TB 级。

如果你真的想坚持使用 4Kb 块,你必须进行计算:1.700.000.000.000/4096 = 415039062,5 ~ 415039063结果如下:

dd if=/dev/sdq of=/tmp/imagedisk.img bs=4k count=415039062(4k = 4096)。

相关内容