Haiku on GPT formated disk

i have a problem to boot Haiku on my new (used) Notebook Lenovo ThinkPad X1 Carbon.

  • from Win10 i made a new partition
  • formatted this partition and installed Haiku
  • installed BootMan

Now when booting in legacy mode i got a BootMan without entries.
Later i found the Bug 13260 https://dev.haiku-os.org/ticket/13260

I can boot with an USB stick to the hard drive install.
Has someone a tip how to boot without the USB Stick? And without reformatting the whole drive.

Thanks

You can reinstall bootman, it will overwrite the GPT header but restore the menu. However:

  • This is dangerous, because only the GPT header from the end of the disk is used (no backup)
  • I don’t know if Windows manages to boot in such a situation
  • Your bootman menu can be overwritten in several cases (when formatting or renaming a partition in Haiku, possibly just by booting Windows, not sure what they do there)

It is the solution I use at home, but not one I would recommend.

I would suggest using another bootloader which properly supports GPT (maybe GRUB?) until we gt Bootman ready for this.

1 Like

Thank you for your answer PulkoMandy.
Reinstall BootMan means execute Bootman a second time from the Harddrive install, right?
I did that already. But nothing changed. Still a Bootmanager without entries.

hello @vercu;
The other choice is to install grub2 and add a menu entry like below in /boot/grub/grub.cfg ;

``
menuentry “haiku installed on partiton 3 or /dev/sda3” {
set root='ha0,gpt3’
chainloader +1

}
``

the main issue would be the installing grub. There is a grub_rescue livecd (liveusb) or you can install a very light linux distro with seprate /boot partiton formated in EXT4 for example; and you could delete the /root after setting the Linux OS and editing grub.cfg in /boot partition.
the /boot partition could be 4GB and it would be fine.

Grub for Windows – Grub2Win:

OK, Grub2Win installed. Now i need help with the menu entry.:cry:

In debian I have this entry in “etc/grub.d/40_custom”:

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
menuentry "Haiku" {
set root=(hd2,4)
chainloader +1
}

*hd2,4 – disk b, partition 4
*Some times entry do not work, and I must reboot PC.

Simple Grub2Win Haiku tutorial:

  1. download grub2win

  2. install grub2win (in Windows)

  3. run "Grub2Win” link on Windows desktop

  4. push in ”Grub2Win” window button “Manage Boot Menu”

  5. push in “Grub2Win” window button “Add New Entry”

  6. write in “Title”: Haiku

  7. select in “OS Type”: other

  8. push button “Edit Sample Code”

  9. write (and save) in Notepad window:

    set root=(hd0,4)
    chainloader +1

*hd0 – boot disk, partition 4 (for my PC, for example, I have Haiku in that partition)
10. push button "Apply"
11. push button "OK"
12. push button "Apply"
13. select “Grub default OS”: Haiku
14. push button "OK"
15. push button "close"
16. reboot Windows
17. select in Windows boot menu Grub boot menu entry, and so on…

Thanks damoklas for your help.
Did that but still no joy.
Thats my menu entry:

menuentry “Haiku” {
set root=(hd0,gpt5)
chainloader +1

}

hello @vercu ;
I am gueesing the problem is that fact you are running GPT_EFI system.
There is no problem with your menuentry in grub.
Caution: be carefull of your /dev/disk/scsi/0/0/0/1 ; the FAT32 filesystem one. that is your efi partition.

You running Grub from Windows? your entry in Grub2Win must be:

set root=(hd0,5)
chainloader +1

and in Linux:

menuentry "Haiku" {
set root=(hd1,5)
chainloader +1
}

(I think)

Yes, thats Grub2Win from Windows 10.
Using your entry for Windows didn’t change things.
Booting Haiku from the Grub Bootmenu results in: invalid efi file path
Booting Windows from the Grub Bootmenu works.

I am close to give up for now waiting for a simpler solution.
Booting to Haiku Harddrive install with an USB stick is ok for now.

Thanks to all for your help.

A UEFI-GPT-partition-based grub2 has a chainloader command which doesn’t understand the +1 style syntax. It’s interpreting that an EFI path and I think that’s the source of the error message.

Interesting.
Deleting the chain loader line results in a failed boot without failure notice.
Refit doesn’t help either.
Selecting the hard drive still shows the BootMan menu without entries.

I think we are stuck for now. Or are there are other ideas what else to do?

EasyBCD boot manager for Windows seems to support GPT disks.

On my system I don’t have GPT disk, but I use EasyBCD to choose between Haiku and Windows.
IIRC, to add Haiku partition to EasyBCD, you should set it as Linux.

The following is the content/summary of my EasyBCD configuration:

There are a total of 2 entries listed in the bootloader.

Default: Haiku
Timeout: 60 seconds
Boot Drive: C:\

Entry #1
Name: Windows 7
BCD ID: {current}
Drive: C:\
Bootloader Path: \Windows\system32\winload.exe

Entry #2
Name: Haiku
BCD ID: {170255fe-2532-11e6-bb90-001f16f34071}
Drive: C:\
Bootloader Path: \NST\nst_linux.mbr

The following is from the EasyBCD and UEFI website:

Microsoft has blocked the loading of legacy or non-Windows operating systems from the BCD menu. This means that you can no longer use EasyBCD to add Windows 9x, XP, or Server 2003 entries to the BCD bootloader menu. You also cannot add DOS, Linux, BSD, or Mac entries.

I wasn’t aware, since on my system I don’t have any problem. I’m running the 2.3 version of EasyBCD, however.
Maybe this limit has been introduced on Windows 10? Well: for me is another reason to avoid Windows 10 :slight_smile:

Oh, Microsoft. Still all about the old dirty tricks to keep alternatives off it’s precious Wintel platform. Thankfully, there’s other ways to get around this nonsense.

Haikuos cannot boot MBR normal ufei not supported