Rescuing data from a damaged Windows hdd

A neighbour talked to me on the street lately that his laptop hard disk may be damaged, because his laptop didn’t even boot anymore. The data on the disk is important to him so he asked if I may take a look.

So that’s what I did with this hdd, a WD 500GB.

  1. Put it into my harddisk docking station and checking if my system recognizes the hdd.
    • Yay. At least the partition table isn’t damaged, and it’s not a headcrash. I can access all partitions and mount them.
    • Ohoh, Windows partition damaged! SATA read errors on this one, so maybe damaged blocks. (used dmesg -w)
    • Backup partition readable without erros and transferred all data to another disk.
  2. Attempt to rescue data from the damaged partition
    • *Uses dd magic* {dd bs=1M conv=sync,noerror if=/dev/sdd2 of=/media/data/win7.img}
    • After dd has finished, setting up the loop device ({losetup /dev/loop2 /media/data/win7.img}).
    • Generating a vmdk for virtual box to be able to load the image as a disk for my Windows 7 VM.
      • {VBoxManage internalcommands createrawvmdk -filename /tmp/test.vmdk -rawdisk /dev/loop2}
    • Starting the VM and let windows do the task of repairing the damaged ntfs partition, let’s hope there’s something to rescue after that step…
    • … while waiting for that step to finish, my neighbour brought me his 3TB external hard drive to transfer the data on.
      • Which was formatted with FAT32 *sigh*, saved the data, reformatted to NTFS and copied the data back.
    • The NTFS chkdsk took almost more than 72h!
    • And after that 72h, nothing useful was there to rescue. The “User” folder was just empty. 🙁
      • Well, after a second look some days later i remembered that windows ntfs chkdsk saves data in “found.000”, so i checked that again and found at least some files which were recovered, hopefully enough for my neighbour. 🙂
  3. finish.