Bootman and GRUB troubles

I installed bootman over top of GRUB. Now, when I want to access my Ubuntu partition from bootman, it says that the partition is not bootable.

Then when I open the bootman app and restore, the configuration is not there.

Does anyone know how to fix this? Have I been entirely cut off from my Ubuntu partition?

The idea is that Linux OS have not native bootloader to load kernel. Usually this bootloader resides in the beginning of partition before filesystem actually starts. That is why one should use external boorloader (LILO, GRUB, ISOLINUX, etc) to load Linux kernel. This bootloader can reside either in MBR or in partition. If you rewrite GRUB resided in MBR with bootman, there is no more possibility to boot Linux kernel as bootman can’t load linux image into memory. All it can is to transfer the control to partition bootloader.

So if you want to be able to boot Linux with bootman, you should do 2 things:

  1. Install GRUB in partition, not in MBR
  2. Install bootman in MBR

After it, booting Linux will follow the steps:

  1. bootman transfers control to partition bootloader of Linux partition (which is GRUB)
  2. GRUB loads Linux kernel and all the OS.

Alternatively just re-install GRUB and use that. You can easily set grub up to boot Haiku.

This might help:

https://help.ubuntu.com/community/GrubHowto

Okay! Thanks for all your help!

Thanks everyone for all the help!

[quote=alpopa]The idea is that Linux OS have not native bootloader to load kernel. Usually this bootloader resides in the beginning of partition before filesystem actually starts. That is why one should use external boorloader (LILO, GRUB, ISOLINUX, etc) to load Linux kernel. This bootloader can reside either in MBR or in partition. If you rewrite GRUB resided in MBR with bootman, there is no more possibility to boot Linux kernel as bootman can’t load linux image into memory. All it can is to transfer the control to partition bootloader.

So if you want to be able to boot Linux with bootman, you should do 2 things:

  1. Install GRUB in partition, not in MBR
  2. Install bootman in MBR

After it, booting Linux will follow the steps:

  1. bootman transfers control to partition bootloader of Linux partition (which is GRUB)
  2. GRUB loads Linux kernel and all the OS.[/quote]

So in order to do this I must:

  1. Uninstall GRUB.
  2. Make a new partition in Ubuntu.
  3. Uninstall GRUB.
  4. Reinstall GRUB, this time on the Ubuntu partition.
  5. Install Haiku on the new partition.
  6. Install Bootman.

I hate GRUB, compared to good old easy GUI bootman. For a linux & Haiku system its easiest to put GRUB in the root partition of the linux install, not the MBR. Then run bootman, it will see that linux is bootable (since you put GRUB where it belongs in the linux root partition) and just put an ‘X’ next to the name of any OS’s you want bootman to offer you when you boot up. If GRUB was easy, I’d reccomend it to handle all the job. Bootman is way easier.

So basically you’re telling me that what I said that I needed to do in my last post is what I really need to do, right?

Yeah, should work without any problems. Good luck anyway :slight_smile:

Thanks so much for the help, all of you.

Please, let me explain.

First, install Linux. When prompted to install GRUB, choose option to install it to Linux partition, NOT to MBR.

Second, install Haiku on the separate partition and install bootman in MBR.

That’s all.

Success.

Well, I already have Ubuntu on my hard drive (It is on the entire drive) and I am not interested in wiping it. I would like the preserve this data. Is this the only way I can do it?

You can add an entry in Grub to chain-load haiku

Here is a sample entry for grub :

# for Haiku
title Haiku R1A2
root (hd0,2)
chainloader +1

for grub2 :

menuentry "Haiku R1A2" {
set root=(hd0,2)
chainloader +1
}

Now you can regenerate the boot menu configuration by issuing the command:

sudo update-grub

see also
http://www.haiku-os.org/guides/booting/grub

NB : Grub should never be installed in the MBR as it installs a non-standard boot code (whose role is to load the active partition), so a maintenance tool could overwrite it and crash your system. (that’s also the reason why I do not use Bootman).

Installing GRUB in a partition is much more cleaner!

This makes sense. Thanks for all the help.