获取ddrescue图像文件的内容

获取ddrescue图像文件的内容

我的硬盘出现故障,其中包含大约 400 GB 的数据,其中大约 50 GB 需要恢复。所有数据都位于特定目录中(/照片2018/)。

硬盘是一个WD My Passport Essential WDBAAA5000ABK(500 GB,USB 2.0)。它包含一个包含我的数据的 FAT32 分区,以及另一个包含一些 WD 软件的分区。

我尝试使用ddrescue --no-split -r3 /dev/sdb1 defekt_wd.iso defekt_wd.log.它产生了大量的错误(我没有输出),但最终得到了输出文件。如果有任何指示的话,日志文件为 1.2 MB。在此过程中,硬盘的声音越来越刺耳,而且变得相当热。

我找到了各种方法来提取内容,但没有一个成功。以下是我的尝试:

首先,传统安装(但是,由于保修条款,我无法在当前机器上重新编译内核,但如果您认为这可以在不同机器上运行,我可以复制映像文件)

# mount defekt_wd.img /tmp/defektdisk
mount: Could not find any loop device. Maybe this kernel does not know about the loop device? (If so, recompile or `modprobe loop'.)
# modprobe loop
FATAL: Module loop not found.

其次,使用xorriso。

# xorriso -indev defekt_wd.img -ls
xorriso 1.3.2 : RockRidge filesystem manipulator, libburnia project.
xorriso : NOTE : Loading ISO image tree from LBA 0
libisoburn: WARNING : No ISO 9660 image at LBA 0. Creating blank image.
Drive current: -indev 'defekt_wd.img'
Media current: stdio file, overwriteable
Media status : is written , is closed
Media summary: 1 session, 228724832 data blocks,  436g data,     0 free
Volume id    : 'ISOIMAGE'
Valid ISO nodes found: 0

我还尝试使用 7-zip 提取/列出/测试存档,例如:

# 7z l defekt_wd.img 
7-Zip 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=C,Utf16=off,HugeFiles=on,2 CPUs)
Error: defekt_wd.img: Can not open file as archive
Errors: 1

这是输出file

# file defekt_wd.img
defekt_wd.img: x86 boot sector, code offset 0x58, OEM-ID "BSD  4.4", sectors/cluster 64, Media descriptor 0xf8, heads 255, hidden sectors 2048, sectors 975394816 (volumes > 32 MB) , FAT (32 bit), sectors/FAT 119038, reserved3 0x800000, serial number 0xac2710e2, label: "XYZ "

我目前的理论是图像文件包含两个分区,但我不知道如何提取其中一个分区的内容。您能就下一步做什么提供一些建议吗?

答案1

由于您创建了 /dev/sdb1 的映像,因此您只创建了该分区的映像(而不是 /dev/sdb,后者可能是整个驱动器)只要第一个分区是包含您的数据的分区,那么将是正确的选择。

至于安装它,请尝试:

mount -o loop defekt_wd.img /tmp/defektdisk

要获取有关磁盘映像的分区表(如果有)的更多信息,请使用:

fdisk -l defekt_wd.img

答案2

我的工作解决方案是将 ddrescue 输出文件的内容复制到不同的物理硬盘驱动器(大小相同或最好更大):

# ddrescue -f defekt_wd.img /dev/sdb to_harddrive.log
GNU ddrescue 1.19
Press Ctrl-C to interrupt
rescued:   468428 MB,  errsize:       0 B,  current rate:    4653 kB/s
   ipos:   468428 MB,   errors:       0,    average rate:   34703 kB/s
   opos:   468428 MB, run time:    3.74 h,  successful read:       0 s ago
Finished                                     

包含已挽救内容的物理硬盘能够安装,并且我很幸运地检索了 50 GB 重要照片中的大约 80%。由于大部分是 JPEG 照片,我什至可以裁剪一些部分损坏的照片。

答案3

我也遇到了同样的问题,但是使用的是 exFAT 文件系统。由于 Ubuntu 20.04 存储库中没有修复 exFAT 的工具,因此我使用 Testdisk ( testdisk /path/to/broken.img) 来提取文件。 Testdisk 仍然能够读取 Recuva、Windows 或 Windows exFAT 修复都无法执行的文件列表。通过此列表,Testdisk 能够将所有映像(包括文件名和元数据)复制到另一个卷。

相关内容