How do I recover an "invisible" OS X boot option in BootCamp (running on a 2013 MBA)?

Summary

Unable to boot into the OS X partition of a 2013 MBA which dual-boots OS X and Windows 8 via BootCamp. Could "Repairing Disk" via "Disk Utility" damage the working Windows 8 partition? What other utilities/actions should I try?

Detail

I have a 2013 MBA that was setup by the Ops department in a company I did some work for to dual-boot OS X (for me) and BitLocker-encrypted Windows 8 (for work on their codebase) via BootCamp. They had to wipe the OS X Recovery partition to achieve this. At some stage the OS X partition was working fine (I'm assured), but I'm only able to boot into Windows 8 now. To complicate matters my access to the account on the Windows partition is now disabled (so I can't do further diagnostics through it), but that's another story. The Ops department have had a look but it's beyond their experience with BootCamp.

  • On pressing Alt/Option on startup I can get into the BootCamp Boot selector; it lists only "Windows"
  • From within Windows 8, when I choose the BootCamp "Boot to OS X" option, it just starts up in Windows 8 again.
  • From within Windows 8, the BootCamp control panel lists two "Windows" related startup options, both of which appear to boot to the same
  • From within Windows 8 I could confirm there were 2 accessible disk partitions of approx equal size, one looked (to a cursory examination) to have the filesystem structure I'd expect from a Unix, from which I extrapolate that the files of the OS X partition are still in place and undamaged.
  • When I run Internet Recovery, Disk Utility lists 5 partitions. It is unable to mount any of them. disk0s2 and disk0s4 must be the Windows and OS X partitions as they are almost 50% of the total volume each (the others are all ~ 100MB), but both show up as MS-DOS (FAT), whereas presumably one should be a Mac OS Extended format? I tried to "verify" the first three, all got as far as "Checking file system" and then failed "Error: This disk needs to be repaired. Click Repair Disk", some with extra info:

    • disk0s2 Format: MS-DOS (FAT):

      ** /dev/disk0s2
      Invalid BS_jmpBoot in boot block 000000
      
    • disk0s3 Format: Mac OS Extended (Journaled): [No extra explanation]

    • disk0s4 Format: MS-DOS (FAT):

      ** /dev/disk0s4
      Invalid signature in fsinfo block
      fix? no
      ** Phase 1 - Preparing FAT
      FAT[0] is incorrect (is 0xD9058EB; should be 0xFFFFFF8)
      Correct? no
      FAT[1] is incorrect
      Correct? no
      ** Phase 2 - Checking Directories
      Root directory starts with cluster out of range(0)
      
    • disk0s5 Partition Type: DE94BBA4-... (corresponds to Windows Recovery Environment): unavailable for verification

    • disk0s6 Partition Type: DE94BBA4-... (corresponds to Windows Recovery Environment): unavailable for verification

My questions are

  • Could running "Repair Disk" damage the working Windows partition?
  • Does this sound like a common problem that can be easily fixed by doing X (my google-fu drew a blank)?
  • What other utilities/actions should I try that definitely won't damage the working Windows 8 partition?

Solution 1:

I managed to run more diagnostics against the disks from the Windows side. From the BitLocker password screen, choose something like "Esc", "Esc", "Skip this drive", "Advanced", "Utilities", "Command-line" (please correct), then use manage-bde -unlock to unlock the BitLocker drive, and use various wmic commands to examine the disk partitions. Through this I confirmed:

  • disk0s2 is my OS X partition. There are some tools which can change Guids in the GPT; it seems this is what happened to my OS X partition. This explains why OS X doesn't recognize it, but when booted into Windows I could access the data in it no problem.
  • disk0s4 is my Windows partition. To the best of my knowledge, the Invalid signature in fsinfo block errors I was getting are due to it being fully BitLockered which means the encrypted bits on disk don't look like a valid partition. Windows can apparently recognize the signature and warn you on trying to read from a locked BitLocker partition.

These are all the possible solutions I came across (largely through Apple's very helpful Tech Support), including the things that didn't work for me and why:

  1. Backup your existing partitions as images to an external drive via the "New Image" option in Disk Utility. I do have a 1TB backup drive, but it's NTFS formatted and apparently OS X can't write to NTFS disks by default (try this to enable NTFS write access on a standard OS X installation - but it doesn't work in Internet Recovery as the terminal gives you access to a read-only file-system only).
  2. Backup your existing partitions as images to an external drive via [name of Windows program here]. I couldn't find any built-in Windows utilities capable of this, and due to my Windows login being disabled I couldn't access a full Windows environment to run any proper backup tools. I tried running them from the BitLocker command-line but I couldn't get any of them to work, I assume because the environment is heavily cut-down (and most of them insist on "installing" rather than just "running").
  3. Backup your existing files by transferring them to another Mac via Target Disk Mode - I have no second Mac on hand to make this work.
  4. Just run Repair Disk - it is reportedly very unlikely to damage anything. When I tried this it just said it couldn't repair the disk - possibly because the BitLocker partition doesn't look like a valid partition (see above). A bit of an anticlimax after agonizing over the decision for days...
  5. If you have the Invalid BS_jmpBoot in boot block 000000 error, someone wrote a utility which can reportedly fix the GPT up again. I couldn't use it because I couldn't find a way to install all it's dependencies (e.g. Python...) in the Internet Recovery read-only file-system.
  6. Just erase some/all partitions and start again - in the end I decided to take the plunge and erase the existing corrupted OS X partition, leaving the rest untouched (once I'd made myself relatively certain which one was OS X). Disk Utility makes it very straightforward to erase a single partition and install OS X on it.

Erasing the OS X partition and re-installing has now resulted in me being able to dual-boot OS X and Windows 8 via BaseCamp as desired. Next time I'm in Windows I'll have to check whether I do indeed have "MacDrive" installed, and remove it if I do.