Recovering data off of a dead hard drive
I would try to remove the hard disk and mount it in another PC.
Than you can then try to use software for data recovery from a hard disk with the Journal File System.
Some examples:
- Clever Files (OS X)
- JFS Recovery Software (Win)
- Geeksnerds JFS Data Recovery Software (Win)
You could try following this hint from Macworld. It makes use of the Terminal (0$) to execute the UNIX command dd
to copy everything bit-by-bit from your harddrive to another location.
1. Determine UNIX id. of dead drive
If you decide to use this method you would first have to determine what the UNIX identifier of the attached disk is. Open up Terminal (Applications --> Utilities) and type the following:
diskutil list
This will give you a list of all connected drives and their partitions and it should look like shown here.
Probably your boot drive is under /dev/disk0
and the drive in the external enclosure is under /dev/disk1
. This could be different, look this up by finding the name of the dead partition in the list. Let's assume for the rest of this answer that the dead drive is under /dev/disk1
Now if you can not find the name of the dead drive in that list, diskutil
can not find your drive and the Macworld hint will not work for you. If you see it in the list, move on to the next step.
2. Define destination
This method copies the whole disk byte-by-byte. If it encounters an error it will skip it and write zeros to the destination (read the hint for full details). So, the destination should have enough hard drive space to accomodate the whole hard drive you're recovering. So if you've got a 320GB hard drive, you'll need 320GB of destination space. If you have 320GB to spare on your bootdrive proceed to step 3. Otherwise get another external drive with at least 320GB of space and then proceed to step 3.
3. Copy
The command given in the hint is:
dd bs=512 if=/dev/rXX# of=/some_dir/foo.dmg conv=noerror,sync
You should replace /dev/rXX#
with /dev/rdisk1
(according to our earlier assumption) and /some_dir/foo.dmg
differs depending on your destination. If you choose your bootdrive you could change that line to: /Users/**yourusernamehere**/Desktop/recover.dmg
If you choose an external disk you should write /Volumes/**Volumenamehere**
instead of /some_dir/foo.dmg
To summarise, your Terminal command would look as follows if you choose your boot drive as destination:
dd bs=512 if=/dev/rdisk1 of=/Users/yourusernamehere/Desktop/recover.dmg conv=noerror,sync
Or if you choose an external disk:
dd bs=512 if=/dev/rdisk1 of=/Volumes/Volumenamehere conv=noerror,sync