Triple-boot Macbook Pro: OSX Leopard, Vista 64-bit and Ubuntu 8.04 64-bit

Dan Wieringa
The Geeklimit Archives
6 min readJul 2, 2008

I’ve just verified that this procedure works. It was created through the combination of a few threads out there on the topic that were missing pieces of the puzzle in one way or another.

This procedure will set up your Macbook Pro in such a way that a menu will appear on boot that will require the selection of Mac OS (tested with 10.5.3), Windows (tested with Vista 64-bit), or Linux (tested with Ubuntu 8.04 64-bit — Alternate Install CD). This procedure assumes that you want the drive divided evenly between all operating systems, and can take up to 5 hours to complete, not including burning OS install disks. Most of this time will be spent waiting for progress bars, and the laptop will be unusable for work. (So you can plan accordingly)

Install Mac OS X

(Assumes Mac OS X 10.5.3)

  1. Back up all documents, including Notes files, browser bookmarks, etc. to the network or USB thumbdrive.
  2. Install OS X to the Macbook Pro, using the entire hard drive.
  3. Use the Boot Camp Assistant to partition the drive.
  4. Start the Boot Camp Assistant, located at /Macintosh HD/Applications/Utilities/Boot Camp Assistant
  5. The “Windows” partition shown will eventually become both the Windows and Linux partitions. Therefore, if you wish for the drive to be divided equally across all operating systems, slide the divider until the Windows partition takes up two-thirds of the disk.
  6. Click ‘Partition’ and wait for the process to complete.
  7. When the partitioning process completes, click ‘Quit and Install Later’. Do not use the Bootcamp installer.

Install Windows

(Assumes Windows Vista 64-bit)

  1. Insert the Windows install CD or DVD and reboot the machine. Hold down the ‘c’ key to boot from the CD. (note: at this time, the Windows XP 64-bit install DVD does not recognize the keyboard or USB keyboards when booting from DVD)
  2. Once the Windows installer loads, proceed as normal through the installation. When asked where to install Windows, select the partition that is approximately two-thirds of the disk. In testing, this was ‘Disk 0 Partition 3 BOOTCAMP 126.1GB’.
  3. Highlight the partition and click ‘Drive Options (advanced)’.
  4. Click ‘Format’ and ‘OK’.
  5. Now that the drive is formatted, click ‘Next’. Windows will install.
  6. During the Windows install process, the machine may reboot on its own several times.
  7. Windows is rebooting and expecting to boot back into the installation process. You need to help it do so by holding down the ‘Option (Alt)’ key when the machine reboots, and manually selecting the ‘Windows’ hard drive. (not the ‘Windows’ CD)
  8. If you miss the chance to reboot into the Windows install process, the machine will boot into OS X. Just reboot the machine, hold down the option key, select the ‘Windows’ hard drive (not the CD) and continue from there.
  9. Once installation is complete, the machine will boot into Vista and have the user complete the setup procedure.
  10. Eject the CD from within Vista by clicking the drive once in ‘Computer’ and selecting ‘Eject’ on the title bar. Vista now needs drivers for the Macbook Pro hardware.
  11. If you want to be able to have greater control over the fans in the Macbook Pro cooling system, you need to install the ‘inputremapper’ application (tested version 1.0.04) first. This is recommended, as the Macbook Pro can run quite hot at times, dependent on the ambient air temperature.
  12. Download and install inputremapper. You will need to use a USB key, as the networking drivers for the Macbook Pro have not yet been installed.
  13. Reboot the machine, holding down the ‘option’ key and choosing the Windows drive.
  14. Install the Windows drivers for the Macbook pro hardware by inserting the ‘Macbook Pro Install CD 1’ in the drive. If the Bootcamp Drivers application doesn’t start automatically, double-click on the CD in ‘Computer’ and run WindowsSupport/setup.exe.
  15. Once the drivers are installed, eject the CD and reboot the machine into the Mac OS partition.

Install rEFIt

  1. Boot into the Mac OS partition and install rEFIt. This is our boot menu application.
  2. Download and install rEFIt (tested version 0.11)
  3. To set rEFIt to always be the boot menu, open a terminal window and give the command:
  • /efi/refit/enable-always.sh
  1. rEFIt has a default timeout of 20 seconds, then will boot into OS X. If you would like to disable the timeout:
  2. Open /efi/refit/refit.conf in Text Editor
  3. Change ‘timeout 20’ to ‘timeout 0’.
  4. Save and close.

Install Linux

  1. Enter the Linux install CD (tested Ubuntu Linux 8.04 Desktop 64-bit Alternate Install) and reboot the machine. Hold down the ‘c’ key to boot from the CD. You might need to use an external USB keyboard, as sometimes the Linux install CD doesn’t recognize the built-in keyboard correctly.
  2. Install as usual, until you get to the partitioning section.
  3. When Linux installs, it will corrupt the portion of the Master Boot Record on the current Windows partition. In order for Windows to be usable, the MBR installed on this partition must be backed up.
  4. When the installation procedure asks about partitioning disks, exit to a command line and make a backup of the MBR of the Windows partition.
  5. In Ubuntu, this is done by pressing Alt-F2 to get a command line.
  6. Enter
  • dd if=/dev/sda of=/tmp/sda.mbr bs=512 count=1
  1. and hit the ‘Enter’ key.
  2. Press Alt-F1 to return to the Ubuntu installation.
  3. Choose the ‘Guided — Resize…’ option. (in testing, this was ‘Guided — Resize SCSI3 (0,0,0), partition #3 (sda) and use freed s’)
  4. Make the Linux partition 50% of the resized space (one-third of the overall drive, if the Windows partition was two-thirds…)
  5. Continue the installation process.
  6. After the base Linux OS files are installed, but before installing a Linux bootloader, the MBR must be restored from the backup that was created earlier.
  7. In Ubuntu, this is done by pressing Alt-F2 to get a command line.
  8. Enter
  • dd if=/tmp/sda.mbr of=/dev/sda
  1. and hit the ‘Enter’ key.
  2. Press Alt-F1 to return to the Ubuntu installation.
  3. Continue the installation process until reaching the bootloader installation screen. (in testing, this was the ‘GRUB installation’ page.)
  4. In Ubuntu, do not install GRUB to the MBR. Windows needs the MBR as it is.
  5. When asked where to install GRUB, choose the Linux installation partition (not the swap). In testing, this was /dev/sda4. (Note that this partition is one greater than the partition specified on the ‘Guided — Resize…’ line of the ‘Partition disks’ screen.
  6. When the installation is complete, eject the CD (if it is not done for you) and reboot the machine.

Update rEFIt

At this point, rEFIt will see all three operating systems and can load Mac OS and Windows, but needs to have its own partition records updated to be able to properly allow Linux to load.

  1. Once the machine is rebooted and on the rEFIt screen, press the arrow keys until you reach the ‘Partitioning Tool’ icon. Press the ‘Enter’ key.
  2. When it asks “May I update the MBR as printed above?” press the ‘y’ key. rEFIt’s partiton records will update.
  3. You should now be able to boot into any Operating System.

Notes and Observations

General

  • To disable the Apple ‘bong’ noise when the machine starts, install and configure StartupSound.prefPane.

Windows

  • Windows will check (CHKDSK) its partition the first time it boots. It notices the difference in partition size. This is fine, let it check it. Windows still loads afterwards.
  • The right-click behavior in Mac OS (Control-click) can be replicated in Windows by using inputremapper.

Linux

  • To reduce the amount of time the GRUB menu appears when booting Linux (tested Ubuntu), edit the file /boot/grub/menu.lst where it says ‘timeout 10’ to say ‘timeout 3’ or whatever your preference is.
  • To replicate the right-click (and middle-click) functionality in Mac OS by using Control-click,
  • Go to System > Preferences > Keyboard > Accessibility tab > General — and enable “Allow to turn accessibility features on and off from the keyboard”
  • Go to System > Preferences > Keyboard > Mouse Keys tab > and enable “Allow to control the pointer using the keyboard”
  • From the terminal, type
  • gedit ~/.xmodmap
  • Type:
keycode 116 = Pointer_Button3keycode 108 = ISO_Level3_Shift
  • Save and close the file.
  • Go to System > Preferences > Sessions and click ‘Add’.
  • Name: xmodmap
  • Command: xmodmap /home/fuz2y/.xmodmap
  • Comment: Add middle- and right-click functionality
  • Click ‘OK’.
  • Restart X to use the changes (Ctrl-Alt-Backspace).

--

--