使用 dd 且目标小于源

使用 dd 且目标小于源

有些人可能会笑,但是...

我犯了一个错误,将虚拟盒 vdi 的大小调整为 50TB 而不是 50GB。鉴于 vbox 中没有办法将其缩小(即使新空间未受影响),我创建了一个大小正确的 50G 的新 vdi,并将它们都安装在 ubuntu vm 中。

现在我想从“50TB”源 dd 到 50GB 目标,希望当目标结束时 dd 会因错误而停止,因为它显然较小。

我的假设正确吗,或者 dd 会循环覆盖我的较小目标(我不想要)?

答案1

你安装了什么系统?如果你安装了 Linux,你可以将所有文件打包成 TAR,然后将它们移动到其他分区。

更多信息请点击这里:http://tuxilero.blogspot.cz/2014/02/linux-backup-your-linux-installation.html

回到 dd。当目标空间不足时,DD 应该停止。但我认为这会破坏其 MBR。

也许您应该下载 gparted,然后调整分区大小?

如果我是你,我会尽量避免使用 dd 来处理不同大小的分区......

答案2

简短回答:
只需保留您的 50 TB VDI,并享受它的多功能性。

长答案和解释:
我们可以使用dd逐位克隆驱动器,直到目标驱动器已满时出现 I/O 错误。我们也可以使用bscount选项复制一定量的数据dd,但执行以下任何操作不会给你想要的结果

您几乎肯定已将 50TB 磁盘定义为动态增长磁盘,并且您可能也将新的 50GB 磁盘定义为动态磁盘。通过使用dd这些驱动器,您将实际访问它们。这意味着,如果您的 VDI 中有未使用但非零的数据块,则存在两个磁盘都将身体成长最大大小为 50 GB。

为了避免这种情况,我们最好将文件从大驱动器复制到小驱动器,然后恢复引导扇区。

但即使这样也可能不需要,因为你的虚拟 50TB 硬盘实际上只有这么大。只有当你确实在 50GB 硬盘中存储了超过 50GB 的数据后,它才需要比 50GB 硬盘更多的物理空间。然后你可能会发现,无需增加磁盘容量即可继续使用它,这甚至很方便。

相关内容