The great thing about the MacBook is that it’s one of the first Apple notebooks in a long time that includes a user-replaceable hard drive. And it’s incredibly easy: remove three screws, pull the drive out, put the new drive in the old drive’s caddy, and plug it back in. That part takes about five minutes. The hard part is preserving your old data, especially if you have a Boot Camp partition.

Fortunately, there are some software tools out there that can make the upgrade painless. First of all, make good backups:

  • You’ll need WinClone for your Boot Camp partition, and SuperDuper! for the Mac partition.
  • Use SuperDuper to clone your Mac partition to a bootable FireWire drive. SuperDuper allows you to perform live clones (cloning the running system), but it’s best to be careful and not run any applications while it’s doing its thing.
  • Use WinClone to create a restore image of your Boot Camp partition. Be sure to select “Prepare for restoring on a different partition”, and if you’re backing up a Vista partition, check “Add generic BCD”.

With your Macintosh hard drive mirrored to a bootable FireWire drive, and a restore image of your Boot Camp partition stored somewhere safe, you’re now ready to perform the hard drive upgrade. After that’s done, you need to boot your Mac from the FireWire drive (the cloned image). It’s almost time to reverse the steps you took, but first you need to partition the new drive:

  • This is the command I used to partition my 250GB drive. I’ve got three partitions: one big one for Mac OS X, a small one for sharing data between Mac OS X and Vista, and one big one:
  • sudo diskutil partitionDisk /dev/disk0 3 GPTFormat "JHFS+" "Macintosh HD" 140G "MS-DOS" "SHARED" 12.9G "MS-DOS" "Vista" 89G
  • Don’t create more than three partitions. Mac OS X reserves a small (200MB) partition for some kind of housekeeping, and that + three puts you up to Window’s limit for partitions. I originally tried creating four partitions on my disk, and I could not get Vista to install on it with that configuration.

It will take a little while for the drive to partition and format to complete, and then you’re ready for the next step; restoring the data:

  • Now you need to run SuperDuper and restore Mac OS X to the internal hard drive’s first partition. You’ll be cloning the system you’re running (the Mac OS X clone you made to the FireWire drive), so avoid running unnecessary software that might interfere with SuperDuper.
  • Use Winclone’s Restore tab to restore the image you made of your Boot Camp partition to the third partition.

Once these two steps are done, you are ready to shut down, disconnect the FireWire drive, and see if you can boot from your new internal drive! If something goes wrong, remember that you’ve got the old drive kicking around. All you need to do is find a Serial ATA-to-USB enclosure for it, and you’ll be able to retrieve data from it.