First, I put both the new and old drive into a PC of mine, and loaded up an Ubuntu LiveCD. At this point, my old drive is showing up as /dev/sde and new drive is /dev/sdf (WARNING: be sure to update the below commands with your device assignments or you can easily ERASE all your data). fdisk doesn't work on the drive because it is a GPT partition table(?), and so I use gdisk instead.
I forgot to mention in my question, the drives are of different sizes (500gb was old, 128gb is new), so I couldn't just clone the entire drive. Instead, I recreated the partitions with gdisk and copied the MBR over.
I most likely went about creating the MBR (master boot record) on the new drive completely wrong, but this way worked for me:
dd if=/dev/sde of=/dev/sdf count=39 bs=512 (the reason was the first 39 sectors were not part of a partition)
- Next, I opened
gdisk /dev/sdf with which there was a problem: the MBR I copied over brought the old drive's partition table & its sector information (i.e. new drive thought it was 500gb). So I used the "repair" option in gdisk as it recommended, deleted partitions #2 & #3, and saved the table.
- At this point, if I went back into
gdisk, the disk showed a MBR, and no longer had errors.
Next, I created the other two partitions, being extra careful to setup the sector size exactly as the old disk had (for the #1 EFI partition and the #3 Recovery HD partition that is). For #2, I just did the math, and created the disk accordingly).
Finally, I used dd to copy partition #1 ("EFI System Partition") and #3 ("Recovery HD") over from the old drive:
dd if=/dev/sde1 of=/dev/sdf1
dd if=/dev/sde3 of=/dev/sdf3
When I put the new drive in my MBP, I held Command+R to get into the Mac OS X Utilities, at which point I erased my main partition (at first, the disk wasn't listed when I went to install Lion -- probably since I just created the partition and didn't format it). I formatted it to the recommended file system (Journaled -- I forget how they phrased it).
OS X Lion is currently installing, and seems to be okay. I'll post back if I get any oddness.
Note: gdisk mentioned in its help section that it is probably best to use a Mac disk utility if the GPT drive is being use on a mac, so take my solution with a grain of salt. (I think fdisk says the same warning about NTFS and FAT, but I've never had a problem with using fdisk/linux to create/format/etc on that end).