I've got an external 640Gb HDD which has been badly treated (accidentally packed into a sea shipment container then left in storage for 9 months, probably had some extreme temperatures too). I'm trying to get the data off it with limited success. So far I've managed the following using a debian box I have available:
Image - Worked:
- ddrescue to create an image (took about 10 weeks with a few crashes where the errors during reading overloaded my system, most errors occurred in three blocks at the start of the disk, about 1/3 of the way in and about 3/4 in)
Partition table - worked (sort of):
- testdisk - cannot find any sensible valid partitions (shows a few which overlap and do not fit within the disk geometry)
- so I checked the orginal disk table using parted and created a replica in the image file. The values seem reasonable (starting sector 63, end at end of disk, type FAT23-LBA)
Recover data - failed (sort of)
- fsck.msdos -rv give mismatches between the two FATs, I've tried using each of them and then mounting. Mount doesn't give any errors but the mounted directory is empty
- testdisk tells me that the boot sector and backup are invalid and then goes off to try and recreate it. Unfortunatley it doesn't find the root directory when searching (it comes up with plenty of suggestions but nothing in the first half of the disk or that has the right number of entries)
- photorec - recovers about 450Gb of data, mainly riff files (which makes sense as most of the data was .avi) but no usable filenames.
So 450Gb of randomly names avi files - not much use. I tried using extract to pull the metadata from a sample of a few files but none of them have a "Title" tag or similar.
What I think has happened is that the root directory was at the start of the disk and has gone completely, so when mounting there is just emptyness.
Ideally what I would like is to either:
- recover files in their directory structure (coping with the fact that everything will at some level be an orphaned directory) or at least with original filenames
- identify the files based on their contents without sitting watching them all.
Does anyone know of any tools which can do either or am I stuck with what I've got so far?