2

I have a problem. On my mac, when i start and hold the ALT key, or the Command-R Key, then it doesn't boot into Recovery HD or even show it. I need it to repair, mount etc. my disk. I tried disk utility and repair disk, though that did say Recovery HD is fine. Is this because it is hidden, or because there is FileVault blocking it? And can i make FileVault enable it, or should I just disable FileVault?

Could ReFIND be a posibility to set it up for Recovery as well? Would ReFIND Still work on a double/triple boot?

diskutil says:

/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *240.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:          Apple_CoreStorage                         239.2 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                  Apple_HFS Macintosh HD           *238.9 GB   disk1
                             Logical Volume on disk0s2
                             0A1D5F20-BFE4-416E-A18F-DEC12BF0A35A
                             Unlocked Encrypted

and gpt says:

      start       size  index  contents
          0          1         PMBR
          1          1         Pri GPT header
          2         32         Pri GPT table
         34          6        
         40     409600      1  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
     409640  467182912      2  GPT part - 53746F72-6167-11AA-AA11-00306543ECAC
  467592552    1269536      3  GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
  468862088          7        
  468862095         32         Sec GPT table
  468862127          1         Sec GPT header
5

Short answer: yes, it's because of FileVault (well, actually Core Storage, but that's required for FileVault). It's normal for the startup manager (Option key at startup) to only show one volume in this mode, but Command-R should still work to start in recovery mode. If Command-R is not working, I'm not sure what the problem there is.

Long answer: starting OS X is a multistage process: the CPU firmware (aka Boot ROM) gets control first, it loads a "booter" program off disk, and that loads and kicks of the actual OS. Normally, the booter is loaded from the volume you're going to start the OS from ("Macintosh HD" in your case), but in some situations that's not possible.

If you're using FileVault, the main volume is encrypted, so nothing can be loaded from it until it's unlocked; and it's the booter that handles unlocking it. (That "pre-boot" authentication screen when you initially enter a password to unlock and start up? That's actually presented by the booter.) Since the booter can't be loaded from the encrypted main volume, OS X puts a duplicate on the Recovery HD volume, and "blesses" that as the default booter. The Recovery HD actually has two booters on it: one that's configured to unlock & start from the main volume, and another that's configured to load the recovery system from the Recovery HD volume.

Here's where the confusion comes in: when you start with the Option key held down, the firmware presents the startup manager, showing all of the bootable volumes it can find. That "Macintosh HD" volume it shows is actually the Recovery HD volume, with some volume label trickery to make it look like the main volume. The firmware doesn't notice that there's a second booter on that volume, so it only shows the one icon. As a result, the startup manager can't be used to start recovery mode in this configuration.

Command-R, on the other hand, should still work. There's some more trickery involved, but that should select the alternate booter and start you up into recovery mode. You can verify the alternate boot setup by mounting the Recovery HD volume and then using bless --info to see its selected booter(s):

$ diskutil mount disk0s3
Volume Recovery HD on disk0s3 mounted
$ bless --info /Volumes/Recovery\ HD
finderinfo[0]:    449 => Blessed System Folder is /Volumes/Recovery HD/System/Library/CoreServices
finderinfo[1]:    792 => Blessed System File is /Volumes/Recovery HD/System/Library/CoreServices/boot.efi
finderinfo[2]:      0 => Open-folder linked list empty
finderinfo[3]:    410 => Alternate OS blessed file/folder is /Volumes/Recovery HD/com.apple.recovery.boot
finderinfo[4]:      0 => Unused field unset
finderinfo[5]:    410 => OS X blessed folder is /Volumes/Recovery HD/com.apple.recovery.boot
64-bit VSDB volume id:  0x7AB8C69807215B9A
$ more /Volumes/Recovery\ HD/System/Library/CoreServices/.disk_label.contentDetails 
Macintosh HD
$ diskutil unmount /Volumes/Recovery\ HD
Volume Recovery HD on disk0s3 unmounted

Make sure your "Alternate OS blessed file/folder" is com.apple.recovery.boot, not boot.efi. If it's not... well, there may be a way to fix it with bless, but I the man page doesn't seem to be very clear on the subject. Also, make sure you're getting blessing info on the Recovery HD volume, not your main volume; the main volume will not generally have an alternate booter configured.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .