Triple boot your MacBook Pro

BuddyJBuddyJ Dept. of PropagandaOKC Icrontian
edited October 2010 in Science & Tech
The_Technocrat has a sweet step-by-step guide to triple booting Vista 64, Ubuntu, and OS X Leopard on a MacBook Pro. Having three operating systems on one machine has never been so easy!
Ever felt the need to run three operating systems separately on your MacBook Pro? I scoured the internet in search of a good, straightforward guide to accomplishing the task. Unhappy with what I found, I decided to write up a straightforward guide for anyone else daring enough to do the same.

His guide is available here.
«1

Comments

  • jaredjared College Station, TX Icrontian
    edited July 2008
    Excellent article Dan!

    I think I'm going to update my HD soon, and then I will definitely give this a try.

    Since I hate Vista, and still am quite fond of XP, will things change much if I just sub XP for Vista?

    cheers :jared:
  • edited July 2008
    No swap partition is created in this guide? Or is it created automatically?

    -Craig
  • SnarkasmSnarkasm Madison, WI Icrontian
    edited July 2008
    Guided partitioning will create a swap for you in the Ubuntu installer.

    Jared, I think Vista has some extra stuff that helps the multiple-boot process, so it might change something, but overall, I think this process will help bypass it. You should be fine unless XP's boot sector is a different size.
  • edited July 2008
    Snarkasm-

    Thanks for the speedy reply! I'm definitely trying this out when I get home from work...I've been looking forward to it for a while!

    Actually, I have one other quick question.

    I know when to execute the first terminal command (when the partitioning part of the installer comes up), but I'm kind of fuzzy on when to execute the 2nd command (to restore the MBR); should I do it when the installer asks about GRUB? Or is it sometime before that?

    Thanks!
    -Craig
  • SnarkasmSnarkasm Madison, WI Icrontian
    edited July 2008
    Not at all, good sir. Stick around and let us know how it goes.
  • LincLinc Owner Detroit Icrontian
    edited July 2008
    Welcome to Icrontic, Craig! Good luck and let us know how it turns out.
  • edited July 2008
    Well, I worked on it all day and I only managed to screw things up.

    I followed the guide, but I'm not sure if I did something wrong with copying the MBR; I ran the 2nd command as it was saying Installing Grub on the progress bar. Should I have done that before I even let the Linux base files install? The copy of Ubuntu that I used (8.04 32-bit) had the GRUB options under an "Advanced" button before the files started copying at all, but after the partitioning. Maybe I should get a copy of the Alternate Install CD for 32-bit?

    It's looking like I'll be redoing everything tonight; Windows doesn't boot at all, and no amount of repairing and prodding has fixed it.

    Can someone tell me what I did wrong with those commands? I'm sick of messing with it, so if someone can help me out that'd be great. Thanks!

    -Craig
  • SnarkasmSnarkasm Madison, WI Icrontian
    edited July 2008
    Yeah, I'd advise going with the alternate install disc; the graphical installer doesn't really do you any favors if you want to tinker with anything. It just installs the whole thing in one go, unlike the alternate disc. I'd go with the alternate if I were you.
  • edited July 2008
    So, I got the alternate install disc (i386 version, I've had more luck with software in x86 instead of 64).

    When I get to the partition disks part, pressing "Alt-F2" doesn't kick me to a command line, it just sits at "[!!] Partition disks". Am I supposed to choose an option first or should it just work? I'm guessing without that terminal I can't back up the MBR, and so it'll all go to hell.

    Any suggestions?
    -Craig

    EDIT So, I'm not sure what keystroke I used, but I finally got to a terminal. I'll post again when it works/I know what keys I pressed :DEND EDIT

    EDIT AGAIN
    So, I think I had to hit Fn then Alt-F2 to get the terminal. Ubuntu finished installing, now I'm checking to see if I can still boot everything.

    So, Windows says it's missing hal.dll. Ugh. Does anyone have an easy fix for this? Maybe if I just reinstall Windows over the old install (not a repair, but an actual install) that'd work. IDK. What're your thoughts?
  • SnarkasmSnarkasm Madison, WI Icrontian
    edited July 2008
    Download it, maybe? Not sure. If you're going to reinstall anyway, may as well try the whole process over again. From everything I've seen, this is a perfect guide, so if you varied anything, it might be worthwhile to wipe and start clean - but that's up to you.

    Sorry it hasn't worked out so far; keep trying though.


    Also, if you just edit your previous post, we don't get notifications that you've responded again to the thread, so put in a new response if you want us to see it faster :)
  • edited July 2008
    Ok, I wasn't sure what your policy on double-posting was :D

    I think part of the problem was the partition numbering was off in Windows; I used Ubuntu to change my boot.ini file from partition 3 to partition 2. Now, I get the splash screen with the scroll bar for a second, then a blue screen with "UNMOUNTABLE_BOOT_VOLUME".

    I'll probably do it all again anyway because I realized that I had my partition size backwards.

    I have a question for you, though, and I think this is where I'm screwing up. Exactly when should I restore the mbr with
    dd if=/tmp/sda.mbr of=/dev/sda
    
    Should I do it while it's gathering more applications, or when I'm sitting at the GRUB install part, or just right after the base files? I think if I have an exact time to execute that 2nd command it'll work.

    Thanks!
    -Craig
  • kryystkryyst Ontario, Canada
    edited July 2008
    It's a good article, but I maintain a better setup is to install os x and then windows in bootcamp as the article starts. But to not bother with the linux 3rd partitioning. Instead linux runs very well inside of a virtual machine, parallels in particular.

    The only real need to dual boot into windows instead of running it in a virtual machine is to gain all the graphical advantages (directx) of windows. Linux on the other hand doesn't rely on directx and runs perfectly happily in a vm.

    You don't need parallels either, you can use any number of free virtual systems to do it. But parallels allows you to use your bootcamp partition as a virtual machine so you can access your windows partition both ways. It also has support for up to directx8.1 plus it's coherence mode works really well.

    This doesn't take away from the article is really well done and straight forward. I'm just suggesting there is a more optimal way of doing it.
  • SnarkasmSnarkasm Madison, WI Icrontian
    edited July 2008
    I haven't done it, but I believe if you replace it just before GRUB tries to install, you should be good. We need TT back in here to clarify... I'll see if I can find him for you. :)
  • edited July 2008
    kryyst-

    Thanks for the input. I'll probably end up using a VM if I can't get the triple-boot to work; there's something about turning on my MacBook Pro and seeing those 3 boot options that is just inherently cool for me. :cool:

    I'm still hoping I can get the triple-boot sorted out, but Parallels (I already have it) is definitely a solid option.

    Snarkasm-

    I'm just posting this again in case TT does take a look, I'm using Ubuntu 8.04 32-bit Alternate Install CD and Windows XP Pro SP2.

    Thanks!
    -Craig
  • the_technocratthe_technocrat IC-MotY1 Indy Icrontian
    edited July 2008
    Hey!

    OK, a few points:
    1. You want to save a copy of the MBR before you partition the disk in the Ubuntu installer. You want to restore the MBR after you partition the disk. I would suggest doing so before installing GRUB. It just happens to be a good place to do it, when the grub install page is up. You don't have to perform these operations while the installer is doing stuff, and I wouldn't recommend it. Do them when the installer is waiting for user input.
    2. Don't forget that you have to tell GRUB to install to the main linux partition, not the swap. It isn't in the listed suggestions, you have to know which partition the linux main is. I've listed what it usually is in the instructions.
    3. Don't edit the boot.ini or any other Windows files. You don't need to.
    4. Virtual machines work great. In fact, I have a triple-boot macbook with several virtual machines on it for testing. The goal of triple-booting is to have any OS and have access to 4GB of memory. In a virtualized environment, you will always share the memory between the host OS and the VM.

    OK, so if you've done any of this stuff and borked the process, I wouldn't bother trying to fix it. Either Ubuntu mucked the MBR so Windows won't boot, or you've otherwise lost the pristine MBR Windows requires, and you're screwed. Easiest way is to boot into OSX, fire up Disk Utility (it's in Applications/Utilities), crush all the partitions back into OSX and start over.

    This is a very exact procedure, and everything has to be done perfectly. If you make a mistake, you're done. :)
  • the_technocratthe_technocrat IC-MotY1 Indy Icrontian
    edited July 2008
    Snarkasm wrote:
    Guided partitioning will create a swap for you in the Ubuntu installer.

    Jared, I think Vista has some extra stuff that helps the multiple-boot process, so it might change something, but overall, I think this process will help bypass it. You should be fine unless XP's boot sector is a different size.

    Vista adds nothing to the process, Windows (and Ubuntu as well) are completely unaware that they are sharing the drive during boot. What the OS sees on the drive after boot is a different story as far as accessing files.

    You can swap XP for Vista, and Ubuntu for another distro, provided that the Linux distro gets its bootloader installed to the partition and not the MBR, and Windows gets its MBR backed up and restored before and after Linux partitions the disk.
  • edited July 2008
    Well, it's still not working.

    I re-installed Windows and Ubuntu today and now I still get missing <system root="">system32\hal.dll. I ran the commands in your tutorial when I was supposed to (before choosing 'Guided - Resize...etc.' and at the GRUB install screen (and even once before that because GRUB runs something before that screen comes up)) and it still does not work. And yes, I told Ubuntu to write GRUB to /dev/sda4, and when I look at the drive in the partition editor, Ubuntu is /dev/sda4.

    I've found, however, that if I boot an Ubuntu Live CD and use the partition editor (the copy I installed with the alternate install CD didn't have the partition editor for some reason, but I couldn't use it anyway for what I did) to delete the Linux EXT3 and Swap partitions and expand the NTFS partition into that empty space, Windows boots just fine again.

    It is strange that when I edit the Windows boot.ini file to partition 2 instead of 3 that I get the splash screen and then UNMOUNTABLE_BOOT_VOLUME, whereas with partition 3 it goes straight to missing hal.dll.

    Any suggestions?
    -Craig

    Edited to add where GRUB was installed (/dev/sda4)

    Sorry, one more thing:
    I'm not splitting the drive equally between the 3 OS's; I don't anticipate doing much work in Ubuntu, so that's getting about 13GB, Windows has around 55GB, and OS X has the rest. Not sure if it's relevant, just thought I'd add it.
    </system>
  • the_technocratthe_technocrat IC-MotY1 Indy Icrontian
    edited July 2008
    Did you re-create the windows partition from OSX, or just reinstall to it?
  • edited July 2008
    This morning I re-created the partition in OS X. Now, if I delete the Ubuntu stuff Windows boots fine.
  • edited July 2008
    Just wanted to do a quick update-

    I did a quick Google and a lot of the guides I found around the web put XP on /dev/sda4 instead of 3 (they use the diskutil command interface to make 3 partitions), and install XP on the last partition instead of the 3rd. They still use the same dd command, though. Would that maybe be it?
  • the_technocratthe_technocrat IC-MotY1 Indy Icrontian
    edited July 2008
    Just wanted to do a quick update-

    I did a quick Google and a lot of the guides I found around the web put XP on /dev/sda4 instead of 3 (they use the diskutil command interface to make 3 partitions), and install XP on the last partition instead of the 3rd. They still use the same dd command, though. Would that maybe be it?

    You could try...perhaps XP requires installation to the last partition (I vaguely remember this to be true), where Vista is more tolerant. The tutorial is for Vista x64, so you may have to adapt it to XP.
  • edited July 2008
    I am using the same software same versions as listed in document but performing this on a standard Macbook and with Vista 32bit and Ubuntu 64bit.
    The only problem I am having is I have not been able to get to the terminal to enter the commands. Can anyone confirm having to press function or (FN) key to get to the option for the command line. I have also tried with a USB keyboard. Alt (Option) F2 did not work for me and neither did holding down FN+Alt+F2. Any tips on getting to command would be great. My Standard Macbook is about 3 weeks old and has 4GB or RAM with Core 2 2.4Ghz.
  • SnarkasmSnarkasm Madison, WI Icrontian
    edited July 2008
    Try ctrl-alt-F1 or ctrl-alt-F2.
  • edited July 2008
    Ok,
    Will do, might take a bit, I will be starting over from scratch for attampt number 3 :) Thanks.
  • edited July 2008
    Well, I have good news and bad news. The good news is, I got Windows installed on sda4 and it works even after installing Ubuntu on sda3. The bad news is, now when I try and boot Ubuntu I get a "GRUB GRUB Geom Error". (As in, I select Linux in rEFIt, I get the transparent penguin, and it errors)

    Please tell me this is easy to fix?
    -Craig

    Edit: Well, now it's just saying "GRUB _" and the underscore flashes. IDK what's going on. Delete the partitions and try again maybe? I can easily restore my XP partition w/ WinClone in OS X. I had created a swap partition, but decided not to later to I used my livecd to delete it, that might've screwed it up...
  • edited July 2008
    Finally, good news! IT ALL WORKS!

    What I did:

    Found out the recognized size of my hard drive (all as one partition) with this:
    diskutil list
    
    Partitioned my disk with this command:
    diskutil resizeVolume disk0s2 165G "Journaled HFS+" "Ubuntu" 12G "MS-DOS FAT32" "Windows XP" 55G
    
    REMINDER: Those values are for a 250GB hard drive recognized as 232.4GB. Change the values to match your drive size and wants.

    Reboot with XP disc in, installed to last partition (/dev/sda4). Installed BootCamp in XP, rebooted with Ubuntu 8.04 alternate install i386.

    At partitioning, I exited to terminal and ran:
    dd if=/dev/sda of=/tmp/sda.mbr bs=512 count=1
    
    At the partitioner, I chose "Manual", 3rd partition, formatted to journaled ext3, mount point "/". Finished, wrote changes to disk, DID NOT MAKE A SWAP PARTITION.

    Continued until GRUB install, ran:
    dd if=/tmp/sda.mbr of=/dev/sda
    
    Installed GRUB to /dev/sda3 (NOT /dev/sda4!)

    Finished install and rebooted.

    Updated rEFIt, and it all still works!

    To make a swap FILE, boot into Ubuntu and do this:
    # become root
    sudo su - 
    # create a 100 MB blank file
    dd if=/dev/zero of=/swapfile bs=1M count=100 
    # setup file as swap
    mkswap /swapfile 
    # enable swapfile
    swapon /swapfile 
    # show swap
    swapon -s
    
    Thanks a bunch for your input and help, I'm happy I'm finally done!

    Regards,
    Craig
  • the_technocratthe_technocrat IC-MotY1 Indy Icrontian
    edited July 2008
    Cool. Yes, Triple-booting a machine with XP is different than with Vista.
  • SnarkasmSnarkasm Madison, WI Icrontian
    edited July 2008
    Sounds like somebody wasn't so wrong after all :cough cough: ;)

    Glad you got it working, Craigular, and congrats. Thanks for YOUR help with the info you just gave us.
  • BuddyJBuddyJ Dept. of Propaganda OKC Icrontian
    edited July 2008
    Well done Craig!
  • edited July 2008
    So I followed your directions explicitly. My only problem is that if i select to boot ubuntu, refit fades and i see the penquin and then nothing happens. It doesnt boot linux. I have the same setup as you. Macbook Pro 15" 2.5ghz. Vista-64bit Ultimate and Ubuntu 8.04. Windows Vista runs great, and OS X runs the same. Where did i go wrong?
    on rEFIt Partitioning tool i see

    Current GPT Partition Table
    # Start LBA End LBA Type
    1 40 409639 EFI System (FAT)
    2 409640 465715239 Mac OS X HFS+
    3 465977384 524571133 Basic Data
    4 524571134 620936368 Basic Data
    5 620936369 625142414 Linux Swap

    Current MBR partition table:
    #A Start LBA End LBA Type
    1 1 409639 EE EFI Protective
    2 409640 465715239 AF Mac OS X HFS+
    3 465977384 524571133 07 NTFS/HPFS
    4 524571134 620936368 83 Linux

    Status: Tables are synchronized, no need to sync.

    Any ideas why linux wont start up?
Sign In or Register to comment.