Migrating Hard Drives on a Mac with RecoveryHD, Filevault and Bootcamp

Please read the follow up post to this post after reading this one. Windows didn’t like the move, but the rest of my plan worked fine.
I’m shortly going to be replacing my spinning-rust hard-drive with a shiny new (fast) SSD. One hitch is that my SSD is smaller than my existing drive – but I’ve checked the sizes, and everything should fit.
Due to my slight obsession with ensuring nothing goes wrong, I’ve been googling how best to make sure nothing goes wrong. Although I’ve found various guides on how to Migrate OSX and Windows and how to recreate RecoveryHD (The accepted answer doesn’t actually answer the question, so I’ve linked directly to the answer), I haven’t found an all encompassing guide yet. So I’m going to write one as a plan.
Some software (CarbonCopyCloner and WinClone) seem to be the standard software most tutorials use for cloning. CCC claims it can handle Recovery Partitions now, but no tutorial I’ve found mentions using that feature, or deals with migrating (as opposed to recreating) RecoveryHD.
Naturally, as a plan, this is untested. And knowing my luck I may have forgotten some crucial step, so if you follow this guide then it’s at your own risk.
For reference: I’m using an Early 2011 MacBook Pro. Mountain Lion (10.8.3) with FileVault 2, Windows 7.
Things I still should check up on:
Enabling Filevault 2 or creating Bootcamp first? – I don’t imagine it will make any difference, but as both mess with the Partition layout (as I understand it), I want to be sure.
Update: As far as I can tell it, it makes no difference. All the problem reports I’ve seen refer to cases when FV was enabled with Bootcamp, but only the 3.2 Bootcamp drivers were installed – this would cause a BSoD in Windows as it choked on trying to mount an encrypted HFS+ partition. So I’ll stick with the order outlined below.
Step 0: Disable FileVault 2, to eliminate any risks it may create. Do this first as it can take a while, and it doesn’t actually make a difference for a while.
As I’m going to create a new recovery partition, I don’t want to restore an encrypted OSX, only for the recovery partition (which is used to bootup and ask for the password) to not have the method to unlock it.
UPDATE: Apparently OSX doesn’t like resizing CoreStorage (i.e. FileVault 2 volumes), so this is necessary for me as I need to resize my OSX partition.
Step 1: Check you have a full backup of everything.
My plan here is to use my normal Time Machine backup for OSX, and take an image of my Windows Partition, which shall be stored on my NAS.
Step 2: Download the Mountain Lion installer from the App Store. Use Lion DiskMaker to create a bootable USB with the Mountain Lion installer. Altnertively: Extract the installer and create a bootable USB by hand :/
(My Mac doesn’t have Internet Recovery independent from the Recovery Partition IIRC, so I need to have the OS installer around for when I switch the discs.
Step 3: Delete the ML Installer you downloaded – it’s 4GB!
Step 4: Check Filevault has fully decrypted. Double check. Triple check.
Step 5: Shrink your partitions on your source disc so they’ll fit on your new disc. For me it will mostly be OSX I shrink as that’s where a lot of my free space is…..
Step 6: Take a new TM backup and a new Windows Image. – The new Windows Image is especially if you touched the sizes of their partitions – as you want to ensure your images will fit onto the new disc.
Step 6: Swap the discs. Keep your old disc disconnected.
Step 7: Use the USB installer you created to install Mountain Lion. You should now have a recovery partition on your new disc. Along with a virgin OSX install. Install all OSX updates available – incase they update the Recovery Partition (you don’t want an out of date recovery partition).
Step 8: Clone your Mac Partition across. You should now have a working OSX install with all your OSX data.
Step 9: Disconnect your old disc. You’re done with that now (in theory).
Step 10: USe Bootcamp Assistant to create the Windows Partition. Don’t install it.
Step 11: Use the image of your Windows partition 1 to put Windows back onto that partition.
Step 12: Boot into windows and deal with anything that throws your way if Windows decides it’s not license or whatever. And we now have a working Windows install
Step 13: Re-enable Filevault 2 in OSX. Let it encrypt itself in the background.
Step 14: Take a new set of backups.
Step 15: Dance a merry jig.
Step 16: Realise you’ve forgotten something crucial and give up on this and head back to your old disc with your tail between your legs.