I recently bought a Macbook Air, wanting to expand my repertoire with iOS applications. (Despite how much I speak out against Apple, they have two things going for them: build quality and platform awareness; two things which are very hard to pass up as a developer.) However, having used Ubuntu for my schoolwork and also wanting Windows for a future job at Microsoft, I knew that I would struggle to be able to use a Mac without my trusty developers' operating systems.

That left me with one choice: multiple operating systems in a dual- or triple-boot fashion. But I'm ambitious with technology, so I was going all-in on this. I found this LifeHacker tutorial and planned to follow it to the tee, with the addition of a shared partition to transfer files easily between operating systems.

Mac OS X

Mac OS was obviously the easiest install. I never had any problems with it, nor booting to it, during the entire process. If only the other two had played so nicely...

Windows 8

Windows was a fairly simple start; I wanted to use a CD but the Air has no CD tray and I didn't want to lay down a bunch of bucks on an external optical drive. Instead I used the Windows USB tool to make the bootable USB stick. Once I had rEFIt working, I installed Windows with basically no problem, until I got to the Windows 8 "personalize" screen, where I had no keyboard or mouse input (which were required to continue). I reinstalled the OS, but that had no effect; I then tried making the Windows boot USB with Boot Camp Assistant; this fixed an issue with the screen resolution of the Windows 8 install, but I still had no keyboard input.

After hours (literally) of attempting to work around it, and trying to determine whether my USB sticks were 2.0 or 3.0 (as a result of article), I found one person in some forum somewhere that suggested booting to Mac OS, shutting down, then booting to Windows 8 again. Boom, worked, Windows 8 was done! But we're just getting started.

Ubuntu

Ah, the shining star at the end of the path. Or so I thought. So at first, since I had the Ubuntu 12.04 ISO around (and was using that on my previous laptop), I went for it. The first time I had it installed, it worked perfectly, except for the network driver, which I was able to download from the Ubuntu site and transfer to my Mac and install. Boom, done. Until I rebooted to a solid purple screen. Lovely.

Not just that, but when booting to either Ubuntu or Windows (not Mac OS, somehow!), I got the Ubuntu boot menu (GRUB) and had to select my OS a second time from that. This was half my own mistake and half not; I should have specified the bootloader drive as the Ubuntu drive (and not made a separate partition for it), but the tutorial was for a pre-12.04 installer which had the option in a different place, so I never got the chance to do so.

So I did what any moron would do: I uninstalled Ubuntu and wiped the GRUB bootloader out. Stupid mistake, as I could no longer boot to Windows. Luckily, I was able to Google-fu this issue and find out that . It worked like a charm, and Windows 8 was booting again. At some point, to get the booting proper, I had to create an hMBR (hybrid Master Boot Record), though this was pretty easy once I found a thorough blog on it. (Will link this later if I find the blog; my history is so polluted with help files on these issues that it's a needle-meet-haystack problem.)

I proceeded with Ubuntu; at this point, I upgraded to 13.10 (since the Ubuntu site does not list 12.04 troubleshooting for an Air 6,2, which I have). More problems: I couldn't even get into the OS to begin with; same purple screen. So, I tried in recovery mode, and got this lovely message as the last output before it hung:

smpboot: Booting Node 0, Processors #1

And that was it for me. I couldn't get past it, nor input anything. I read dozens of pages (including a very technical-ish bug report ) about adding boot flags to GRUB, and after (literally) a half-dozen hours of searching, I found the nosmp flag which disables multi-core processing and allowed me to boot.

FINALLY.

Except... I wanted both cores. I told myself that, if there was no way to get it booting properly, nosmp would suffice. But I had to try.

Big mistake.

The only solution to this is to make Ubuntu boot via EFI, not through Legacy boot mode, which GRUB does by default. This process sucks . It sucked even more as I could not get the Boot Repair Disk utility (necessary for setting up EFI) to be bootable; I didn't realize until much later that I could download a standalone version to a non-bootable USB and run it from there. D'oh.

But the process itself was so, so shady: it asked me to do several weird boot organization commands, and eventually failed with an error (as had many of the commands I entered, such as trying to force grub to install, despite errors, using --force ; DON'T DO THIS ), but I hit "Forward" anyway; I was all-in.

And it worked. Seriously! Magically, somehow, despite all the errors and crap, it finally worked. WIth a small hitch:

On my rEFIt boot screen, I have a dozen partitions listed:

  • Windows Boot Screen
  • bootx64.efi
  • grubx64.efi *
  • MokManager.efi
  • shimx64.efi
  • Mac OS *
  • Mac OS recovery
  • Linux
  • Windows *

The items starred above are the three operating system boot options (Linux, Mac, Windows, respectively). I managed to get rid of the other three .efi options by renaming them to .efi.bkp in the /boot partition. The others remain, but it's a small price.

More problems

The only big problem beyond OS installation is getting a shared partition installed. You can enjoy that lovely chronicled mess of garbage . The other being that I now have three browser histories to manage, but heck, that's the price I must pay.

Conclusion

A very brief conclusion for you: triple-booting has a huge pay-off if you're willing to invest the time tweaking, fiddling, and yelling to get it set up. That's all I have to say.

Good luck to anyone out there; I hope that at least one person (aside from me, obviously) can benefit from my struggles.

Next Post Previous Post