Rolling out your own Fusion Drive with the recovery partition

disk utility showing Fusion Drive

My Macbook Pro has two disks, an HDD and an SSD, each of 240GB or so. With the details of Apple’s Fusion Drive coming out I decided to do what any reasonable geek would do to their production computer: I’ve decided to implement my own untested, highly experimental and barely understood Fusion Drive.

One of the things that initially put me off doing this was that according to the 3,471,918 tutorials that have popped up in the last 10 minutes would cause me to lose my Mountain Lion recovery partition because these partitions are not supported in a Fusion drive. Turns out this is not exactly true.

Fusion Drive is just a marketing term for a what essentially is a CoreStorage logical volume spanning an SSD and an HDD. And although you cannot have the recovery partition inside a CS logical volume, it doesn’t mean you can’t have both a recovery partition and a Fusion Drive at the same time. It’s all in the diskutil man page, by the way:

Create a CoreStorage logical volume group. The disks specified will become the (initial) set of physical volumes; more than one may be specified. You can specify partitions (which will be re-typed to be Apple_CoreStorage) or whole-disks (which will be partitioned as GPT and will contain an Apple_CoreStorage partition). The resulting LVG UUID can then be used with createVolume below. All existing data on the drive(s) will be lost. Ownership of the affected disk is required.

What matters is what’s in bold above: we’re not limited to using whole disks. So here’s what I did.

I rebooted my system and held the option key so I could select my recovery partition as the start up disk. Once the OSX recovery started up, I launched a terminal to do the dirty work.

diskutil list

From this I noted two things: (a) the main SSD partition (the one holding my OSX and that sited by my recovery partition) and (b) the disk name of my HDD. They were respectively disk0s2 and disk1 in my case, but they’ll very likely be different for you. Then the magic begins.

diskutil cs create "Fusion Drive" disk0s2 disk1

(For crying out loud, you need to change disk0s2 and disk1 for whatever makes sense on your system!)

That created the coreStorage logical volume. Then I listed it all again to note what the new logical volume UUID was.

diskutil list

The UUID is a long number identifier like F47AC10B-58CC-4372-A567-0E02B2C3D479. You’ll need that one next to actually create the volume where you’ll be installing your system.

diskutil coreStorage createVolume F47AC10B-58CC-4372-A567-0E02B2C3D479 jhfs+ "Macbook FD" 100%

The command above will create a volume named “Macbook FD” using 100% of the logical volume we had created earlier.

I then restored my Time Machine backup and that’s it.

Update: Note that after this process, the Recovery partition will still be present and things that require it (such as Find My Mac) will work fine. Some people correctly pointed out, however, that you can no longer boot from the recovery partition by using the menu from holding ⌥ (option) during boot. I’m not sure why that is, but fear not, it will still boot normally from pressing R (command + R).

Also read...

Comments

  1. Hi!

    I have fusioned a single SSD partition with the entirely HDD disk with your guide, of course, preserving the recovery partition. It works very well, thank you very much!!

    Reply
  2. Is it possible to keep the existing boot camp partition? What I mean is does it work after you’ve merged/fused the HDD with the SSD (OS X Partition). Currently my Samsung 830 128GB SSD consists of three 4 partitions (2 visible to me), Mountain Lion (10.8.2) and Boot Camp (Win 7). In addition to those two I have the recovery partition and EFI partition

    Reply
    • Hello Valentin, I had windows 8 installed with bootcamp and OSX on the SSD (and documents music etc on the HDD). I followed step by step the tutorial and when the fusion was created, restored OSX with a time machine backup.
      Now I can boot windows from the SSD and OSX from the Fusion. All seems to work well. Thanks Rob for the tutorial :)

      The only problem i have found is that now I can’t boot from the Recovery HD. When I boot holding the ‘alt’ key I see this: https://dl.dropbox.com/u/7104543/2012-11-27%2011.31.45.jpg
      - Macintosh HD 2 -> this may be ‘Recovery HD’ but if I boot with it, it takes me to Macintosh HD…
      - Macintosh HD -> boots OSX
      - Windows -> boots windows
      When I try ‘diskutil list’ it shows the ‘Recovery HD’ partition but even if I force to boot recovery holding ‘cmd+R’ it boots the internet recovery…

      So windows boots well, OSX too, but I don’t know what happened to the Recovery HD.
      Hope someone knows how to fix it!

      Reply
      • I have tried to copy the Recovery HD partition in my SSD to a external disk using SuperDuper!. When I boot to the external disk Recovery HD copy it brings me to the Macintosh HD automatically and boots OSX.

        In addition, the internal Macintosh HD partition has changed it’s name to Recovery HD, but still boots OSX (not the recovery). So the situation now is:
        - Macintosh HD 2 -> boots OSX
        - Recovery HD -> boots OSX
        - Windows -> boots windows
        * – LaCie -> the external copy of Recovery HD that also boots OSX

        Reply
  3. Pingback: » Finding Steve’s recovery partition: Solving an Apple mystery » webaligns

  4. Pingback: Finding Steve’s recovery partition: Solving an Apple mystery « vyagers

  5. Pingback: Finding Steve's recovery partition: Solving an Apple mystery

  6. Pingback: Technable | Making you Technically Able

  7. After following some other instruction, I found theses much more detail instruction and set-up my SSD + HDD into a Fusion drive with the recovery partition and it was very usefull. I was using Carbon Copy Cloner to create the recovery partition and then copied everything else. Thank you again.

    Reply
  8. I can’t seem to get it working. I followed the instructions closely. The drives are corretly fused, judging by the diskutil list and diskutil cs list outputs. But I can’t restore my TM backup. It always brings an unspecified error at 0%. It seems like it can’t write on the FD.
    Then I have to reboot. After the reboot, the FD is un-mounted (and the cs volume is absent), but still fused (volume group still present). I’ve un-fused the partitions and fused them again, same error.
    Another anomaly I have is, right after the fusion, the recovery partition is still present when I boot with option-key. But I can’t access it by booting with cmd+r. In the later case, it takes me directly to internet restore.

    Any suggestions?

    Reply

Leave a Reply