How to triple boot Mac Pro with OS X, Fedora, Windows

Here are some step by step instructions on how to triple boot a Mac Pro (and I guess any Intel based Mac) with OS X (Snow Leopard), Fedora 12 and Windows XP. I ran into trouble because of the Fedora 12 installer being clever and setting my Fedora partition to be bootable, which didn’t play nice with the MBR table and Windows.

Firstly, the Mac Pro I am using has a 500GB SATA drive, so the partition sizes that I choose reflect that fact. Your machine might be different, so adjust accordingly.

Step 1
Install OS X on single partition using the whole drive (insert DVD and boot with C key held down).

Step 2
Use the diskutil terminal command to resize the OS X partition and create one for Linux and Windows.

Open “Terminal” and then run:
sudo diskutil resizeVolume disk0s2 200G "MS-DOS" "Linux" 200G "MS-DOS" "Windows" 5G
(Note that the final number for the Windows drive doesn’t really matter, it will fill all remaining available space.)

Step 3
Under OS X, install rEFIt (a graphical EFI boot loader) and then bless the drive:
sudo /efi/refit/enable-always.sh

Step 4
Insert Fedora 12 disk and reboot, holding down the C key (or boot it from the Linux CD entry in rEFIt menu).
(Note: I had to install via FTP, because installing from DVD didn’t always work on my Mac Pro. If you have the same issue then at the boot menu hit the “Tab” key and add “askmethod” to the kernel line and boot the entry.)

Step 5
During the installer, select the 3rd partition for / (choose “Custom” partition), format ext4.

Next, switch to terminal 2 (CTRL+Alt+2) and toggle boot to off for the Linux partition, like so:
parted /dev/sda
toggle 3 boot
quit

Now sync the GPT and MBR partition tables:
gptsync /dev/sda
(Or you can do this step via rEFIt menu after the install if you prefer.)

Switch back to terminal 6 (Alt+6) and continue. Install the boot loader to /dev/sda3 (this is the default).

Complete Fedora install, reboot into OS X, eject disk, insert Windows XP install CD.

For reference, the GPT partition table should look something like this:

[chris@localhost ~]$ sudo parted -l

