Use salvage_data.py to read data off the disk, and stream a log of the data. Then use recover_log.py to turn that back into a disk image like you would have gotten with dd if there weren't problems, and also a more compact log file.