Haiku covered up GRUB, I lost access to Debian!

I can’t access Debian anymore!
The haiku covered up GRUB, how can I access it again

Launch the bootloader installer from Haiku. You need to make sure you have checked BOTH the Haiku and Debian partitions when you pick the bootloader items.

That will not bring back grub. Linux is unable to boot in the normal way like any other OS and requires grub to be installed. And usually they put it in the master boot record instead of inside their own partition.

So you will need to reinstall grub using, for example, the “super grub disk” install CD.

1 Like

Unfortunately, this will not work as far as I know, because Haiku’s BootManager can only boot a partition with Partition Boot Loader and this is only true if GRUB is installed to a partition rather than to a disk.

You have 2 choices:
First: Continue to use GRUB as system bootloader. For this, download SuperGrub2Disk from https://sourceforge.net/projects/supergrub2/files/2.04s1/super_grub2_disk_2.04s1/super_grub2_disk_hybrid_2.04s1.iso/download, boot from it, select “Detect Bootable Methods” or something like this. After it will find the way to boot your Linux installation, choose it to boot to Linux. After that in terminal issue the command sudo grub-update. It will restore the GRUB where it was originally installed (system wide from what I can see). Additionally, it will hopefully detect Haiku and add it to bot menu. Remove SuperGrub2Disk and restart. In case Haiku is not auto detected, boot to Linux again and add the following at the end of /etc/grub.d/40_custom:

menuentry Haiku {
    # hd0 is the first disk
    # msdos3 is the 3rd partition of MBR partition table
    # use gpt3 for the 3rd partition of GPT partition table
    # This should be the partition where Haiku is installed
    set root=(hd0,msdos3)
    chainloader +1

After that run again sudo update-grub.

Second (only for BIOS systems): Use BootManager as system bootloader. Using SuperGrub2Disk boot to Linux and issue the command sudo grub-install /dev/sda1 where sda1 is the first partition of the first disk. Put here the partition where Linux is installed. If you use separate boot partition, this should be the partition where GRUB related filed reside. Normally, after this step BootManager (which is already installed as system bootloader) is able to boot Linux. If not, using SuperGrub2Disk, boot to Haiku and reinstall BootManager as described here - https://www.haiku-os.org/docs/userguide/en/applications/bootmanager.html.

Second (only for EFI systems): Use UEFI firmware to add desired boot images to boot menu. From Linux you can use efibootmgr command - see e.g. https://wiki.debian.org/UEFI.

1 Like

You need to install GRUB on partition, not on MBR (sudo grub2-install /dev/sda1, replace sda1 to Linux partition). Haiku BootMan can be used to select OS. Also you can use UEFI if available, it allows to select OS directly from UEFI.

Actually it can, but require custom GRUB install options. Some GUI installers provide such option.

Do I need a USB image editor to do this?

No, SuperGrub2Disk is capable of detecting all bootable methods and displaying them in GRUB menu. No modification to image is necessary.

All modifications are done inside Linux or Haiku.