Building your own Fusion Drive
This post covers the steps needed to create your own Fusion Drive with Mavericks and Boot Camp/Windows 7 working properly. The tl;dr is:
- Boot from a homemade Mavericks USB recovery stick
- Set up a Fusion Drive group in Disk Utility
- Hack Boot Camp Assistant to give you USB installation options (and partition the drive)
- Use VMWave Fusion to allow conversion from FAT32 to NTFS
- Use Winclone to restore your NTFS backup onto the converted partition
After backing up both the Mac and Windows partitions with a combination of SuperDuper, Time Machine and Winclone, I donned my best Surgeon Simulator game-face, brought up the fantastic iFixit site and dived in. 30 minutes later and with no left over screws the system booted up successfully.
Following the creation of a Fusion Drive volume, using Time Capsule to restore my copy of Mavericks went without a hitch. There were two odd problems with this. The first was that restoring over ethernet was slower than restoring via 5GHz 802.11n WiFi. The other was related to disk usage. I went from approximately 400GB up to 500GB and I don’t know what caused this, possibly sparse files now filled out to their absolute size? Frustrating!
Next came Boot Camp, and this is where I started to have issues. This being a late 2011 MBP it doesn’t have a sufficiently advanced EFI BIOS to allow proper USB booting for Windows. Because of this Boot Camp Assistant does not give me an option of creating a USB boot volume and insists I need to use optical media. I reasoned that since I already had a working Boot Camp partition archived with the excellent Winclone, I only needed BCA to create the partition and I could take over the process from then on.
There is a good discussion on the Apple forums on how you can edit the plist for Boot Camp Assistant to allow creation of USB boot media on earlier systems. After downloading the Windows 7 ISO from Microsoft, Boot Camp Assistant will happily create the USB boot device and magically create the correct partition on the spinning disk section of your Fusion Drive. You’ll get an error about it not finding a suitable boot medium upon restart, but you can safely ignore that.
Lastly I needed to restore my Winclone backup onto this new partition. Unfortunately my Windows system used NTFS and the initial Boot Camp partition is set up as FAT32. Winclone doesn’t deal with this in a nice way, and although the restore process looks like its working very slowly, it has in fact failed and the progress bar will never go up. I only worked this out after letting it run for 30 minutes.
The solution to this situation took a bit of creative Googling, and I eventually stumbled upon a technique that uses VMWare to run the Boot Camp partition and finish the first stage of Windows 7 installation. This allows you to reformat the partition as NTFS and thus allow Winclone to correctly restore its backup.
This whole endeavour was more involved than I initially thought, but the result is minimal disruption and a drastically faster system. Booting takes around 18 seconds, and heavyweight apps like Dropbox and Mail.app now launch in seconds. Overall I’d definitely recommend this as a way to breathe life into an older system, and stave off those premature temptations to upgrade.
Update
It transpires that the additional disk usage was coming from Time Machine's local backups. A very large .MobileBackups
directory clued me in, so I disabled the local backup functionality with
sudo tmutil disablelocal
and a huge amount of space became free upon the next Time Capsule backup.