Model: ATA ST3500630AS P (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number Start End Size File system Name Flags
1 20.5kB 210MB 210MB fat32 EFI System Partition boot
2 210MB 200GB 200GB hfs+ OS X
3 200GB 400GB 200GB ext4 Linux
4 400GB 500GB 99.9GB ntfs Windows

While the MBR table should look like this:

[chris@localhost ~]$ sudo fdisk -l

WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xcce7cce7

Device Boot Start End Blocks Id System
/dev/sda1 1 26 204819+ ee GPT
/dev/sda2 26 24325 195181428 af HFS / HFS+
/dev/sda3 * 24341 48656 195311616 83 Linux
/dev/sda4 48657 60802 97556480 7 HPFS/NTFS

Step 6
Reboot, holding down C key (or choose the Windows CD entry from rEFIt menu), install Windows XP to 4th partition, format NTFS.
If the Windows installer sees a single partition and can’t detect the file system, re-sync the GPT and MBR partition tables via rEFIt or Fedora gptsync command. Also, ensure that the Fedora partition is not set to be bootable (Step 5, part 2). The installer should see multiple drive letters, with the 4th partition being the C drive. Yes, Windows has to be installed on the last partition.

After install, the rEFIt menu should see Windows on the hard drive. Boot it and continue your Windows install. Once installed, insert the OS X Snow Leopard DVD and install the system drivers, etc.

That’s about it.

61 thoughts on “How to triple boot Mac Pro with OS X, Fedora, Windows

  1. there we go. about F’ing time someone posted a to-the-point simple no-b.s. how to on this. why the world complicates it is beyond me.

  2. oh and i forgot to mention, google “bootpicker apple”. apple has a multi-boot OS chooser that i like a lot better than refit (although refit has its value during the initial installations)

  3. Many thanks for your post! After reading dozens of triple-boot HOW-TOs, I found this one was the best match for what I wanted to do: OS X Snow Leopard, Fedora 12, and Windows 7; on the same hardware (MacPro).

    As nash said, this HOW-TO presents the steps in a straight-forward manner; it really is this simple! I already had OS X and Windows 7 working well with Bootcamp, so I only had to shrink the OS X partition using diskutil and allocate the free space to a single partition for Linux.

    After doing that I installed rEFIt in OS X, then installed Fedora 12 to /dev/sda3

    Chris, I found a couple of minor corrections to your instructions:
    1. In Step 2, where you give the terminal command, you need to include “diskutil” after “sudo”
    2. In Step 5, where you switch to the terminal screen, the key combination to do so is “Alt+Control+F2” to get to the command window, and “Alt+Control+F6” to go back to the install GUI.

    I had a couple of problems with the Software Update, but that is resolved now. Only thing not working is the Broadcom BCM43xx 802.11n wireless adapter. For the moment I’m using Ethernet, but it would be nice to get the wireless working.

    Thanks again for your post! Cheers!

  4. @nash, one of the annoyances with the Apple picker is that it doesn’t show Linux as Linux, but Windows. Not a big issue, but annoying just the same! 🙂

    -c

  5. Hi! and Thanks for that excellent step by stepper/
    I was able to dual boot osx / ubuntu but found the fedora 12 install very different…can I ask a couple of questions?

    1. If I only want an osx/fedora dual boot, do I just stop after step 5? (and not partition for windows in the first place).

    2. If I make a gparted partition (easiest for me) making space for linux, can I just let fedora auto-tragically install on the free space? I seem to not get any swapspace when I did that before.

    Thanks
    Will.

  6. Hi Will,

    Yep, if you won’t want Windows, then skip step 6. As for the free space, it shouldn’t matter how you create it, so long as the MBR and EFI tables are in sync (run the sync util from rEFIt menu after doing it). If you want, you can just manually create the swap space instead of the Windows partition in step to, like so:

    For example the following will create a 200GB OS X partition, 1G swap and the rest Linux:
    sudo diskutil resizeVolume disk0s2 200G "MS-DOS" "Swap" 1G "MS-DOS" "Linux" 5G

    When you do the Fedora installer, don’t tell it to automatically partition, but rather do it manually and select the respective partitions for swap and root. Of course, if you’re not installing Windows, then you’re not restricted to 4 partitions as Linux can speak fluent EFI..

    -c

  7. Hi Chris,
    My question about triple booting my macpro here, I got three Hard Drives inside (well needed some space), and by now I got Leopard and Windows 7 x64 running on it, the first disk of course osx and the third one windows, as the osx allows windows be installed only on the last partition I could chose the whole Drive for it with what I was pretty happy about.
    Do you think it’s possible to install Fedora 12 x64 on the second hard drive without having to install windows again and without having any kind of problems with the partitions?

    Removing the 3rd drive and then install everything and put the drive back after the installation, does it makes any sense?

    I would like to have Fedora under the second Hard Drive, what would you suggest me to do first?

  8. Hey Fati,
    Removing the Windows drive, installing Linux and then putting Windows back in may work. It might not if you installed Windows without the second drive already partitioned, because Windows might be expecting to be the 3rd partition (it would become something else after you installed Fedora). That’s entirely a guess however. I’ve no idea how Windows 7 works.

    The bigger issues is whether you can boot Fedora after you install it. I assume that at the moment you are not using rEFIt to boot between OS X and Windows, but rather the Bootcamp utility? Bootcamp doesn’t support Linux, so you can’t tell Windows “reboot to Linux” using the utility. You need some kind of boot manager. rEFIt is great, but the current version only works on the first drive.

    I think that the best way forward for you, would be to resize the first OS X drive and install Fedora on the free space at the end (use the second drive for /home or something if you want). Then install rEFIt which should let you boot everything – it still might not boot Windows, but you can continue to boot that the same way, via the bootcamp utility.

    Anyway, I’ve not done that before, so I can’t say for certain.. Let me know how you go!

    -c

  9. Thanks Chris, I will be trying this one, as soon as I do I’ll let you all know how it went, though not until the weekend or the next one… Thanks anyway, this one sounds like I should give it another try (I already messed up everything once) 😀

  10. i try since yesterday to install a triple boot on a macbook pro with snow leopard, windows 7 and ubuntu 9.10. there are several tutorials on the web already, but only this one is functioning in my case. thanks a lot for your input. and so btw you can install ubuntu instead of fedora by using exactly the same procedure.

    installing windows as last OS is the key, combined with the mbr correction after installing linux. otherwise linux just destroys my windows partition access, even if i install grub on the linux partition.

    all the best Chris !

  11. In step 5 after I select the 3rd partition for / (choose “Custom” partition), format ext4 it gives error that:
    bootable partitions cannot be on an ext4 filesystem.
    even I tried to toggle boot to off for the linux.

    Any help is highly appreciated.

    Ali

  12. What OS are you putting on there? Sounds like a limitation with the distro rather than anything to do with your machine. Using an ext3 partition would probably solve this, although most distros can boot ext4 now.

    -c

  13. Thanks Chris
    I installed snow leopard on my macbook and updated it then I tried to install fedora 11 as your method that faced with such problem. if i use ext3 it will be ok?

  14. Thank you Chris

    I did it with fedora 12 and now I have 3 OS installed on my macbook.
    how about wireless and brightness keys drivers?

  15. Hi Chris,
    Nice, helpful post.
    Followed everything word by word (have a machine of the same configuration) and the installation of Fedora went well. I also get a rEFIt boot option for LINUX but the LINUX partition just wont boot. I just get a LINUX penguin logo on a white screen and it seems that the system is stuck somewhere. Checked rEFIt partitioning tool on the boot menu and it says that everything is OK and that the MBR is updated.
    Please help – is there any other step I am supposed to carry out?
    Warm Regards,
    Debi

  16. Is Linux the 3rd partition, with Windows the 4th? Where did you tell your distro to install GRUB? Try booting to rescue mode from the CD and check the /boot/grub/grub.conf or menu.lst on your Linux partition and make sure that root is pointing to the right location (hd0,2 and/or sda3). Re-setup GRUB on the 3rd partition (if it’s Linux):

    grub
    root (hd0,2)
    setup (hd0,2)

    See if that helps.

    -c

  17. Wow! That worked just great!! Thanks, Chris!!!

    A few questions though –
    1. I have GRUB on the 3rd partition (as by default). What was the problem then? Any specific need for a re-setup?
    2. Resarting does not work. The system is halted but power is not switched off and back on. It just stays as-is. Is that a generic issue?
    3. The screen is unusually bright. Checked the brightness settings and found it set at 100% – looks like the contrast is an issue. Have you faced a similar problem? Any solution?

    Warm Regards,
    Debi

  18. Hi Debi,

    I assume that the Windows install did something strange to the MBR information on the 3rd partition. Perhaps it’s better to format the Linux drive, reboot and install Windows, then last go back and install Linux.

    I’m not sure about restarting, sounds like an ACPI issue which I’ve no idea about.

    Also, I’m not sure about the brightness, perhaps turn off mode setting by adding “nomodeset” to the grub.conf kernel line. Other than that, I’ve no idea!

    -c

  19. How did you get Fedora working on macbook pro?… I’ve tried almost everything, but after the install, the grub menu just does not work, i get the name “grub” and a blinking cursor in front of it, no menu options, nothing… I’ve tried to boot from cd and make grub setup but still not working… Please, help me…

  20. Hi Luis,

    Did you run the partition manager in rEFIt, or gptsync under Fedora?
    What’s your partition scheme?

    -c

  21. Hello,

    (thanks for the reply), I’ve done it on both ways…Tried first through rEFIt, doesn’t worked, so I’ve tried throgh Fedora, doesn’t work either…

    Here is my partition scheme, I’m trying to dual-but only:

    Number Start End Size File system Name Flags
    1 20.5kB 210MB 210MB fat32 EFI System Partition boot
    2 210MB 150GB 150GB hfs+ OS X
    3 150GB 250GB 100GB ext4 Linux

    PS:(Thanks for the reply, and sorry for any bad English, I’m not really a native speaker…)

  22. Your English is fine 🙂

    The Macbook Pro supports MBR partition table emulation, so you don’t need to do the Fedora EFI method.

    Your partition table looks fine.

    When Fedora asks you where to install GRUB, what did you say?

    -c

  23. ..also, if you load the Partition Manager at the rEFIt menu, are the partitions in sync? Or did it need to sync them?

    -c

  24. Yes, as long as I notice everything is ok, I’ve put grub at /dev/sda3 I guess it was default already…

    Thanks for all the help if I can’t get this solved I guess I’ll just go to Ubuntu…

  25. Ubuntu should work exactly the same as Fedora, but give it a try if you like.

    Did you sync the partition table using rEFIt menu?

  26. Hello Chris, I’ve had Ubuntu installed before i’ve gived a try to Fedora and had no problem with Ubuntu, it installed perfectly (just like fedora), but give no problem with the Grub Boot Loader, this is why I can’t understand what’s going wrong with Fedora…

    Well, thanks for all the help.

  27. lol…Excuse me, i’ve not seen the question…xD

    I’ve synced them through the rEFIt menu and still don’t work, I can Choose Linux from the menu but then I just got a black screen displaying the word GRUB with the blinking cursor, no menu options, nothing, just the word GRUB…

  28. 🙂

    OK, so can you boot back to your Fedora install CD in rescue mode and re-install grub?

    It should chroot you straight into your system. Then you can just run:

    grub
    root (hd0,2)
    setup (hd0,2)
    quit

    Then re-boot and select Linux.

    If that doesn’t work, we should turn the Linux partition bootable flag OFF (I think I mention that somewhere in this blog entry).

    -c

  29. Hi, this tutorial looks like a great one to follow. I’m new to macs, and I just recently bought a Macbook (-pro). Has anyone got this to work with a standard Macbook?

    My specs: Mac OS X v10.6 Snow Leopard

  30. Thanks Chris for a great guide.
    I am in the process of picking up a new Macbook Pro to replace my Powerbook G4 (after many years of great service).

    As i will be starting fresh i am very interested in the triple boot set up.

    Can i install a small boot partition for each platform, and have one large storage partition that i can access from all 3 OSs?

    Even if i could only do it from Fedora and OSX (& run widows via bootcamp) it would be great for accessing content from each OS.

    IF this is possible, how big should the partitions be?

    Thanks S.

  31. As big as you like 🙂 I would probably go with more space for OS X and Windows than Linux as they have lots more “junk”, but then I only Linux and so put more space there..

    -c

  32. Cool,
    I have a few things on the books before i pick up my new macbook pro, but i will get back to with some results.

    At this stage i will aim for a OSX partition and a fedora partition of about 10gb, with the rest going to a shared storage partition for content etc.

    I was just a bit worried about corruption from swapping back and forth between operating systems.

    I will give it a go and let you know how it goes.

    S

  33. Corruption shouldn’t be a problem, but you will need to synchronise your UID and GUI in Linux with that in OS X, otherwise you’ll get permissions problems. Plus, you might need to use a shared HFS partition (not HFS+) because I’m not sure if Linux can write to HFS+ volumes.

    -c

  34. Hi,

    At the step 5, part 2
    parted /dev/sda
    toggle 3 boot
    quit

    I have the error message sound like this device is busy and nothing to be done until it’s rebooted…

    Somebody have a tips for me ?

    thx,
    Dan

  35. Hi Dan,

    I think that this usually occurs when the kernel is using the drive and you want to change the layout but it’s in use. Haven’t come across it in this instance, but what if you run gptsync on the device first?

    gptsync /dev/sda

    Then try parted?

    -c

  36. Hey Chris,

    After attempting to install Fedora 13 over Ubuntu 10.04 on my Mac Pro, I was unable to boot into either Fedora 13 or Windows 7. I simply followed your instructions in Step 4 and 5 to success. Thank you very much for your help! I am still amazed that you were able to diagnose and fix this problem. Great job!

    Thanks again,
    – Michael

  37. Hi Chris,
    as you noticed from my name, its about the problem that I had described in the post at the beginning (5. January 2010) – I just found out that the (well I really didn’t have a time till now) linux will only boot if you enter through bootcamp, – wich is that I see “refit” hard drive and two “windows” hard drives. If I chose the first one then I get linux started, and if I chose the second one, well gues what, its windows 🙂 so to start on the osX I should chose “refit” and then from the “refit” menu chose osX
    As for the layout I did it the way you told me to, after I removed the second drive where I had my windows on it I resized the first drive to install the linux on the second partition (through refit) and that was it… by the way, if you only start with refit, it sometimes stops if you chose linux or it starts windows instead! so refit is only for chose between osx and windows, the bootcamp in this layout starts either linux or windows
    well I can live with refit an bootcamp side by side 😉
    I hope this info helps somebody like yours helped me!
    Thanks again.
    Fati

  38. Would these steps be similar if I was attempting to use Ubuntu instead? Also, is it possible to have another partition that stays FAT32 so I can share files between them. I haven’t found that anywhere, but I don’t want to go through all the steps, have it not work, and have to start over. Thanks!

  39. Hi Chris, many thanks for this helpfull guide
    On step 5, I try to run parted /dev/sdb and I get this message:

    parted:invalid token: parted

    how come?

    Also, why do we address sda (or sdb in my case) when the ext4 Linux partition is an sda3 or sdb3 or similar?

    Regards
    El

  40. Hey El,

    Step five is addressing the partition table of the drive, not the Linux partition itself, hence /dev/sda.

    You say you are using sdb – are you booting Linux off a second drive? If so, I didn’t have much luck with that because rEFIt only boots from the first drive.

    -c

  41. Thanks Chris,

    just have one more query, how do you manage to run the parted /dev/sda command when you’re not the superuser? I mean if you’re using the install DVD you aren’t by definition..you’re a live user…sorry I’m new to Linux !

    Ta

    El

Leave a Reply

Your email address will not be published. Required fields are marked *