Ja, die Idee ist richtig, aber der Befehl ist schlecht. Wenn es nur einen Lesefehler gibt, überspringt der Befehl dd ein Byte, wodurch das Partitionsschema fehlerhaft wird. Sie müssen angeben, dass jedes Byte (von Anfang an) an denselben physischen Ort kopiert wird.
$ dd if=/dev/oldsataspinningdisk of=/dev/newssd bs=64K conv=noerror,sync