Quad-Boot Macbook (Pro): A How-To
Last Updated: 8/12/07
Audience: This how-to is meant to be a guide for an experienced computer power user who is interested in running four (or possibly more) operating systems on a single Macbook hard drive — and who doesn’t mind losing any data already stored on that drive. While it may be possible for an inexperienced user to successfully follow this guide, I wouldn’t recommend trying it, as it’s likely to lead only to frustration and lost time (and lost data).
Disclaimers:
- To the author’s knowledge, this is the first and only quad-boot Macbook how-to in existence. In other words, this configuration was developed with little to go on other than experimentation. Additionally, the fact that the final configuration actually worked was very surprising to the author — meaning that he hadn’t written many notes about it. Oops. Thus, this guide is written primarily from memory, and is likely to contain a mistake or three. If something seems incorrect, trust your instincts first.
- There are also no screenshots, for the same reason as listed above. However, I would love to add some. If you feel so inclined to donate some, please use the Contact Us link and I will get back to you. You will, of course, be credited if your screenshots are used. Additionally, please feel free to comment with corrections.
Materials Needed:
- Macbook (Pro?) with a clean hard drive
- OS X installation discs
- Windows XP SP2 disc (installation for XP without SP2 may work, but is untested and not likely to support the Mac Boot Camp drivers)
- Windows Vista installation disc (upgrade may work but is untested)
- Installation disc(s) for your favorite flavor of Linux
- GParted LiveCD (strongly recommended)
- rEFIt (required for gptsync), Winclone (recommended to simplify fixing the Windows issues), and Boot Camp Assistant (required to make Windows do anything useful, but not required for partitioning). These may be downloaded/installed after installing OS X.
Author’s System:
- Third-generation 15″ Macbook Pro, higher-end (2.4GHz Core 2 Duo, NVIDIA Geforce 8600M GT 256MB, etc.)
- Mac OS 10.4.9, Windows XP SP2 (install), Windows Vista (install), LFS (v6.2, with some changes)
General Precautions:
- Do not, at any point during the process, use Windows’ partitioning tools (XP nor Vista). The formatting tools are okay (and required, I think), but if you use Windows’ fdisk or either of the installer partitioning tools, you are very likely to erase your partition table.
- Do not, at any point during the process, use Vista’s “Startup Repair” tool. This may also erase your partition table. The automatic boot sector check (that begins after you click “Repair your computer”) is okay, and in fact required later on.
- Do use caution whenever modifying your partition table with GParted (or anything, really). The key thing to remember is that once your partition table has been set up correctly, don’t touch it!
(Yes, this is easier said than done.)
Procedure:
- Partition the hard disk using the OS X partition tool. Boot the system from your install discs like normal, and partition the HDD as a MBR/GPT hybrid from first to last as follows:
(EFI System Partition) — Linux — Vista — XP — OS X
Format the Linux, Vista and XP partitions as Unix for now. This is because we don’t want the Windows XP installer to assign drive letters to any partition other than the one we’re installing on.
The trick to making this work is having OS X on the last (GPT only) partition. OS X is the only operating system able to boot, on this architecture, from a pure GPT partition. While putting it last will limit the ability of the other OS’s to see the OS X partition, this is the only way to ensure that you can quad-boot while still keeping the EFI System Partition.
I am aware that other people have chosen to make the disk purely MBR, removing the EFI partition, installing OS X on another drive and cloning it to the primary drive. I’ve chosen this method to keep the EFI partition intact so that, in the future, I can take advantage of any features it would offer. I have no need to be able to see OS X from the other partitions, but if you do (and don’t mind losing the system partition), you may want to try those alternate methods.
- Install OS X on the last partition. This is pretty self-explanatory. If it’s not, you shouldn’t be reading this.
- Download and install extra required software. Again: rEFIt, Winclone, and Boot Camp. I installed rEFIt on the OS X partition, since I knew it wasn’t going anywhere. It would probably work on the EFI system partition, but I’ve not tested this. Now would also be a good time to burn the GParted LiveCD if you haven’t already.
- Create the Boot Camp drivers CD. Run the Boot Camp Assistant, choose Utility –> Save Mac Windows Drivers to Folder, and burn that folder to a CD (or move it to a flash drive).
- Install Windows XP on the next-to-last partition. I don’t remember having too many problems at this point. However, the main thing to check is that the installer sees the last available partition as your C: drive (if you only format one partition NTFS, you should be okay). FYI, your OS X partition should not show up at this point, so don’t panic if you don’t see it. If Windows wants to name the EFI partition as C:, first make sure the target partition is labeled “active.” You can check this in several ways, but the simplest is to boot OS X and use fdisk. Failing that, you will need to boot to the GParted CD, delete the EFI partition (leaving that space unallocated) and recreate it later on. Then, use the rEFIt partitioning tool (a.k.a. gptsync) when you reboot to sync the MBR and GPT tables. Of course, if you installed rEFIt on the EFI partition, this process will be more complicated…
Once Windows XP is successfully installed, cross your fingers and boot it. It should run at this point, and if so, don’t worry about installing the drivers or anything else — we’ll do that later. If XP doesn’t boot, try the recovery console or a repair installation. The BOOTCFG and FIXBOOT commands are safe to use here; the FIXMBR command is not! XP should boot successfully before you continue to the next step.
- Save an image of the XP partition using Winclone. Reboot into OS X and use Winclone to clone the XP installation. Make sure the first three Options checkboxes are checked; we will restore this image after installing Vista.
- Use the GParted disc to reformat the XP partition. Format it with ext3 or any other Linux filesystem. All that matters is that it’s not recognizable by Windows. Then reboot and run gptsync.
- Install Vista on partition #3. Bear in mind that I say “partition #3″ because it actually is the third partition. Windows, however, is notorious for hiding “unnecessary details” from the user, so the Vista installer may show it as partition #0, for all I know. But the point is that this is the last available partition, not counting the XP one that you just formatted. You will need to make sure this partition is active (see the XP section) and format it NTFS before continuing. Surprisingly, Vista may boot at this point — but that doesn’t matter, because it’s going to break soon. If it doesn’t boot, make sure that it’s not because of a serious installation error (and make sure that it sees itself on drive C:). Otherwise, don’t worry about it too much, because we’re going to fix a couple of problems later anyway.
- Restore Windows XP. Format partition #4 as NTFS with either Windows installation disc (the Vista one is faster to load). Back in OS X, use Winclone to restore the XP installation to this partition. It probably won’t boot; if not, use the BOOTCFG and FIXBOOT commands from the recovery console. As a last resort, a repair installation should be safe, but do not do a full reinstallation. Doing so may cause XP to install itself on the “D:” drive; however its boot files will still go on the “C:” drive (where Vista is sitting), overwriting some of the files for both OS’s and causing lots of general messiness.
- Perform a ritual before attempting to fix Vista. You will find that Vista, in all its glory, was somehow affected by the re-assignment of our Windows XP partition, despite the fact that we did absolutely nothing to the Vista partition itself. I don’t remember the specific error, but it was quite ugly, included at least one hex code, and didn’t let me access the F8 menu (the one that leads you to Safe Mode), either. My fix for this was to select “Repair your computer” from the Vista main installation menu. Twice. (Don’t ask me why.) The installer went through some voodoo, asked me to reboot, and then I had to repeat the process. The third boot attempt got me past the ugly hex error, only to freeze at the splash screen. Fortunately, by this time I was able to access the F8 menu, and selecting “Last known good installation” fixed the issue.
The above was only my experience, and I consider it too weird to actually be of instructional use. But it’s there FYI, and the actual instruction is more general: Fix Vista. The only guideline I can give is what not to do — and that is run the “Startup Repair” tool. It does mysterious things without your knowledge or consent, and you are very likely to reboot and find out that Vista has annexed the rest of your disk. If you get to the menu that includes “Startup Repair,” “Command Prompt,” and some others, and Vista is still not booting, you’ve hit an issue that’s beyond the scope of this tutorial. My recommendation is to hit the command prompt and try commands similar to those named earlier (BOOTCFG and FIXBOOT). And do your best to appease the gods… you’ll need their help.
- De-stress. Once you’ve gotten Vista working, go back and make sure that XP is still alive and well. If you did the repairs correctly, both Windows OS’s should now boot, and you’ll have survived the hard part. Go ahead and install the Mac drivers, activate, and do whatever basic customizations you want. Make a backup of the partition table if you want, though it would take a pretty serious mistake to damage it now. Then sleep.
- Install Linux. I’m assuming that if you’re smart enough to attempt this project in the first place, you’re probably smart enough to install Linux, so I’m not going to delve into details. Under normal circumstances, you will not be able to create a swap partition, though you may create a swap file. Compared to Windows, Linux is for the most part highly cooperative with our weird partitioning scheme. Be careful when installing the bootloader, though; you will probably want to install it on the partition itself, not the MBR. I made one attempt at creating multiple partitions by using LVM. I was able to boot an OS using some sort of workaround (a rescue CD, I think), but it wasn’t usable with the LFS system I wanted to configure, so I abandoned the idea. However, using LVM, it should be possible to run multiple Unix-like OS’s on a single physical volume… five OS’s, anyone? If you do this successfully, I’d love to hear about it.
- Th-th-that’s all, folks! Enjoy!
So let’s recap… At this point, we have a disk with five partitions, three of them formatted Unix (or Linux), with one EFI partition and one functioning OS X installation. We have an image of a functioning Windows XP installation sitting on our OS X partition (or some external device, if you wanted to play it extra safe). And best of all, we’ve just finished with the easy part!
Vista can be a real beast. But let’s tame it, shall we?
Welcome to Don't Accept the Status Quo! If you're new here, you may want to subscribe to the RSS feed. Thanks for visiting!
Hey awesome blog! Know anyone who would be interested in part time admin’ing a Linux box? Hit me up!