How to replace hard drive without reinstalling the whole system?

Solution 1:

This can be done with Time Machine. NOTE this will not make an exact bit-for-bit copy of your current harddrive, but will copy over all users' files, settings, applications, etc. (including /usr/local), as well as the operating system files themselves.

  • Time Machine does not backup cache directories, files that have been moved to the trash, etc. I have also found it does not backup the saved state of open applications nor Office product keys.

These steps are broadly from: https://www.imore.com/how-back-up-mac-time-machine.

  1. Connect your backup harddrive and make a current Time Machine backup by going to System Preferences -> Time Machine -> 'Show Time Machine in menu bar'. Then go to the menu bar icon and select 'Back Up Now'.

    • You should be backing up already (right?!?), so this should not take long.
    • If you have not made a backup already, enable Time Machine and then start the backup.
  2. Once the back up is complete, swap out your internal harddrive for the new one (following all safety instructions).

  3. Power on your computer and hold the Command and R keys to enter the recovery partition (this may take a few minutes).

  4. Select 'Disk Utilities' and ensure that the volume on your new harddrive is formatted as Mac OS Extended (Journaled).

    • If it is not, reformat it. This will delete all files on the new harddrive, but there should be nothing on your new harddrive so this should not be a probelm.
  5. Now quit 'Disk Utilities' to go back to the list of utilities.

  6. Select 'Restore from Time Machine Backup' from the Mac OS Utilities and click Continue.

  7. Select your Time Machine back-up source and click Continue.

  8. Select your latest back up and click Continue.

  9. Select your new hard drive as the Destination.

  10. This will restore over all backed up files to your new harddrive.

Solution 2:

Have you considered cloning your current hard drive? With a utility like Carbon Copy Cloner (which you can use for free for 30 days, I think), and an external interface for your new hard drive (USB, Firewire, etc.), you can clone--i.e. make a bit-for-bit copy of your operating system and installed programs--the drive that's currently in your computer. Then, when you install the new hard drive, the computer should see it as the boot disk and everything should pick up exactly where you left off--just with a lot more storage.