rEFInd requires efi. They did not specify they have efi (and an extended partition for efi is unlikely.)
Anyway. It’s not so nice to throw random guesses at problems instead of debugging it.
@handy chainloader +1 is required for booting from grub2
rEFInd requires efi. They did not specify they have efi (and an extended partition for efi is unlikely.)
Anyway. It’s not so nice to throw random guesses at problems instead of debugging it.
@handy chainloader +1 is required for booting from grub2
thank you all for your posts.
I actually did do some more research last night (i hadn’t read any of your posts at that time) & ended up on an old page here (sorry link i on another computer) that went into a lot of detail about different ways to boot haiku from internal storage.
refind was mentioned (i used its forbear on a 24" iMac many years ago - to boot Linux). Anyway, after reading i decided to scrap both drives on machine in question & start again. as one of the drives was set up for BIOS & the machine used EFI/GPT on the motherboard.
The other drive (M2) is setup for efi, but may have problems, as gdisk says that the borders of the partitions are overlapping. i removed & recreated the empty one for haiku (at least once) but that didn’t solve the problem.
SO, i think i have to spend the time & backup my data, delete all partitions & rebuild the drives from the ground up. i have cloned images of MX linux, which will save me a day of customising it, at least.
It looks like i can’t quite give up yet… lol
It’s EFI.
Maybe it will work better, but please note a remark about the post of your system info : seems you are using fdisk in a partition, not on a disk, as it should be. Just delete the partitions from linux, but recreate them with Haiku´s DriveSetup. Create with the correct type, then format with BeFS.
Also, note the differences between grub disk numbering and bios. The way suggested in your other thread ( entering grub prompt with (c), then using “tab” to check disk partitions can help you here, instead of the cycle of editing config/rebuilding grub/try to boot.
Good day,
I’m also experiencing “unable to boot from M.2” with UEFI. In this case is a Haiku Only box. It has 2 drives, an SSD with Haiku Nightly, and an M.2, which I intended to install Haiku Beta on it (installed Nightly and wanted to “update” to beta").
First I placed the SSD in the box, and installed Haiku. Boots on UEFI without issues. Only the KDL due to the KM switch. Then I added the M.2 disk to the box and installed Haiku from the SSD, with the Installer software. Made the partitions with DriveSetup, and so on.
Both drives have their own EFIBOOT partition formated as FAT32, and both drives have the boot bit on, as told by the Installer software once finished installation.
On boot I tell the BIOS from which drive to boot. As long as I pick the SSD it boots. If I pick the M.2, it won’t boot. I’ve tried with all the safe mode options without any success. Boot process gets stuck with all the icons under Haiku logo greyed out, and doesn’t go anywhere from there.
So no luck yet with this.
You are not alone @handy…
Regards,
RR
[Edited]
So finally I got it. Right now I’m booting Haiku Beta off the M.2 drive. I had to activate the Compatibility Mode in the BIOS, then in the BIOS boot menu select the UEFI M.2 drive.
Issue here is that always tries to boot the Nightly (which was the one booted before) so have to press “Spacebar” to get Haiku boot menu and select the M.2 Beta install.
Looks like having two EFIBOOT partitions, one on each drive does not help?
I’m guessing it boots in UEFI too as video driver is Framebuffer (full AMD box).
So, at least in this case could get it to work.
I have to do this back home, see if it works too.
Regards,
RR
But it’s not booting from the M.2 drive. It boots from the SSD, and the Haiku boot loader is where I have to select the M.2 drive, then can get to Haiku Beta’s desktop. It’s just like the M.2 EFIBOOT partition is not there.
So issue is still there.
Regards,
RR
I’m still following this thread. Have some other priorities to deal with before i get back into sorting this on my machine.
@roiredxsoto, interesting that you are having M2 issues too. i’m considering not using the M2 storage & using the HDD that is also installed in the machine in question.
M.2 is “only” a connector. I have a M.2 drive with Haiku that works just fine.
It is possible Haiku may have problems with some types of drives however.
Use DriveSetup and delete grub.
Yes, from what i’ve read in this thread & elsewhere in the forum, plus on that alternative boot manager rEFInd’s website, i’ve been inspired to try & get rid of GRUB, as it has always been an over complicated critter.
Sorry, I am late in this thread.
Haiku can boot by GRUB2 very nice, but the way GRUB2 is configured for EFI systems is different from the way it is configured for BIOS systems.
So, speaking in Linux notation, you have:
/dev/nvme0n1p1
- ESP EFI partition (512 MiB, vfat),
/dev/nvme0n1p2
- Linux root partition (48.83 GiB ext4),
/dev/nvme0n1p3
reserved for Haiku (BFS, partition type EB00
).
In this case your entry for Haiku in grub.cfg
or /etc/grub.d/40_custom
should be:
menuentry 'Haiku' {
set root=(hd0,gpt1) # This is EFI partition, not Haiku one!
chainloader /EFI/Haiku/bootx64.efi # This is EFI booloader provided by Haiku
}
Make sure the Haiku bootloader, which is located in the 2-nd (ESP) partition of Haiku installation media is really copied somewhere to EFI partition of your M.2 storage. Usually, something like /EFI/Haiku/bootx64.efi
is a good place.
Next, GRUB2 offers the option to use it as an interactive shell. For this, within GRUB2 menu press C
for command prompt. It can auto-complete your input to figure out how partitions are named and what paths and file names are there. Auto-complete is achieved by pressing <TAB>
. In the shell you can write all the commands, which are usually written in grub.cfg
or 40_custom
file between {
and }
. So, in this shell, write:
set root=(hd0,<TAB>
This will list all partitions visible on (hd0)
Grub device. Similarly, you can figure out the names of visible devices if you write instead:
set root=(hd<TAB>
Take a note of EFI partition and complete this command. Next, write:
chainloader /EFI/<TAB>
to figure out what GRUB2 founds on that partition. Find Haiku specific *.efi
bootloader and complete this command.
After that type:
boot
(this command is not necessary in grub.cfg
/ 40_custom
). If Haiku boots this way, just copy the first 2 lines to your 40_custom
file placing them between {
and }
. After that, do not forget to run:
update-grub
command from your Linux installation.
Thanks @alpopa for your very comprehensive reply/help. I will use your instructions when i take on this job again shortly.