How to mess up your Fusion Drive. A cautionary tale.

I did a bit more investigation of 3 TB fusion drives on the new iMac after we received a support call that caused us to scratch our heads a bit. The person had followed our instructions on how to create a Boot Camp partition using Disk Utility, but had somehow gotten into a state where Disk Utility could no longer add or remove partitions. I led to a very interesting road about how core storage works, how Apple works around the 2.2 TB limit of Windows on MBR macs, and how Fusion drives are created using Core Storage. I already did a wrote up the internals in my Boot Camp on Large (3 TB+) drive with 10.8.3 article, so check that out if you want to see the overview of how it all works. This article will focus on the issue, how to probe Core Storage to find out the issue, and how to fix it.

If you create a Boot Camp partition on a 3 TB Fusion drive, you’ll end up with 3 partitions:

As you can see in the partition layout, there are 2 Macintosh HD and one BOOTCAMP partition. The two Macintosh HD partitions (called Physical Volumes in Core Storage) are combined to create the single “Macintosh HD” volume. Core Storage has a bunch of different terms, and they can be confusing. For example, a Logical Volume Group is not a group of Logical Volumes, but rather a group of Physical Volumes. The key piece for this article is that the Boot Camp partition is not managed by Core Storage, and the two Macintosh HD Physical Volumes are combine together and exported as a single Logical Volume. So on the desktop, you see a Macintosh HD and a BOOTCAMP volume.

The incompatibility comes up with you try and erase the BOOTCAMP partition. Since it is not managed by Core Storage, you think you could just select it and select “Erase” in Disk Utility:

Disk Utility tried to create a brand new Core Storage Logical Volume Group and add the BOOTCAMP partition to it. That is not all. It also decided to try and create some new standard (GPT) partitions to install BOOT_OS_X on it:

This is just strange. Luckily, since it is an entirely new Core Storage Logical Volume group, we can easily delete it, and get back to a state where Boot Camp Assistant can create a new Boot Camp partition. To delete the Logical Volume Group, grab the Logical Volume Group UUID and run the diskutil command to delete it. If UUID is 037CEA9F-9867-4EBC-8835-35C0E45ACCFE, I would run:

After that operation, we are back to 2 Macintosh HD’s managed by Core Storage and no Boot Camp partition. You can now run Boot Camp Assistant and it will recreate the Boot Camp partition. The moral of this story is that you do not erase partitions with Disk Utility if you have any Core Storage volume.