i have never used any of them, but I think ddrescue, gddrescue and myrescue (apt packages) are made for what you're doing. good luck, Tiago Saboga.