Err Message: No Boot Device Found

Hi,

I tried to install openSUSE 12.1 on my “2010 MacBook Pro”.

But after the installation, I cannot boot into the system.

An error message showing that:

No Bootable Device

So what should I do now? I’m a newbie to UNIX & LINUX. So any suggestion is appreciated.

Thanks.

Ed

I don’t know how many Mac users are out there using openSUSE, but I am afraid I am not going to be much help. The error means that the MBR (Master Boot Record) did not get a copy of generic boot code or Grub was not loaded into it and your BIOS (or what ever on a Mac) is complaining that no bootable device was found. Normally I suggest a reinstall and to allow Grub to be loaded into the MBR, but really, on a Mac that is a pure guess for me. I did find a nice write up that might be useful for you here:

OpenSUSE 12.1 on a 2011 MacBook Air | Community Matters

Thank You,

Hi,

So is there anything I can do to let my MBP or iMac run openSUSE 12.1?

Thanks.

Ed

I would say you should read the article that I posted and afterwards, reintall openSUSE paying close attention to the Install section. Make sure that the correct boot drive is first in order and that you have installed either grub into the MBR or you have placed generic boot code into the MBR.

Thank You,

Hi,

After installing GRUB in the MBR, I can now run openSUSE on my Mac Book Pro. But still FAILED if I try a "Triple Boot(OS X Lion, Windows 7, and openSUSE).

After installing OS X Lion, Windows 7, I tried to install “openSUSE” but got the following Error Messsage:

Error Occured While Installing GRUB
Error 17: Cannot Mount Select Partition

Any solutions?

Thanks.

Ed

On 2011-12-16 08:06, EDLIU11 wrote:
> Error 17: Cannot Mount Select Partition

17 : Cannot mount selected partition
This error is returned if the partition requested exists, but the
filesystem type cannot be recognized by GRUB.


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)

When you are installing openSUSE, is there any free space left on the hard drive? What is the hard drive size and total number of partitions before you are trying to install openSUSE? WHen you try to install openSUSE, you can use custom partitioning and see what the size of everything is. Here is some info on partitions and openSUSE.

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, booting NTFS Partition for Windows (small < 500 mb)
  3. /dev/sda2, Primary, NTFS Partition for Windows (Main / Large Partition)
  4. /dev/sda3, Primary EXT4 “/” openSUSE Partition Marked Active for booting (80-120 GB)
  5. /dev/sda4, Primary Extended Partition (Rest of Disk)
  6. /dev/sda5, Logical SWAP partition(4 GB, inside Extended)
  7. /dev/sda6, Logical EXT4 “/home” Your main home directory (Rest of the Extended partition)

<OR>

  1. /dev/sdb, Load MBR with generic booting code
  2. /dev/sdb1, Primary, booting NTFS Partition for Windows (small < 500 mb)
  3. /dev/sdb2, Primary, NTFS Partition for Windows (Main / Large Partition)
  4. /dev/sdb3, Primary EXT4 “/” openSUSE Partition Marked Active for booting (80-120 GB)
  5. /dev/sdb4, Primary Extended Partition (Rest of Disk)
  6. /dev/sdb5, Logical SWAP partition(4 GB, inside Extended)
  7. /dev/sdb6, Logical EXT4 “/home” Your main home directory (Rest of the Extended partition)

Thank You,

I’m going to try this with my OSX dualboot.

Thanks very much sir.

You are welcome wethegreenpeople. Now consider when Windows 7 loads to a blank hard drive, it may create a small, 100 megabyte partition up front from which it boots and then loading Windows 7 from the much larger partition we consider to be the C: drive second. If you force Windows 7 to install into a single existing partition, it may forgo this setup of having two partitions using only one. What ever it did, you must account for it either having a dual partition setup or just one. Good luck and let us know of your success.

Thank You,

