补充说明
ddrescuelog 与 GNU ddrescue 配套,读取其 mapfile(记录每个扇区状态的日志),用于显示进度、统计、比较、筛选和转换。恢复过程中可随时运行它查看已复制与坏区的比例。
常用 -t 显示汇总统计,-p 打印 mapfile 内容,-D 在完成后删除日志,-c 创建或更新日志。它也能把多个 mapfile 合并(-m),或按域筛选(-d,域由 -x 定义)。
注意:mapfile 必须与对应镜像/设备一致,误删或混用会导致 ddrescue 误判。不要在 ddrescue 运行期间修改 mapfile;需要比较两次恢复进度时,先复制一份再操作。
它不访问磁盘数据,只解析日志,因此速度很快,适合在恢复过程中反复查看状态。若 mapfile 损坏,可以用 -c 从现有日志重建,但可能丢失细节。
语法
ddrescuelog [选项] mapfile
选项
-t/--show-status:显示完成度统计;-p/--show-mapfile:输出 mapfile 内容;-D/--delete-if-done:完成后删除 mapfile;-c/--create-mapfile:创建或更新 mapfile;-m 文件:与另一个 mapfile 合并;-d 域:只处理指定域;-x 文件:从文件读取域定义;-v/--verbose:详细输出;-q/--quiet:安静模式。
实例
# 查看恢复进度
ddrescuelog -t disk.map
# 打印 mapfile 详细块信息
ddrescuelog -p disk.map | head
# 只统计坏区情况
ddrescuelog -t disk.map | grep -i error
# 完成后删除 mapfile
ddrescuelog -D disk.map
# 合并两个 mapfile
ddrescuelog -m second.map first.map