Here's a little tool I wrote to recover jpeg files off of broken / corrupted raw fat images.
Instructions:
use a tool (I use winhex) to make a raw image of the f*cked up file system
make a copy of that file and call it raw.bin
run my program and it should output jpg files for you.
Notes.
It is hard coded for fat cluster sizes of 4kb, you must change the source for others
It is also hard coded to detect Olympus-style jpeg data (they do things their own way, of course).
It also expects that empty bytes are 0xff rather than 0.