> Если носитель испорчен физически(разрушился носитель/считывающая головка), они не помогут. Вообще-то с умеренно порушеным покрытием, таки, прокатывает, если не идиотничать.
> Они умеют тоже самое, что умеет dd, только с другими параметрами.
Они умеют как минимум...
1) Грубое чтение образа с быстрым уходом из дефектных зон, как минимум ddrescue/myrescue точно.
2) Уточняющие чтения с все более мелкой гранулярностью, когда даже если пациент сдохнет - ну и хрен с ним, большая часть данных уже была и это было приближение к flawless.
3) Конфигурируемые параметры всего этого. Число повторов и паттерны, как реагировать на ощибки и проч.
4) Лог или битмап отстройки образа. Необходимо для многопроходного чтения чтобы трекать какие регионы успешно прочли а какие нет. Ессно dd и близко ничего сравнимого не умеет.
5) Advanced вариант: отсылать команды в накопитель самому, в обход большинства апи операционки. Ибо кернел не очень хорошо реагирует на пачки бэдов и задумавшийся фирмвар, так что "файловые" апи не очень устойчивы к откровенно сбойному винчу.
> Просто потому, что используют стандартные ресурсы и возможности операционной системы.
Стандартные ресурсы и возможности операционной системы - не то что мы хотим для работы с основательно потрепаным винчом. Они не для этого созданы и не очень хорошо работают в ситуации когда с винча лезут, реально, большие пачки бэдов, фирмварь надолго уходит в себя и все такое. В принципе у линя за годы отросла довольно развитая логика рекавери из глюков девайсов, но насколько фокусы кернела по деглюку девайса наложатся на потуги фирмвари основательно потрепаного винча - это весьма большой вопрос. Иногда оно может пытаться ресетить фирмварь которая пыжится все же прочесть сектор до упора. Иногда это не особо получается и девайс теряется. Что с точки зрения файлового апи совсем ахтунг: открытый файл /dev/wtf более не валиден! А чо делать если девайс на RESET не ответил за несколько попыток? А то что он там через 5 минут отвис... ну... это новый /dev/wtf и новый файл! И чего dd в такой парадигме ловить? Вот штуки типа ddrescue сориентируются по логу/битмапу какие регионы еще не читаны и дальше поедут. В лучшем случае доперев переоткрыть файло даже :). Но командами так то менее сыкотно, там caller получает результат команды в репу. И если таймаут - ну, обидно, но это все же лучше чем "ой, /dev/wtf куда-то совсем пропал".