Made DIY fusion drive… now recovery partition won’t boot

fusion-driverecovery-hd

diskutil list shows what I am fairly certain is the correct layout. The recovery partition is "outside" the core storage logical volume group on the rotational disk:

% diskutil list   
/dev/disk0  
   #:                       TYPE NAME                    SIZE       IDENTIFIER  
   0:      GUID_partition_scheme                        *120.0 GB   disk0  
   1:                        EFI                         209.7 MB   disk0s1  
   2:          Apple_CoreStorage                         119.7 GB   disk0s2  
   3:                 Apple_Boot Boot OS X               134.2 MB   disk0s3  
/dev/disk1  
   #:                       TYPE NAME                    SIZE       IDENTIFIER  
   0:      GUID_partition_scheme                        *750.2 GB   disk1  
   1:                        EFI                         209.7 MB   disk1s1  
   2:          Apple_CoreStorage                         749.3 GB   disk1s2  
   3:                 Apple_Boot Recovery HD             650.0 MB   disk1s3  
/dev/disk2  
   #:                       TYPE NAME                    SIZE       IDENTIFIER  
   0:                  Apple_HFS Macintosh HD           *865.3 GB   disk2  

If I mount it, I see:

% ls /Volumes/Recovery\ HD/  
System          com.apple.boot.P    com.apple.recovery.boot  

% df -h /Volumes/Recovery\ HD/  
Filesystem     Size   Used  Avail Capacity iused ifree %iused  Mounted on  
/dev/disk1s3  620Mi  500Mi  120Mi    81%  127917 30773   81%   /Volumes/Recovery HD

So clearly something's there. Yet, if I hold down option, all I see are the two copies of the fusion drive (does anyone know why home made fusion drives do that and Apple's don't?).

I attempted to

bless -folder /Volumes/Recovery\ HD/System/Library/CoreServices -bootefi /usr/standalone/i386/boot.efi

but that didn't do anything.

I can't help but think that the recovery partition is mostly there and just needs a small "kick" to make it work. I certainly don't think it's worth reinstalling Mountain Lion and restoring from time machine to fix this.

The output of diskutil cs list was requested:

% diskutil cs list
CoreStorage logical volume groups (1 found)
|
+-- Logical Volume Group 748D74CE-EBC8-4A7F-985F-239E699255CF
    =========================================================
    Name:         FusionDrive
    Status:       Online
    Size:         868986765312 B (869.0 GB)
    Free Space:   0 B (0 B)
    |
    +-< Physical Volume 2CC32F7C-2358-484C-A885-5757E9AF6CFC
    |   ----------------------------------------------------
    |   Index:    0
    |   Disk:     disk1s2
    |   Status:   Online
    |   Size:     749296615424 B (749.3 GB)   
    |
    +-< Physical Volume 4C8685E8-30DA-41FA-A37D-3BD6E83F9240
    |   ----------------------------------------------------
    |   Index:    1
    |   Disk:     disk0s2
    |   Status:   Online
    |   Size:     119690149888 B (119.7 GB)
    |
    +-> Logical Volume Family 6A089C96-ACEF-4B36-BF56-7E56C42B1294
        ----------------------------------------------------------
        Encryption Status:       Unlocked
        Encryption Type:         None
        Conversion Status:       NoConversion
        Conversion Direction:    -none-
        Has Encrypted Extents:   No
        Fully Secure:            No
        Passphrase Required:     No
        |
        +-> Logical Volume CD4DEF37-AAA0-4F74-AD1B-A7DE08E3D4CE
            ---------------------------------------------------
            Disk:               disk2
            Status:             Online
            Size (Total):       865261846528 B (865.3 GB)
            Size (Converted):   -none-
            Revertible:         No
            LV Name:            Macintosh HD
            Volume Name:        Macintosh HD
            Content Hint:       Apple_HFS

Note that the fusion drive itself seems to be working fine. The only difference I can tell in using it between it and a real Apple one is that in the option menu, I see two copies of "Macintosh HD" (both will boot it up). And, of course per this question, no Recovery HD.

Best Answer

Well, I was able to "solve" this in a round-about way.

I used the recovery disk assistant with my MacBook Air to make a recovery SD card. With that plugged into my mini, I was able to successfully boot into it and the disk utility there was able to comprehend my fusion drive.

That done, I then checked and saw that the recovery partition on the SD card was the same size as the recovery partition that wasn't working right, so I did a dd from the SD card overwriting the recovery partition.

The result: my option menu now offers the choice of the fusion drive (booting normally) or the recovery partition, and both work.

What I think may have been going on is that core storage seems to want to turn the recovery partition into a 'boot helper' on encrypted volumes. Perhaps it was trying to do the same thing on this machine, despite the fact that there was a separate boot partition intended to serve that purpose.

I'm not going to mark this as "solved," however, because I think there has to have been a better way.