Be sure to copy to another partition (as writing on same may screw it up more worse). But I am afraid, that you will have use that method, as it seem your FAT table is corrupt. And also Windows will not detect that partition's FAT anymore. But using testdisk to copy all detected files (maybe do not recover deleted, depending on what testdisk detects) to a SD card is a nice trick. Let us know how it goes...