我有几张旧 CD,上面有划痕,无法播放。还有一张有划痕的视频 DVD。有没有可能使用 Ubuntu 恢复数据?
答案1
您可以使用救援恢复损坏的介质。与常规 dd 不同,它不会在无法读取的扇区处停止。这对于光学介质尤其有用,因为有时重试或反向读取介质会产生不同的结果。
笔记:此方法不适用于恢复有划痕的音频 CD。
安装
sudo apt install gddrescue
救援
使用 ddrescue,您可以尝试分多个步骤恢复数据。并非所有步骤都是必需的。
步骤 1:获取良好数据
在第一次运行中,我们恢复所有可读的内容并记录看似损坏的内容。
ddrescue -b 2048 -n -v /dev/sr0 dvd.iso rescue.log
块大小2048是 DVD 介质的默认块大小。设备名称/dev/sr0您的系统上可能有所不同。只需运行mount
即可找到正确的名称。
第 2 步:尝试坏块
如果步骤 1 之后没有出现错误,则大功告成。如果出现错误,请运行以下命令来集中精力处理坏块。
ddrescue -b 2048 -d -r 3 -v /dev/sr0 dvd.iso rescue.log
参数-d允许直接访问设备(请求不经过内核),-r 3是坏块重试的次数。
如果仍然出现错误,请继续。
步骤 3:回溯
最后运行这个:
ddrescue -b 2048 -d -R -r 3 -v /dev/sr0 dvd.iso rescue.log
参数-R反转读取方向。这通常会导致更多可以成功恢复的块。
结果
即使仍有一些错误,ddrescue 也会用零填充无法恢复的块,这样您在播放媒体时就不会出错。视频 DVD 包含大量错误校正数据。这意味着即使仍有错误,您可能也听不到或看不到恢复的媒体的任何问题。
答案2
我用dvdbackup
:
> dvdbackup -p -i /dev/dvd -o my-out-dir/ -M
这将创建my-out-dir/.../TS_VIDEO
。
然后我使用 HandBrake 对数据进行编码。
这样,我就能够对有划痕的 DVD 进行编码。