Date: 2008-06-26 23:02:00
digital bits are hard to kill
I had a little adventure in data recovery yesterday. Amy had taken lots of pictures for the Christchurch Knit in Public Day, which she had saved on her CF memory card. Her co-organiser Dierdre also had a bunch of photos taken with her camera. Just before Dierdre left for Australia for two weeks, they traded copies of their photos so they both had the full set. Amy came home, copied both sets of photos from the CF card to her Mac Mini, formatted the CF card, and then the Mini's hard drive promptly died.

Because Dierdre (and her copies of the photos) was now unavailable, Amy asked whether I could recover the photos of the CF card. Since she had actually formatted it, instead of just deleting the files, the root directory and both FAT copies were zeroed out. I dumped a copy of the whole 1 GB card contents to a file, then wrote a little script that located each JFIF header, which appears at the start of each JPEG file. It turns out that there was virtually no fragmentation on the CF filesystem, so each photo was stored in sequential sectors. I captured everything between one JFIF header and the next into a set of image files, and that worked perfectly.

Amy was surprised to see photos from months ago (her triathlon, our anniversary trip to the west coast, earth day, my photos of butterflies and bumblebees) recovered in addition to the recent Knit In Public Day photos.
[info]pne
2008-06-26T12:03:08Z
Yay!
[info]kuoirad
2008-12-30T03:58:03Z
I just had a similar problem crop up today when trying to get the pictures I took at [info] 's wedding. Thought I'd copied the pictures to my laptop successfully, but apparently hadn't. As usual, I deleted all images from within the camera after I put the card back in.

After some googling, I found this: PhotoRec. Worked wonderfully. I was looking for maybe 20 pictures I took yesterday - it found almost 600. :)
[info]ghewgill
2009-01-03T08:54:25Z
Thanks for the link, looks like a good solution too.
Greg Hewgill <greg@hewgill.com>