Some time ago my eldest and I rebuilt his Windows machine. During that process I did a really dumb, nearly unforgivable, thing. But for testdisk I would still be paying the price in self-loathing.
This was a pretty simple, although time consuming, project. Take most of the standard components from a 5 year-old Dell desktop PC and reuse them with a new motherboard, a slightly used case and a legal OEM license for Windows 7 Home Premium.
At the beginning I’d told my son to budget around 2 – 3 hours for the activity. In the end I was still working on things well after midnight, alone but hopeful.
The hardware part took time mostly because I didn’t have the necessary selection of PC screws on hand, having disposed of my substantial parts horde many years ago in an effort to “clean up my act”.
Part of the rebuild would be adding an SSD as the boot drive. The existing mechanical hard disk would be re-purposed as the data drive.
I had it all worked out. Pop in the Windows 7 DVD and then run the installer. This would be a fresh install since the O/S had been in service long enough to gather lots of cruft. So much for the plan.
In retrospect my big mistake was not disconnecting the mechanical drive before beginning, particularly because it held around 3 years of various kinds of data my son would really like to keep.
Sometime during the partitioning and formatting process all the partitions on that data drive got reformatted.
Well, there was some initial howling. Then panic. Finally desperate Googling.
After removing the hard disk and mounting it in a portable enclosure, I used the enclosure’s usb interface to hook it up to a Linux workstation. Once the disk was recognized by Linux, I ran testdisk and basically followed this guide (in case anyone is wondering, I did have to resort to Deeper Search after the first pass).
In the end, after many hours, testdisk was able to recover all partitions and data so that the drive could be reinstalled and used in the rebuilt workstation.