Likely the most common complaint I've heard about the Apple TV in its thus-far-short life is that the included hard drive is too small. With movies from the iTunes Store weighing in at around 1.5GB, and hour-long TV shows around 500MB, the Apple TV's 40GB hard drive—which gives you only 33GB or so of actual storage space—fills up quickly, especially if you also want to store music and photos on it.
As it turns out, and as I mentioned earlier this week in my "Hacking Apple TV" article, upgrading the Apple TV's hard drive isn't all that difficult—several Web sites had written about the procedure within days of the first units rolling off the assembly lines. The process likely voids your warranty, and requires some hardware disassembly and a few trips through Terminal, but unlike, say, dismantling a MacBook Pro, upgrading the Apple TV's drive is a reasonable task for most people. (If you aren't the adventurous type, two companies have already announced for-fee drive-swapping services.)
I had hoped to perform this storage surgery as soon as I received my Apple TV, but when I first opened it up, I discovered that the drive inside wasn't a 2.5-inch SATA drive, like those used in all recent Apple laptops (and of which I had several sitting around), but rather an ATA drive—making this the only Apple product, other than the 5th-generation iPod, still using ATA. So I had to get a new drive. I ended up ordering a HITACHI Travelstar 5K160, a 160GB drive (5400rpm, 8MB cache, as compared to the stock drive's 4200rpm, 2MB cache) that's advertised as low-power and cool-running (the latter being a desirable feature given that the Apple TV can get hot while in use). The price was a reasonable $110.
The following how-to assumes your Mac is running Tiger (Mac OS X 10.4), as some of the Terminal tools used aren't present in earlier versions of Mac OS X.
As I noted in my earlier article, Apple hasn't made it difficult to get inside the unit. The biggest obstacle—and it's more a psychological one than a physical one—is that the large rubber "foot" that covers the entire bottom of the Apple TV is attached via adhesive; once you remove it, it does't re-adhere very well, so it will be obvious that you've tinkered with your new toy (hence my warning about voiding your warranty, above). Functionally, though, this isn't much of an issue; when you're done with the upgrade, the Apple TV rests perfectly on top of the rubber foot, even if it's not permanently attached. (And if you're careful, you'll peel it back only about halfway during the process.)
To perform hard-drive surgery on the Apple TV requires removing eight screws on the bottom of the unit; you'll need a couple Torx-style screwdrivers to do so. The first four are at the four corners of the base; you simply peel each corner back slightly and then remove each screw with a Torx 10 screwdriver (you can also use the more-common Torx 8 size, necessary for removing the hard drive, in a pinch). This detaches the bottom of the Apple TV from the rest of the unit; if all you want to do is peek inside, you can now lift up the bottom to look. (Two tips: First, put a towel or similarly-soft layer under your Apple TV to avoid damaging the unit's easily-scratchable top surface. Second, keep track of which screw goes where, since the two closest to the front of the Apple TV are longer than the two near the back.)
To release the hard drive—it's connected to the base—you've got four more screws to remove and, unfortunately, they're not in the corners—which means peeling back more of the adhesive foot. However, the drive is located flush against the front edge of the Apple TV, so you don't need to remove the entire foot; just peel it back three inches or so until you see all four hard-drive screws. A Torx 8 screwdriver will let you remove these.
Lift up the bottom of the Apple TV and you'll find that the hard drive, despite being unscrewed, is still "attached." That's because there's an adhesive pad keeping it in place; a gentle tug should release it.
You'll also need to remove a small adhesive pad from the front of the drive. Both are reusable, so you can put them on your new drive when you're ready to install it. Unplug the ATA connector cable from the drive and you're ready for the next stage.
Preparing the new drive
The process of upgrading your hard drive involves making the new drive look—to the Apple TV—just like the original one. This means that the first thing you need to do is connect the original drive to your Mac so you can copy its contents. Since the drive is a standard 2.5-inch ATA drive, any external hard-drive enclosure or cable adapter (such as Newer's Universal Drive Adapter) will work. I opted to purchase MacAlly's 2.5" USB 2.0 Mac External Storage Enclosure, which was only $12 when purchased with the new drive from NewEgg.com.
Tip: When you connect your Apple TV drive to your Mac, Spotlight will want to index its volumes (described below), which creates Spotlight index files on each volume. I don't know if these files will do any harm, but you probably don't want them. I used Spotless to disable Spotlight on these volumes—for both the old drive and the new one—and to delete any Spotlight files that might have been created on either drive between the time I plugged that drive in and the time I disabled Spotlight for it. (You could isntead drag each volume to the Privacy list in the Spotlight pane of System Preferences, which should prevent Spotlight from indexing those volumes, but this feature doesn't always work well.)
Note: While you've got the Apple TV's hard drive connected, feel free to do some exploring—just don't make any changes or add or delete any files. You'll find that the OSBoot partition is really just a Mac OS X volume, with slight modifications for the Apple TV. Inside the Media partition is a Media folder, where all of your media is stored, and a Scratch folder that contains, among other things, the user account, frontrow, that's automatically logged in when you start up your Apple TV. (You'll even find odd legacy files in here, such as Internet Explorer's default bookmarks file!) Dive down into /Volumes/OSBoot/System/Library/CoreServices/Finder.app—which is actually the Apple TV's Front-Row-like interface—and you'll find /Contents/Screen Savers, which contains the three screen-saver plugins offered in the Apple TV's Settings screen; how long before someone creates new screensavers you can drop in here?. You'll also find, by snooping through various preferences files, that the Apple TV's project name was apparently "Riptide."
Once the Apple TV's drive is connected to your Mac, you'll see two new volumes in the Finder, OSBoot and Media. But the drive actually has other partitions. If you launch Terminal and type
diskutil list and then scroll to the Apple TV drive's listing, you'll see something like this:
/dev/disk4 #: type name size identifier 0: GUID_partition_scheme *37.3 GB disk4 1: EFI 34.0 MB disk4s1 2: 400.0 MB disk4s2 3: Apple_HFS OSBoot 900.0 MB disk4s3 4: Apple_HFS Media 36.0 GB disk4s4
The above partition listing presents a bit of a problem: multiple partitions means you can't just "clone" the stock drive to your new drive using a utility such as SuperDuper and then install the new one in the Apple TV. (Well, you could, but you'd have to first repartition the new drive to match the partition layout of the original and then clone each partition separately—a messy process.)
Instead, we'll use the
dd command in Terminal. This utility can duplicate an entire device (such as a hard drive), including all partition information. It can also copy a disk or device to a local file, which is helpful if you have only a single drive enclosure or cable. In fact, that's the process I'm going to describe here: to copy the original Apple TV drive to an image file on your Mac's hard drive and then later copy that image to the new Apple TV hard drive. Here are the steps; note that you'll need around 37GB of free space on your Mac's hard drive for temporarily storing the image file:
- In the
diskutil listoutput noted above, find the listing for your original Apple TV’s hard drive; note the part that says /dev/disk# (mine, above, is /dev/disk4, but yours may be disk2, disk3, or another number).
- In Terminal, type
dd if=/dev/disk# of=/Users/Shared/AppleTVImage.dmg bs=1m, where /dev/disk# is the identifier you determined in the previous step. This command creates the image file, which I’ve named AppleTVImage.dmg in your Shared folder; you could change that path to any location on your drive you prefer. If you don’t have room on your main hard drive but have another drive connected that does have the necessary space, instead use the command
dd if=/dev/disk# of="/Volumes/[name of volume with free space]/AppleTVImage.dmg" bs=1m, where [name of volume with free space] is the name of the volume on which you’re storing the temporary disk image. If you’re curious about the structure of the command being used, if means “input file,” of means “output file,” and bs is “block size” (the amount of data copied at once); 1m tells the command to copy in 1MB chunks, which should be much faster than copying block-by-block. Even so, this process can take a long time, since you’re copying every block of a 40GB drive; you may want to start it before you go to bed at night.
- Once the previous process is finished—you’ll see the command prompt reappear in Terminal, along with a summary of how much data was copied and the time it took—you can unmount the Media and OSBoot volumes and then disconnect the original Apple TV drive.
- Connect the new drive to your Mac using the same enclosure or cable; if you get OS X’s “unrecognized volume” dialog, simply click on Ignore.
diskutil listagain to verify the device number of the new drive (it will likely be the same as the previous one, but just in case).
- Use the
ddcommand again to copy the image file you created to the new drive:
dd if=/Users/Shared/AppleTVImage.dmg of=/dev/disk# bs=1m(or
dd if="/Volumes/[name of volume]/AppleTVImage.dmg" of=/dev/disk# bs=1mif you saved the image to a different drive), where # is again the disk identifier.
- Wait (again).
- When the process is finished—again, you’ll see the command prompt reappear in Terminal—the Media and OSBoot partitions for your new drive should automatically appear in the Finder.
Note: As I mentioned, the above procedure can take a long time, since you're copying every block—twice (once from the original drive to the disk image, once from the disk image to the new drive). For example, the copy from the original drive to the image file on my Mac took just over eight hours; the copy from the image file to the new disk took just as long. A must faster procedure, though one that's much more technical in nature, is also available. (An even shorter version, which requires a bit more technical knowledge on the part of the user, is here.)
Note: If you happen to have two drive enclosures or cables, so you're able to connect both the old and new drives simultaneously, the above procedure is a bit simpler, since you can copy the old drive directly to the new one. After using
diskutil list to find the device number of each drive, use the following Terminal command:
dd if=/dev/disk# of=/dev/disk# bs=1m, where the first disk# is the device number of the original Apple TV drive and the second disk# is the number of the new drive. This should cut the overall copy time in half.
At this point, you can delete the AppleTVImage.dmg file from your Mac's hard drive if you like. However, if you can spare the space, you might want to keep the image around for a while, just in case something goes wrong during the next few steps. The image file can also be useful if you plan on experimenting with your Apple TV; at any time, you can restore your Apple TV back to "new" status by erasing the new Apple TV hard drive and restoring it from the image file.
The joys of repartitioning
You might think you're ready to stick the new drive into your Apple TV at this point, but there's one problem: The new drive's partitions are exactly the same size as those of the original. In other words, right now, your new drive appears to be a 40GB drive. (Go ahead, do a Get Info on the new Media partition and you'll find that it's only 36GB.) Where did all that extra space you paid good money for go? It's there, but it isn't (yet) being used. You need to repartition the drive—meaning rearrange the drive's segments—so that the Media partition includes the extra space.