我最终想知道哪些文件在 (g)ddrescue 生成的图像中受到损坏的影响。
GD救援(命令ddrescue
)是用于从损坏的介质中恢复数据的工具。
当指定/dev/device
和 时output.file
,a日志档案或者地图文件也可以指定,这是强烈推荐的。
这样一个日志档案或者地图文件一些相关信息,以便能够在中断后随时恢复恢复过程,其中包括数据存储设备上损坏区域的列表。
如果我有gddrescue地图文件/日志文件,如何从中生成不可读的 LBA 的简单列表?
映射文件/日志文件包含以下列表字节源驱动器的(十六进制数字)已损坏。
它可能看起来像这样:
# pos size status
0x00000000 0x00001000 +
0x00001000 0x00002000 -
0x00003000 0x0000A000 +
0x00001000 字节是 2048 字节。
在此示例中,LBA 2 和 3 不可读。 LBA 1、4、5、6、7、8、9、10、11、12、13 和 14 可读。
字符含义
'?'复制未尝试的块
'*' 修剪未修剪的块
'/' 刮擦未刮擦的块
'-' 重试坏扇区
'F' 填充指定块
'G' 生成近似映射文件
'+' 完成
如何使用该日志文件中的信息生成不可读的 LBA 列表?
这坏块命令从该映像文件创建的循环设备中找到 0 个坏块。http://unix.stackexchange.com/questions/459154/list-bad-blocks-and-affected-files
如果循环设备可以模拟 gddrescue 生成的映射文件/日志文件中列出的 HDD 区域的不可读性,那就太好了。
答案1
gddrescuelog
致力于这一目的。
https://www.systutorials.com/docs/linux/man/1-ddrescuelog/
-c 选项或 --create-mapfile 选项允许您创建映射文件,只要您可以提供正确的 --block-size 或 -b,这通常是第512章在闪存驱动器和硬盘驱动器上2048在光盘上。
-l, --list-blocks 选项允许使用给定的 --block-size 执行相反的操作,生成不可读的 LBA 列表。映射文件只是一个以十六进制列出的可读和不可读字节的列表。您也可以将其输出到 >>a_file.list.txt 中。
手动的man ddrescuelog
:https://www.systutorials.com/docs/linux/man/1-ddrescuelog/。