дегенератор с большой вероятностью добьет старый винт. особенно если на месте бэда - хорошая царапина, на которой головы тупо сгорают. и вообще, запись чего-либо на додыхающий винт - еще та лотерея...
ничего "лоу левел" в нем нет - просто он как идиот пытается многократно записать данные в нечитаемый сектор (к слову - независимо от ответа винта и вообще его наличия, если винт отключить - дегенератор это и не заметит) используя стандартные ата команды. а весь его "волшебный алгоритм" - тупо запись паттернов 01010101, потом 10101010, потом - 00000, потом - 111111, которые якобы как-то должны типа восстановить сектор (но по факту либо срабатывает римэп, как и при любой записи в пендинг сектор, либо - ничего не происходит).
а так - да, ddrescue самое то для таких случаев. сначала - вычитывается то что читается, с пропуском больших блоков, потом - дочитываются сектора в пределах битых блоков.