Last summer the hard drive on my Macbook suddenly stopped booting. After panicking, I took it into work and was able to figure out a way of recovering my data, formatting the hard drive, and restoring Mac OSX without too much trouble.
Guess what happened again last night.
- USB storage (hard-drive, thumbstick, whatever)
- A target computer (optional)
Step one: Boot into recovery mode. This is done by holding down the “Command” and “R” keys while booting. You should get a window titled “OS X Utilities”, with four options: “Restore From Time Machine Backup”, “Reinstall OS X”, “Get Help Online”, and “Disk Utility”.
Step two: Attempt to recover the drive. Click “Macintosh HD” in left pane. The right pane should give you a button to “Verify Disk”. Follow the suggestions to repair your disk. In my experience, these steps fail, but if they work for you, then you’re probably golden.
Assuming repairing the disk fails…
Step three: Mount your drives. You should see both the Macintosh HD and your USB drive in the left pane. Mount both. If necessary, you can format your USB drive to HFS first. This will probably be required.
Step four: Open the terminal. If you go back to the main window (in other words, close the Disk Utility programme), the menubar will have a “Utilities” drop down. Choose “Terminal”.
Step five: Copy over the files. Everything you care about should be under /Volumes/Macintosh HD/User/. Your USB drive should be mounted to something like /Volumes/Untitled (or a different path, if you gave it a proper name).
Step six: Verify recovered data. On another PC, mount your USB drive and make sure the data was successfully copied over. If you’re in Windows, you can use HFSExplorer to read the HFS filesystem. Note: If you can’t find the USB drive under “File” -> “Load filesystem from device”, open the programme again in administrator mode.
Step seven: Reformat and reinstall. Go nuts. You can do this stuff through the “OS X Utilities” window. I did this, and it worked for about a year. This time I think I’ll throw Linux on instead.