How to restore a failed external hard drive from Time Machine?

Naming the brand new drive the same as the old drive is the first step, but it doesn't get your files restored. After that you need to open the (empty) drive in Finder and then "Enter Time Machine" from the Time Machine icon in the Menu Bar. You can then go back to your last backup, select all the files and folders at the top level of your (old) drive, control-click on them and restore them. Prior to doing this I turned off Time Machine backups while this long restore was taking place.

I tried Migration Assistant but it didn't appear to have the ability to select a specific hard drive to restore.

I am in the middle of a restore using this method, and have yet to see whether Time Machine in Snow Leopard successfully identifies the new drive as the same as the old drive. When I tried this method last year in Leopard, Time Machine decided that the identically-named drive was a new drive with the same name -- I ended up with two backups named "Ext HD" and Ext HD 1", one of which was the old, discarded drive, and the two together doubling the amount of space they used on my backup drive. You can control-click on an item in Time Machine and have it delete all backups of an item if you end up in this situation, but then you'll lose all your old archival backup data for the drive.

Also, I suspect this method misses hidden files at the root of the drive -- if you've changed the drive icon it isn't restored, for example. If that's a problem I believe you can navigate up one level to the machine in the Time Machine window, select just the external hard drive backup, and restore everything, but it will then be in a folder named after your external hard drive. You'll have to manually move both the visible and hidden items once the restore is done.


Lets assume

  • your old disk was mounted under /Volumes/USB-old
  • the new disk is mounted as /Volumes/USB-new (may be the same name as the old one. I use a different name to make clear what is what)
  • the time machine backup is under /Volumes/backups

To restore the backup stop time machine (in the preferences: uncheck the "Back Up Automatically" checkbox) and restore it on the command line:

sudo tmutil restore /Volumes/backups/Backups.backupdb/MacBookPro/Latest/USB-old/* /Volumes/USB-new

You can associate the new disk with the backup using:

sudo tmutil associatedisk /Volumes/USB-new /Volumes/backups/Backups.backupdb/MacBookPro/Latest/USB-old

Note: even if your new disk is mounted under the same name as the old one, you have to run the command above, because time machine uses the disk UUID and not the disk name to associate the backup (see man tmutil)!

If you now switch on time machine, it will not create a new backup and add changes on top of the old backup.