Recovery HD Is not showing up. Is it because of FileVault?
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
Solution 1:
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.