koffiejunkie
Executive Member
So, my 32GB card somehow picked up some filesystem corruption. But koffiejunkie, didn't you buy the iPad to backup photos on the go? Well, yes, I did, and it worked brilliantly, until someone on a bus in Cambodia decided they needed it more than I do. Oh well.
I ran the Sandisk recovery software (the one that comes with the CF cards) and it worked well, except for files that were not stored in continuous fashion.
Short explanation for those who don't know how filesystems work: CF cards are formatted in the FAT32 filesystem. When you format a card, all that happens (in very oversimplified terms) is your camera creates a new File Allocation Table (FAT for short) that contains a few columns. One is for the start sector, one for the end sector, and one for the the file ID. There's more to it but not relevant here. When a file is written, the name is recorded, where it begins and where it ends. When your computer reads off the card, it looks up the file name, sees where on the card (which sector to which sector) the data is located, and reads that. With the FAT, the card is just one continuous blob of data.
When your card gets corrupted, what's really happening is the FAT gets messed up, so it's impossible to know where on the card the files are physically located. So what Sandisk Rescue Pro (and similar software) does, is read each sector, and checks if the data coming off it looks like the beginning of an image file, and it keeps reading until it finds the next sector that looks like the beginning of an image file.
So far so good. But what happens if you take a few pictures that don't come out right, you delete them right from the camera? You now have bits of data with empty bits in between. When you take your next picture, it will be written into one of those gaps. If the file is small enough to fit in the gap, all is good, and you'll be left with a smaller gap. If the file doesn't fit, the gap will be filled, and the remainder of the file will be written in the next gap, and the FAT will have multiple entries referring to each part of the file (file system fragmentation - why you have a defragger in Windows).
Now, the beginning of the second bit of data can be any random stuff, so it's not easy to know what the data is. Thus, when you run Sandisk recovery software (or any of the other ones), it will only restore the first chunk of a file written into one of those gaps, and you'll end up with a useless file.
Ok, that wasn't so short. Anyway, this is what I'm looking at. Most of my images were recoverable, but a few weren't. They weren't too serious, I don't remember any special ones that I don't see in my collection, so that's OK. But I did take a fair bit of video, and of the 30 or so clips, I could recover only one.
So I'm wondering if anyone knows of any software that either has a bit of intelligence to recognise secondary chunks of data and match them up, or at least store them out as separate files so I can go mix and match them manually? (and please don't just shout out your favourite recovery tool unless you know for sure it does this - I'm not going to risk corrupting my card further)
If all else fails I'll have to fire up the hex editor, but with 32GB to work with, that's a looooong term project!
Thanks
I ran the Sandisk recovery software (the one that comes with the CF cards) and it worked well, except for files that were not stored in continuous fashion.
Short explanation for those who don't know how filesystems work: CF cards are formatted in the FAT32 filesystem. When you format a card, all that happens (in very oversimplified terms) is your camera creates a new File Allocation Table (FAT for short) that contains a few columns. One is for the start sector, one for the end sector, and one for the the file ID. There's more to it but not relevant here. When a file is written, the name is recorded, where it begins and where it ends. When your computer reads off the card, it looks up the file name, sees where on the card (which sector to which sector) the data is located, and reads that. With the FAT, the card is just one continuous blob of data.
When your card gets corrupted, what's really happening is the FAT gets messed up, so it's impossible to know where on the card the files are physically located. So what Sandisk Rescue Pro (and similar software) does, is read each sector, and checks if the data coming off it looks like the beginning of an image file, and it keeps reading until it finds the next sector that looks like the beginning of an image file.
So far so good. But what happens if you take a few pictures that don't come out right, you delete them right from the camera? You now have bits of data with empty bits in between. When you take your next picture, it will be written into one of those gaps. If the file is small enough to fit in the gap, all is good, and you'll be left with a smaller gap. If the file doesn't fit, the gap will be filled, and the remainder of the file will be written in the next gap, and the FAT will have multiple entries referring to each part of the file (file system fragmentation - why you have a defragger in Windows).
Now, the beginning of the second bit of data can be any random stuff, so it's not easy to know what the data is. Thus, when you run Sandisk recovery software (or any of the other ones), it will only restore the first chunk of a file written into one of those gaps, and you'll end up with a useless file.
Ok, that wasn't so short. Anyway, this is what I'm looking at. Most of my images were recoverable, but a few weren't. They weren't too serious, I don't remember any special ones that I don't see in my collection, so that's OK. But I did take a fair bit of video, and of the 30 or so clips, I could recover only one.
So I'm wondering if anyone knows of any software that either has a bit of intelligence to recognise secondary chunks of data and match them up, or at least store them out as separate files so I can go mix and match them manually? (and please don't just shout out your favourite recovery tool unless you know for sure it does this - I'm not going to risk corrupting my card further)
If all else fails I'll have to fire up the hex editor, but with 32GB to work with, that's a looooong term project!
Thanks