Problem Loading On Triple Booted MacBook

Hi All,
This is my first post to this forum! I’m just getting into openSUSE and really excited to get involved in it.
I have a MacBook running OS X 10.6 (Snow Leopard) that I triple booted using Disk Utility. I installed openSUSE, (not WFindows yet), and have it set up to load using reFIT. reFIT can see that openSUSE is installed, but when I choose to load it it displays the following error message:

“No bootable device – insert boot disk and press any key”

I have the feeling there is something very simple I’m doing wrong… I know this post isn’t extremely detailed to please let me know whatever other information I should provide.
Thanks so much!

Hi All,
This is my first post to this forum! I’m just getting into openSUSE and really excited to get involved in it.
I have a MacBook running OS X 10.6 (Snow Leopard) that I triple booted using Disk Utility. I installed openSUSE, (not WFindows yet), and have it set up to load using reFIT. reFIT can see that openSUSE is installed, but when I choose to load it it displays the following error message:

“No bootable device – insert boot disk and press any key”

I have the feeling there is something very simple I’m doing wrong… I know this post isn’t extremely detailed to please let me know whatever other information I should provide.
Thanks so much!
Man I don’t know anything about a MAC, but it does not sound like you are loading openSUSE properly. To be able to start openSUSE, you must load the grub bootloader. Grub can be installed into the Master Boot Record (MBR) or loaded into the openSUSE root “/” partition that must then be marked Active for booting. If you installed the Grub Bootloader into the MBR, but using another OS selector tried to boot the openSUSE partition, this is the kind of error that you might get. I have no way to know if this would be helpful, but a standard lesson on Partitioning might be helpful to you:

Each hard drive can have up to four PRIMARY partitions, any of which could be marked active and bootable. No matter what you might hear, only one of the first four primary partitions can be booted from. That means you can boot from Primary partitions 1, 2, 3 or 4 and that is all. In order to boot openSUSE, you must load openSUSE and the grub boot loader into one of the first four partitions. Or, your second choice is to load the grub boot loader into the MBR (Master Boot Record) at the start of the disk. The MBR can be blank, like a new disk, it can contain a Windows partition booting code or generic booting code to boot the active partition 1, 2, 3, or 4. Or, as stated before, it can contain the grub boot loader. Why load grub into the MBR then? You do this so that you can “boot” openSUSE from a logical partition, numbered 5 or higher, which is not normally possible. In order to have more than four partitions, one of them (and only one can be assigned as extended) must be a extended partition. It is called an Extended Primary Partition, a container partition, it can be any one of the first four and it can contain one or more logical partitions within. Anytime you see partition numbers 5, 6 or higher for instance, they can only occur inside of the one and only Extended Primary partition you could have.

What does openSUSE want as far as partitions? It needs at minimum a SWAP partition and a “/” partition where all of your software is loaded. Further, it is recommended you create a separate /home partition, which makes it easier to upgrade or reload openSUSE without losing all of your settings. So, that is three more partitions you must add to what you have now. What must you do to load and boot openSUSE from an external hard drive? Number one, you must be able to select your external hard drive as the boot drive in your BIOS setup. Number two, you need to make sure that the external hard drive, perhaps /dev/sdb, is listed as the first hard drive in your grub device.map file and listed as drive hd0. I always suggest that you do not load grub into the MBR, but rather into the openSUSE “/” root primary partition which means a primary number of 1, 2, 3 or 4. If number one is used, then that will be out. You will mark the openSUSE partition as active for booting and finally you must load generic booting code into the MBR so that it will boot the openSUSE partition. I suggest a partition like this:

  1. /dev/sda, Load MBR with generic booting code
  2. /dev/sda1, Primary NTFS Partition for Windows
  3. /dev/sda2, Primary SWAP (4 GB)
  4. /dev/sda3, Primary EXT4 “/” openSUSE Partition Marked Active for booting (80-120 GB)
  5. /dev/sda4, Primary EXT4 “/home” Your main home directory (Rest of the disk)

OR

  1. /dev/sda, Load MBR with generic booting code
  2. /dev/sda1, Primary SWAP (4 GB)
  3. /dev/sda2, Primary EXT4 “/” openSUSE Partition Marked Active for booting (80-120 GB)
  4. /dev/sda3, Primary EXT4 “/home” Your main home directory (Rest of the disk)

Thank You,

There are 2 important things to consider while triple booting on MAC hardware:

  • the Windows partition has to be the last one (I don’t know why).
  • You should prevent openSUSE’s setup from writing anything in MBR, neither its Grub nor a generic boot code (which it tends to do by default). Therefore you have to
    install Grub in openSUSE’s root (and most likely only) partition.
    http://www.unixversal.com/linux/opensuse/images/opensuse_vm_install43.jpg

I don’t know how some people managed to create and use more partitions using the MBR scheme and further the MBR emulation provided by reFIT. They weren’t able to explain how they did or they didn’t realize that they were using GPT … or I missed the point myself. Anyway using a single partition and a swap file works fine for openSUSE while booting it with reFIT.

Thanks for the replies, I think I’ll go back in and repartition my hard drive to make sure it’s set up right. I’m pretty sure I have the Windows partitions installed first so that could be doing it… or maybe reFIT and grub aren’t being nice to each other (I know grub is installed in my openSUSE partition, but seeing as how I’m loading it with reFIT maybe that’s where I’m going wrong).
Thanks again!