I'm a former data recovery technician (circa 2011) and I'll do my best to help. Some of my information may be out of date, or I may misremember. If you feel I've made any factual errors and you have the expertise to back your opinion up (ie not just hearsay) please help out by leaving me a comment or proposing an edit or making your own answer to clear up.
I freely admit there are people who know more than I do, if you are one of those people and you wish to help out, I would appreciate the gesture greatly. This is more of an outline/overview. Specific information will need to be hunted down, you can generally find this information via research, or reverse engineering, or have it provided to you by someone who has done one of those things already.
I will try to stay away from recommending certain hardware and software solutions in accordance with SU policy.
The number one best way to recover your data is to restore it from a recently made backup. No amount of data recovery can fix some drives. All of the advice here may not work. Keep a backup.
Hard drives are complicated beasts. And the Data Recovery business is secretive, close mouthed, and incredibly technical.
There's several ways your hard drive can fail. These can be divided roughly into 3 categories. Software, firmware and hardware.
This is not intended to be an exhaustive list of all possible answers, but merely a good place to start.
Software
You will want to image your hard drive before attempting any software recovery. You need a backup in case a mistake is made or in case things go south.
Deleted files:
- We need to know what OS you are using.
- We need to know what file system you are using.
- We also need to know about approximate level of file system fragmentation, if available.
Depending on your filesystem and running OS your options may include recovery software, recovery via inode, recovery from Volume Shadow Copy and other hidden backups, or raw recovery based on file signature.
Damaged index and/or file records:
- We need to know what OS you are using.
- We need to know what file system you are using.
- We also need to know about approximate level of file system fragmentation, if available.
Depending on your filesystem your options may include recovery software, image and index repair, manual hunting of filesystem index entry (via regular expressions and hexdumps), or raw recovery based on file signature.
Overwritten or damaged MFT
- We need to know the FS previously in use.
Your options include recovery software (such as testdisk) which can automatically find and add lost partitions, failing that other recovery software with manual offset hunting (can usually perform via MFT or superblock backups).
Partial or completed format:
- We need to know what OS you were using and are currently using.
- We need to know how long and how hard you've been using your computer since then.
- We need to know approximately how much data was placed back on the hard drive, and how much data you had before.
- We need to know what FS you were using and which one you are currently using.
- We also need to know about approximate level of file system fragmentation, if available.
Depending on the situation your options are limited to selective imaging of unwritten space followed by recovery software and raw recovery based on file signature. If you know what the file name is, it might be possible to find the index entry via a manual search.
Firmware / Hardware
In order to help you we will need to know:
- Hard drive manufacture
- Hard drive model and size
- Hard drive firmware versions (probably)
- Detailed symptoms
- Steps taken so far
- Cause of damage if known
Visual inspection
Before attempting to power on your broken hard drive, it would behoove you to inspect it. Are the holes being covered by too much dirt? Ground yourself and remove the PCB. Is a chip on the PCB fried? Is it shorting against the hard drive casing? If the hard drive comes with a foam spacer is it burnt through or missing? Does it smell like magic smoke? Is it dented?
Damaged PCB
If the drive's PCB is damaged, you will need to detach the serial ROM (about 2 minutes of surface mount soldering work) from the board and locate a donor drive as close a match of your drive as possible, you will need the same firmware version, and sometime firmware versions can change a lot.
Drive does not spin up
One of the more common problems is the drive's motor chip; this can indicate that you have a short in your motor, which will cause any other PCB you use to also be damaged. In order to determine if this is the case you will need to use a multimeter and measure the resistance across the contacts. Depending on the model different values will be expected, check your donor drive for expected values is a good rule of thumb.
Another common cause is a triggered TVS diode located near the power. This should be obvious as it gets very hot and smokes when plugged into power. Desolder and replace (they're cheap), be wary for other issues as well, because the TVS diode is a safety device to protect the drive from an overpower situation.
Also on laptop drives sometimes a fall sensor chip can be damaged. The symptom will be failing to spin up on applying power. You can either remove or replace this chip, depending on model.
Another possibility is a short on the casing, or a short in the drive (in the voice coil or motor.) Or bad connection to the motor. To hunt these down see if the PCB boots via JTAG or Serial interface (if possible) or via ATA if you know the manufacturer's commands or have equipment which does (it exists but is expensive, research if interested).
Another possibility is damaged bootstrap firmware or wiped bootstrap firmware. You can dump the serial ROM and check it against a donor, but difference are expected even with the same firmware version. You will need reverse engineering skills to diagnose a problem unless its obvious or you have several donors to compare against to find out where differences are expected.
Drive spins up
When a hard drive powers on it does so in several stages. First the CPU boots up and reads the bootstrap firmware from ROM on the PCB. This ROM contains, among other things, some basic adaptives for reading the disk surface.
Hard drive manufacturing is a finicky process. Our demand for high density disks has completely outstripped our ability to consistently manufacture parts needed to read those disks, so a drive is created, then measured and tuned up so that it can read the disk surface. The best way to read a hard drive is by using the same hard drive. Although the technology exists to read older hard drive platters separate from their casing, because this process is so slow and expensive to construct it's more of a marketing gimmick than anything substantively helpful.
The bottom line is that two hard drives, manufactured on the same day, in the same factory, with the same model and the same firmware and with sequential serial numbers can be completely different. They can and usually do even contain different platters, and different heads. The PCB ROM has this information, which is why just swapping PCBs almost never works on modern drives.
After the adaptives are read the hard drive flings its heads from the parked position out to the disk and attempts to read any servo label. It typically contains information that allows a hard drive to determine what track its on, and patterns of magnetic pulses that allows the hard drive to slightly adjust their heads to compensate for drifting in or out and for slightly non-circular tracks.
If the hard drive cannot find or maintain track that can cause intermittent clicking or the dreaded click of death.
Clicking on power on
A drive clicks on power on that means that it is not reading its servo labels. This can only be related to the read/write properties of the drive. There is a problem with:
- The primary platter and any platter with a backup system area (drive is unrecoverable).
- The head or head amplifier chip (replaced as unit, doesn't matter which).
- The connection between the internal I/O system and the PCB (repaired by cleaning contacts, commonly with a pencil eraser.)
- Wrong adaptives on PCB (either wrong through wearing and use, or because PCB was swapped).
- Problem with the PCB's read write system (damaged trace or chip).
Drive spins up you can hear it seek a bunch and then spins down.
If a drive spins up seeks a bunch and then spins down that either means that the drive could not find or could not read the system area (because of damage to the system area, or some other reason such as a failing head), or that the firmware in the system area is damaged in some way.
To be continued at a later date, when I need something to take my mind off of work. There's a bunch more to come.