[quote="“wethegreenpeople,post:8,topic:75157”]

I’m going to try this with my OSX dualboot.

Thanks very much sir.[/QUOTE]

To dualboot with OSX? Are you serious?

Here’s how a OSX (Leopard/Snow Leopard) + openSUSE partition table looks like:

#  fdisk -l

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


Disk /dev/sda: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders, total 488397168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00002652

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1      409639      204819+  ee  GPT
/dev/sda2          409640   352469031   176029696   af  HFS / HFS+
**/dev/sda3   *   352731176   488134983    67701904   83  Linux**

It might be different with Lion, because, AFAIK, it uses an extra recovery partition, just like Windows. But if you’re able to install Lion from a DVD in a single partition, it should be the second one (sda2) from the Linux point of view. sda1 is the EFI partition. Don’t touch it! Don’t install Grub in MBR! Don’t install generic boot code either! Install Grub in the Linux partition (bootsector of sda3) and nowhere else. To triple boot, install Windows in the last partition (sda4). Don’t create a /home or swap partition. You’ll create a swap file later.

triple-booting-mac-os-x-6-opensuse-windows-xp-macbook-pro-7-1

Use the option Create Partition Setup in openSUSE installation, select sda3 (that you will have created before with disk utilities under OS X). Uncheck Write generic Boot Code to MBR. You’ll have to install rEFIt as mentioned in the HowTo linked aboved.

If you install a Grub2 based distro (such as Ubuntu or Fedora16) you shouldn’t need rEFIt to boot GPT. I never tested though.

Hi,

Try Ubuntu 11.10. It’s more designed for MACs. It has all the drivers needed by MACs.

Will try to see if openSUSE can work on MAC.

Thanks.

Ed

[QUOTE=please_try_again;2419313]To dualboot with OSX? Are you serious?

Here’s how a OSX (Leopard/Snow Leopard) + openSUSE partition table looks like:

#  fdisk -l

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


Disk /dev/sda: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders, total 488397168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00002652

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1      409639      204819+  ee  GPT
/dev/sda2          409640   352469031   176029696   af  HFS / HFS+
**/dev/sda3   *   352731176   488134983    67701904   83  Linux**

It might be different with Lion, because, AFAIK, it uses an extra recovery partition, just like Windows. But if you’re able to install Lion from a DVD in a single partition, it should be the second one (sda2) from the Linux point of view. sda1 is the EFI partition. Don’t touch it! Don’t install Grub in MBR! Don’t install generic boot code either! Install Grub in the Linux partition (bootsector of sda3) and nowhere else. To triple boot, install Windows in the last partition (sda4). Don’t create a /home or swap partition. You’ll create a swap file later.

triple-booting-mac-os-x-6-opensuse-windows-xp-macbook-pro-7-1

Use the option Create Partition Setup in openSUSE installation, select sda3 (that you will have created before with disk utilities under OS X). Uncheck Write generic Boot Code to MBR. You’ll have to install rEFIt as mentioned in the HowTo linked aboved.

I have been trying to install my mac triple boot in this way but failed because of some unknow settings setups.

Can you be more specific about the BootLoader settings?

Thanks

Ed

You can not simply modify the MBR as you like on EFI based hardware (like Macs) with Hybrid MBRs . You should use a program called rEFIt to resynchronize GPT and MBR when needed and serve as a bootmanager. Legacy Grub should only boot Linux. Actually, it would also boot WIndows, but it’s irrelevant. When you install it in the bootsector of the Linux partition, it doesn’t touch the MBR at all. Similarly, if you use the partitioner to resize or create partitions during setup, it will modify the partition table, which is located in the last 64 bytes on the MBR and therefore the MBR partition table won’t match the GPT one. Thus:

  • Don’t install Grub to MBR
  • Don’t write a generic code to MBR
  • Don’t create a /home or swap partition

The exact way to proceed during setup (clik this, click that) had been described in many posts. I bet you didn’t search the forum before asking. So I guess you want me to repeat it once again? (My fault, I never bookmark anything).

This method applies to openSUSE and works on Leopard and Snow Leopard. As I already said, Lion uses an extra partition … and I wouldn’t know what to do with an extra partition. It would require to create at least a logical partition for a triple boot, because: EFI partition + HFS parition + OSX recovery + Linux + Windows = 5. I never tried to add a logical partition because I never had to.

It should be a lot simpler if you use Ubuntu or Fedora16, since Grub2 can boot GPT (no need to use rEFIT) and Fedora 16 can handle GPT partitions natively. It will even create a GPT partition while installing on a blank hard disk (without preexisting MBR or after wiping it out*) even on non EFI systems!!!

  • Don’t do that on your Mac! I just added the info in case it would be useful to anyone.

Installing Ubuntu or Fedora on a Mac should be a lot easier (although I didn’t try). IMO, if they keep using Legacy Grub, people won’t install openSUSE anymore on Macs, because you have to be a masochist or at least enjoy challenges to do that nowadays.

My first go around installing openSuse it used sda 1 as swap…

did I done goof bad?

I just managed to get triple boot working Lion/Win7/OpenSuSe12. I’m not sure I can remember all the steps - various bits came from various websites. At one point I got triple boot with lion win and ubunto, but I couldn’t get the old gcc I needed compiled on ubuntu - so I zapped it and tried openSuse.

See if any of this helps:

NOTE I backed up everything first. But even though now I’ve got it working after many failed attempts, I never ruined the data I had in Lion and never had to reinstall anything on the osx partition.

Here goes:
I deleted the Lion Recovery partition - I read that its no problem to do that. You can’t do this in DiskUtility because the partition is hidden. I used diskutil. Type…
> diskutil list # so that you can see which to delete - in my case the recovery partition was on disk0s3 …
> sudo diskutil eraseVolume Apple_Boot “Recovery HD” disk0s3
Then I used diskUtility (gui) to resize the mac partition. I added 2 X 80Gb partitions called WIN and LIN both FAT. My disk is 500Gb total.
Then put Windows disk in, restart with option, install windows. You need to choose the WIN partition during install and format it. Now windows is on disk0s3. (Mac is on disk0s2 and EFI is disk0s1)
Then put the OpenSuse 12 disk in and restart with option held down.
Go through the install process -
When you get to partitioning, select: Create Partition Setup. select Custom Partitioning for experts.
right click over the partition you made for Linux and choose edit - you want to format as ext4 and mount on /
Continue until you get to the page with all the details listed. Partitioning should say “mount /dev/sda4 as /”
At the bottom of the page select “change” and choose booting from the menu. Select the Boot Loader Tab at the top of the page. Change it to put GRUB boot loader on MBR - the top checkbox.
I honestly cant remember if I left the second checkbox (install on root) checked. I think maybe I did.
Go ahead and do the install.

It should go through the install ok. Then when its done restart, hold down option and you should see 2 disks - choose windows. You should get the GRUB menu. Choose the top option - start openSuse, It might say there was a problem with the previous install and ask if you want to repair/complete it - just follow the prompts.

If all went well you’ll be able to hold option when you start, choose Windows disk, and then choose either Windows or openSuse from within GRUB - Of course, if you want to start osx, just dont hold option down. If you had loaded rEFIt you can probably also get to grub by choosing the windows or linux logo from the rEFIt screen.

I apologize in advance if it doesn’t work. It worked for me though.

julian

That is great information hoolymama. Notice how I tried to break up your steps and to put terminal commands into a code block. It can help make the steps more readable for others.

Thank You,

I note that you first installed Ubuntu, then openSUSE over Ubuntu. It might be irrelevant but it should be mentioned though, because Ubuntu might have handled the GPT differently (Fedora would).

This is great information. Did you download and burn a DVD of the OS first? AFAIK it’s not shipped anymore.
Did the recovery partition appear in the GUI disk utility? Would it have been possible to delete it from there?

Great info too. I read that the Windows partition should be the last one but could never figure out why. Obviously it is not true.

Amazing!.. And you didn’t install rEFIt at all? So rEFit wouldn’t let you do that? Or maybe only the MBR partition table has to be synchronized with the GPT, and the boot code in the MBR doesn’t matter. (Why would it ?)

It doesn’t really matter. At least it wouldn’t have broken anything.

With rEFIt, you see three disks: OS/X, Linux and WIndows. You don’t need to hold option down. Choosing Linux start Grub (provided it is installed in the Linux partition). Choosing Windows starts the Windows bootmanager (and probably Windows directly since it will be the only entry).

On the contrary, it’s great stuff. And I want to express my gratitude for this post. I might even update from Snow Leopard to Lion at some point - although I actually never use Mac OS/X. My iMac is running openSUSE 24/24 and this is the only machine I never reboot.

Just a last question: I assume your Mac came with Lion, it wasn’t an update from Snow Leopard?

Julian,

An I see this is your first post here. Welcome and well done!

Hi all. Thank you for the welcome! And I apologize for the messy hurried state of my first post, I was so tired from installing over and over again - grammar and formatting were the first casualties.

I note that you first installed Ubuntu, then openSUSE over Ubuntu. It might be irrelevant but it should be mentioned though, because Ubuntu might have handled the GPT differently (Fedora would).

When I first decided to give up on Ubuntu, I tried to install OpenSuse over the top, but that caused both Windows and Linux to be unbootable. So I went back to the DiskUtility app in Lion and repartitioned, then installed both Windows and OpenSuse from scratch again. I did try to install Fedora16 a few times but always failed, perhaps for the reason you mentioned.

This is great information. Did you download and burn a DVD of the OS first? AFAIK it’s not shipped anymore.
Did the recovery partition appear in the GUI disk utility? Would it have been possible to delete it from there?

I upgraded to Lion from Snow Leopard, I did this a few weeks ago by making an install thumb drive using instructions at LifeHacker:

Actually the recovery partition was only visible in the output from the diskutil command line program. I think this is the site where I found how to delete it. There was another site, which I can’t find now, that explained how the master boot record can only have 4 slots, so to have 3 operating systems you need to get rid of the recovery partition, and have the linux install only take 1 partition (use a swap file for swap, not a partition).

Great info too. I read that the Windows partition should be the last one but could never figure out why. Obviously it is not true.

Yes I read that too. It may be relevant if you are using rEFIt. I’m really a little confused about how the various pieces fit together. But this post is the one that worked and gave me a better understanding of how to avoid problems. I think the basic idea is, make sure the partitions you use for windows and linux stay the same size as you set them up in diskUtility (mac GUI). This means don’t choose the free-space option when its time to specify a linux partition, just format as ext4. Then I guess the GPT and MBR don’t get the opportunity to go out of sync.

Some instructions I have seen have recommended choosing to install linux on free-space and gptsync (from the rEFIt menu). However, this post states that there is a bug in the way the rEFIt gptsync works in conjunction with Lion. He recommends fixing the MBR by hand. At one point I tried these instructions but it didn’t work for me. It did at least make me look out for solutions that didn’t involve refit.

Amazing!.. And you didn’t install rEFIt at all? So rEFit wouldn’t let you do that? Or maybe only the MBR partition table has to be synchronized with the GPT, and the boot code in the MBR doesn’t matter. (Why would it ?)

Yes I think you are right. While I did have rEFIt installed from earlier attempts, the solution that worked didn’t use it at all. The intention is that you hold down option, select Windows disk icon, and then choose from the GRUB menu. However, as I have rEFIt installed anyway, I noticed that you can choose either the Linux TUX or the Windows icons in rEFIt and they will take you to that same GRUB menu.

Just a last question: I assume your Mac came with Lion, it wasn’t an update from Snow Leopard?

Actually, I started with Snow Leopard. All my data stayed in tact while I upgraded to Lion (using the method from the LifeHacker article above). And since then, miraculously, after what must be 15 attempts to get triple boot working, that Mac data is still there. At the moment I’m not convinced that Lion is a massive improvement over leopard. In my job I have to compile for Linux64 and Win64, but I really like using TextMate for development, which is Mac only. Finally I can do it all on one machine.

So, again - thanks for the warm welcome here. I’m really looking forward to diving into suse now.

Best!

Julian