我有一个 10 GB 的分区 (/dev/sda1)。还有另一个 7 GB 分区 (/dev/sdb1) 的“dd”文件。
当我执行命令时:
dd if=sdb1.dd of=/dev/sda1
然后一切正常,但我无法使用 /dev/sda1 剩余的 3 GB 空间
有没有办法告诉 DD 使用剩余的可用空间(在本例中为 3 GB)?
答案1
dd
无论如何,它不关心可用空间(如文件系统概念中的那样),它只是逐块复制。
如果sdb1.dd
是文件系统映像,您可以resize2fs
在复制后使用 或其他工具(取决于文件系统类型)来扩展它。
resize2fs /dev/sda1
答案2
有没有办法告诉 DD 使用剩余的可用空间(在本例中为 3 GB)?
不。
更重要的是,假设目标分区的大小合适(如您所说),您所做的就是有效地编写一个仅了解分区第一部分的文件系统。dd
不关心在源或目的地写入的数据的含义。
根据所使用的文件系统,您也许能够扩展文件系统使用整个分区,但这远远超出了 的职责dd
,具体细节将在很大程度上取决于该映像文件内的确切文件系统。
答案3
dd 如果复制字节,则不会复制文件。其中包括文件系统的结构,这是一个 7 GB 的文件系统。复制完成后,文件系统数据表明它是一个 7 GB 的文件系统。
如果您只是想复制所有文件,那么使用 dd 来制作副本并不是您想要的。使用 tar,或转储/恢复到新创建的文件系统上。