Let's take the easy one first: A 2011 Mac would have a 64-bit EFI, so that means you should install 64-bit versions of all your OSes on it. (Most OS X versions provide both 32- and 64-bit support via "fat" binaries.) You can often get away with a 32-bit OS, particularly if you boot it in BIOS/CSM/legacy mode; but a 64-bit version gives you greater flexibility and may enable an EFI-mode boot, especially for Linux.
My second point is to suggest that you take your experience as a sign of how difficult triple-booting can be, particularly on a Mac. You're likely to be better off running one or two of your OSes in a virtual environment (inside VirtualBox, VMware, or the like). This will remove the multi-boot complications and help you isolate the systems for better safety.
Another point is that Windows 7 more-or-less requires booting in BIOS/CSM/legacy mode with a finicky and dangerous hybrid MBR. (Read that linked-to page! It's part of my gdisk
documentation and it will tell you what you need to know to navigate the treacherous hybrid MBR waters!) Hybrid MBR flakiness was likely at least part of what caused your problems. Many users have more luck running Windows 8 and 8.1 in EFI mode, which eliminates the need for a hybrid MBR -- but when you create a FAT partition in OS X's Disk Utility, that tool will create a hybrid MBR, which will block Windows 8's installation in EFI mode, so there's another problem -- but this one can be bypassed by using tools other than Disk Utility to create your Windows partition(s) or by using a tool like gdisk
to replace the hybrid MBR with a standard protective MBR. Also, although Windows 8 installs well in EFI mode on many (maybe most) Macs, it still requires BIOS/CSM/legacy mode on some Macs. I assume that Windows 10 will install as well as Windows 8 in EFI mode on Macs, but it's so new I can't promise that. You may want to ask on a Mac forum about which mode(s) work best for your version of Windows on your specific Mac model.
In any event, you need to decide which mode to use for Windows and understand GPT and hybrid MBRs well enough to prepare your disk for it -- assuming you want to boot it directly on your hardware. This is one of the reasons that running Windows virtualized makes so much sense -- you give the virtual machine a virtual disk that it can handle however it likes, removing all concerns about hybrid MBRs and Windows boot modes on your native hardware from the equation.
As to Linux, it usually boots fine in EFI mode; however, in your case it sounds like you ended up with GRUB controlling your boot process and then failing to handle the booting of Windows and/or OS X. On Macs, if you want to triple-boot, the easiest approach is to use my rEFInd boot manager. If possible, tell your Linux to not install a boot loader. (Unfortunately, this option is often nonexistent, or may be handled by an obscure command-line option when you launch the installer. I don't know if such an option is available for Fedora, offhand.) Have rEFInd on a USB flash drive handy in case you need it to manage the boot process temporarily. Also (and more importantly), know that holding down the Alt or Option key as you turn on the computer should launch the machine's built-in boot manager. This can be handy if GRUB takes over and fails; using the built-in boot manager should enable you to boot OS X and fix things.
More specific tips:
- You can wipe the disk of all partitions by using
gdisk
in any OS you can boot. Use the z
option on the experts' menu (type x
, then z
, then confirm the choices).
- With the disk wiped, install OS X.
- Use
gdisk
under OS X or a Linux emergency disk to create partitions for Linux and Windows. Be sure to mark the Linux filesystem partition(s) as being of type 8300. If you plan to use a hybrid MBR, put the Windows partition(s), and any partition(s) you use for exchanging data between OSes, at the end of the disk.
- Install Linux, preferably without the boot loader. Use ext4fs, not Btrfs, XFS, or JFS, as your filesystem. Pay attention to where your root (
/
) filesystem is going -- a partition like /dev/sda4
, a logical volume like /dev/mapper/fedora-root
, or possibly something more exotic. Write this down, as you may need it later.
- If you couldn't figure out how to install without the boot loader, you may see it or boot straight to Linux. Bypass this by using the built-in boot manager or rEFInd on USB or CD to boot to OS X.
- In OS X, install rEFInd.
- When you reboot, you should see boot options for both OS X and Linux. If you don't see a Linux option, you might need to use
gdisk
to review the partition type codes and change those for Linux filesystems from 0700 to 8300, then re-install rEFInd; or manually install the EFI filesystem driver for whatever filesystem holds your kernel.
- Depending on your installation options, the rEFInd entry for Linux might not work. If so, highlight it, hit F2 or Insert twice, and add a
root={whatever}
option, where {whatever}
is the partition or LVM description for your Linux root (/
) filesystem. This should get Linux booted. At this point, you should be able to run the mkrlconf.sh
script that comes with rEFInd to create a configuration file that should obviate the need for this step in the future.
- If you plan to install Windows in BIOS/CSM/legacy mode, use
gdisk
in either Linux or OS X to create a hybrid MBR. Include only the Windows partition(s) and any shared-data partition(s) in the hybrid MBR. (Up to three partitions total.) Do not create a hybrid MBR if you intend to install Windows in EFI mode.
- Install Windows. Note that getting the Windows installer to boot in the desired mode (BIOS vs. EFI) can be tricky. If it complains that the disk is in the wrong format (GPT vs. MBR), then either you've booted it in the wrong mode or you've prepared the disk incorrectly.
- If you install Windows in EFI mode, it's conceivable that its boot loader will take over, whereupon you'll need to use Option/Alt or rEFInd on USB/CD to get back into OS X and re-install rEFInd.
At this point, when you boot you should see rEFInd, which should give you the option to boot OS X, Windows, or Linux. There may be one or two extra options that might or might not work. Those can be dealt with in various ways; post back if you need help.