Кажется, что ddrescue пытается восстановить все блоки на диске или разделе, даже те, которые не содержат файлов. Разве не было бы возможно для него выяснить, какие блоки на самом деле содержат файлы, посмотрев на файловую систему, например, таблицу основных файлов в NTFS?
Изменить: кажется, это может быть возможно в сочетании с partclone:
http://partclone.org/features/
Для спасательной ситуации, режим восстановления Partclone будет пытаться пропускать плохие блоки и делать резервные копии всех хороших блоков для разделов. Программа ddrescue - это еще одно лучшее решение для сохранения поврежденного диска, в то время как с помощью partclone, перечисляя все используемые блоки в виде файла домена, она может сделать ddrescue умнее и быстрее при выгрузке раздела.
Смотрите также:http://sourceforge.net/p/partclone/mailman/partclone-user/thread/4DDB8E29.1030403@mev.co.uk/