I recently upgraded the hard drive in my 2009 Mac Mini (model Macmini3,1) to a solid-state drive (SSD), and thought it might be helpful to share some notes on the experience. Opening up the Mini and poking around inside it rarely seems to be a trouble-free experience, and it wasn’t this time, either.
Background
Before we get started, a quick word on why I undertook this upgrade at all. I’m not a big proponent of SSDs; while they perform (somewhat) better, particularly on reads, their $/GB numbers are dreadful. All else equal, I’d always pick magnetic media at today’s prices.
Unfortunately, all else was not equal in my case. Periodically, the factory Hitachi drive would emit one or more loud, worrying clicks. Despite much googling, I was never able to arrive at a conclusive diagnosis of (let alone solution for) this behavior. The clicks might have been produced by the head mechanism hitting a mechanical stop, or the drive waking up, or the drive going to sleep. They might have indicated a problem with the drive, or with the interaction between the drive and the OS/firmware. On web forums people suggested various patches, utilities, and workarounds, none of which seemed to work for everyone, and none of which worked for me.
Significantly, some people reported that even swapping the drive for another magnetic disk didn’t reliably solve the problem. There was no way I was going to do an HD swap if I couldn’t be certain that it would solve my problem, so I chose to go with an SSD. Prices have been falling, and have now reached the “not too painful” range (very roughly 8x the cost of magnetic media), so I ponied up for a 120GB SSD from Other World Computing.
I also dropped $30 on a drive adapter; this widget lets you mount any bare SATA or PATA HD as a USB drive. It came in very handy, and I’d recommend it to anyone who plans to monkey about with HDs.
Hardware Notes
The physical process of swapping the drive went very smoothly, and is well described by this video. I’d only add two notes.
First, the factory-installed screws (shown about halfway into the video) that hold in the HD are very stiff. As in “am I turning this the right way” stiff. The side-mount screws are particularly tight.
Second, the drive carrier must be flipped (mostly) rightside-up when sliding the new drive into its SATA and power connections. In the upside-down configuration in which, e.g., the drive’s screws are accessible, the drive will come to rest too far into the carrier for the SATA and power connections to be aligned.
Aside from those issues, however, and the normal hassle of getting pre-unibody Minis open, the hardware install went well.
Software Notes
Giving into to cheapness and/or laziness, I didn’t image my new drive from my old one before doing the swap. More accurately, I tried to do the imaging, but only with Disk Utility’s “Restore” capability. This didn’t work; the Mini refused to boot from the new drive, and when I re-booted from a Snow Leopard CD, it indicated that OS X couldn’t even be installed to the new drive.
Not wanting to tinker with this further, I re-partitioned the drive, re-installed OS X to it, and restored my system from a Time Machine backup. This worked ok, but there were one or two (or eight or nine) little problems.
Problems
1.) The Time Machine restore didn’t seem to install the latest version of the OS. (Xcode, at any rate, complained that the OS revision was too low.) I used Software Update to pull down the latest release of 10.6 from AAPL.
2.) MySQL didn’t start automatically after the Time Machine restore. I didn’t investigate this problem in detail, as it disappeared on its own after the OS upgrade (and attendant reboot) discussed in (1.), above.
3.) My command-line developer tools (in /Developer/usr/bin) weren’t on my Unix shell path. To be fair, this issue might have pre-dated the upgrade, as I don’t do much C compilation from the command line. I tweaked the path in .bash_profile.
4.) My iTunes application complained that my computer wasn’t authorized for media associated with my account, and asked me to authorize it. When I did, iTunes reported that the computer was already authorized. It’s worked fine since.
5.) A number of files weren’t recreated properly during the Time Machine restore. These are the ones I found:
- The mod_wsgi Apache extension wasn’t installed to the new HD. I re-installed this from source.
- The most recent revisions of some httpd *.conf files were missing; older versions were in their place. I recovered them manually.
- The most recent revisions of some MySQL tables (mysql.user and mysql.db) were missing, so some MySQL users had disappeared. I recreated the user accounts manually.
- Some iPhoto events were missing; more accurately, the events were there, but the photos were missing. I recovered the missing directories (stored under YYYY subdirectories of the Data.noindex, Modified, and Originals subdirectories of /Users/username/Pictures/iPhoto Library, if you’re interested) manually.
It appears that these files weren’t properly recreated because their latest versions weren’t backed up by Time Machine. It was at this point that the drive adapter came in really handy, as I was able to hook up my old drive to a USB port, and pull off the missing files by hand.
I’m not sure what to make of the unarchived files; I can see no pattern to which files were archived and which weren’t. I also see no reason to believe that I’ve found all the missing files, so I’ll be keeping my old drive around for a good long while. Limited experimentation suggests that Time Machine is now working properly (at least, it’s now archiving files that it previously missed) and I’m tempted to believe that these missing files are indicative of a problem with my pre-existing hardware or software configuration. It’s possible that my clean re-install of OS X will save me trouble down the line. However:
6.) The Mini no longer wakes properly after it auto-sleeps. If I leave the Mini alone, it will at first show a screen saver, and then eventually sleep the computer and the display. If I return to the machine and wake it (with the KB or mouse), then the display will wake up, apparently showing the last image generated by the screen saver. However, the computer will not further respond to any additional inputs; I must reboot it with the power switch.
I’ve “resolved” this by changing my Energy Saver preferences s.t. the computer never automatically sleeps. This is a reasonable workaround; the display will still auto-sleep, the Mini will recover from manually-initiated sleep modes, and, as a desktop, I don’t care too much about energy consumption. It’s still a little worrying.
Lessons Learned and Future Plans
If I had it to do over again, I would make more of an effort to properly image my old HD to the new SSD (and verify that I could boot from the new drive over USB) before opening up the Mini and swapping the drives. On the other hand, given the Time Machine issues that I’ve seen, I’m not sure that I didn’t dodge a bullet by re-installing OS X; the original system may have had some issue that would have (a.) transferred to the new disk and (b.) come back to haunt me in the future.
For that reason, I’m reluctant to tinker with the system further, e.g., attempt to restore my original disk image. I’m a little concerned about the sleep behavior of the new SSD, and unhappy that some number of files are probably missing from the new system, but, overall, the thing works.
I’m generally happy with this upgrade: The clicking is gone, and the Mini is (a little) quieter and (somewhat) faster. Boot times and app startup times are both noticeably down. It’s not perfect, but what is?