如何将原始 ISO 文件恢复至分区?

如何将原始 ISO 文件恢复至分区?

我使用命令从 USB 创建了一个 ISO 文件dd,就像这样!

sudo dd if=/dev/sdc1 of=/var/isos/hbcd.iso conv=noerror

我的 USB 有 fat32 文件系统

我尝试使用下一个命令恢复

sudo dd if=/var/isos/hbcd.iso of=/dev/sdc1  conv=noerror 

但只显示根目录中的小文件,然后跟踪以下内容:

sudo ddrecover if=/var/isos/hbcd.iso of=/dev/sdc1  /var/isos/hbcd.log

但也不起作用

我安装了sleuthkit尸检并告诉我恢复的分区有一个 RAW,fs它应该是 FAT32。

我怎样才能再次恢复这些数据?

答案1

也许您的设备 (sdc) 上的 MBR 有问题,请尝试 testdisk,也许它能够在 sdc 上修复它?或者,sdc 本身可能存在一些物理错误,我个人在使用 USB 闪存 (SD 卡、拇指驱动器) 和多个分区时遇到过一些问题。

或者分区备份(hbcd.iso)有问题,请尝试

fsck.msdos -n /var/isos/hbcd.iso

看看它是否喜欢 fat32 分区。(-n 不做任何改变,只是为了检查)

或者首先,为了获取数据,如果是好的 fat32 文件系统,直接挂载 hbcd.iso 文件应该可以工作,然后你可以从中复制所有内容,而根本不需要使用 sdc。Testdisk 也可以直接从中复制文件,如果它有问题,可能会更好地工作(运行 testdisk hbcd.iso)。类似这样的操作应该可以工作:

mount -o loop,ro hbcd.iso [somedir]

如果 mount 和 testdisk 无法读取文件系统,则 photorec(testdisk 软件包的一部分)可以从 hbcd.iso 中雕刻出数据,但可能不会保留任何原始文件名。我认为 sleuthkit 应该有一些不错的数据雕刻工具,甚至可能是 testdisk/photorec。

不要忘记数据恢复规则:先备份并使用它!否则,一些小的拼写错误或恶意程序可能会抹去所有内容,因此请备份 hbcd.iso。

答案2

据我了解dd,它读取其能读取的数据并复制所获得的数据。

但如果出现错误,则没有数据,因此没有任何内容可复制,也不会有任何内容写入输出
- 因此conv=noerror 你得到了不匹配/偏移实际数据和扇区/块编号之间。

您需要conv=sync,noerror消除这种影响。sync添加“NUL”数据(此处为零字节)来填补空白并将以下块保持在输出(图像文件)中应在的位置。

相关内容