是否可以使用 DD 从硬盘获取分割的图像?

是否可以使用 DD 从硬盘获取分割的图像?

我的钢琴老师让我用他的 iPod(3-4 代,不太确定)录制他的一场独奏会,我做到了。在尝试编辑时,他不小心删除了它,我正在尝试恢复。

经过一番研究,我发现恢复它的方法我已经能够让它工作,但是 iPod 有 64 GB,并且通过 SSH 执行此操作非常慢,在过去的两天里,该过程因以下错误而停止了两次:

root@g1:/home/gustav# ssh [email protected] dd if=/dev/rdisk0s2s1 bs=1M | dd of=iphone-use2.img
[email protected]'s password: 
Write failed: Broken pipe
4113088+0 records in
4113088+0 records out
2105901056 bytes (2.1 GB) copied, 51107.2 s, 41.2 kB/s

我相信这个过程在中途停止的可能性很高,主要是因为它是通过 SSH 在 64GB 上进行的 dd(似乎需要 6-7 天)然后我考虑一次复制 iPod 磁盘的小片段并在过程完成后合并它们。

从一开始,我就注意到通过 SSH 的进程很慢,然后我有两个问题:

  1. 是否可以使用 dd 从 iPod 硬盘制作这些分割图像?
  2. 是否可以使用其他东西(例如 FTP 或比 SSH 更快的任何东西)来实现这一点?

问题的标题只有一个这样的问题,原因如下:“我已经能够通过 SSH 使其工作,等待并不是真正的问题 - 处理一直停止才是问题,分割图像是目标,但你也可以帮助我找到一些可以更快一些的方法。”

另外对于那些建议的人:“你为什么不插入 iPod 并安装它的磁盘?” - 答案是:根据我到目前为止所做的小研究,这似乎是不可能的,我发现唯一可行的方法是使用 dd + ssh。

3:我读了这里有一个块大小,这有某种关联吗?

答案1

您可以使用 dd、count、skip 和 seek 中的 3 个选项,例如:

dd if=/dev/rdisk0s2s1 of=iphone1.img bs=1M count=1024
dd if=/dev/rdisk0s2s1 skip=1024 of=iphone2.img bs=1M count=1024
dd if=/dev/rdisk0s2s1 skip=2048 of=iphone3.img bs=1M count=1024

依此类推。这样它将创建多个大小相同(1024MB)的图像。

要从备份中恢复,请按顺序加载图像,并使用以下命令:

 dd if=iphone1.img of=/somepartition bs=1M conv=sync,noerror
 dd if=iphone2.img of=/somepartition seek=1024 bs=1M conv=sync,noerror
 dd if=iphone3.img of=/somepartition seek=2048 bs=1M conv=sync,noerror

相关内容