How do I manually add partitions to grub?

I have 4 partitions installed. 3 different DEs with Endeavour, and Parrot OS on the other

I’ve reinstalled grub and the OS prober finds nothing. Also installed grub customizer to see if I could find the parrot entry and it can’t either. I also reinstalled EOS on a parttion to check but no luck again (just shows all the EOS parttions without Parrot)

When I installed Parrot it didn’t create a new efi partition. It loads fine when I set it to boot first in the BIOS and it lists all the EOS partitons but freezes if I select anything other than Parrot from the list

Is there a way to foce the Parrot partition to get recognized by one of the EOS bootloders?

The most likely reason is that parrot is installed in BIOS mode instead of using EFI. Grub EFI cannot detect BIOS and the opposite is also true.

If that is the problem, there are two common solutions.

  • You could reinstall the distros so they are all EFI or all BIOS
  • You could use something like refind which can boot both BIOS and EFI installs

Parrot has its own grub bootloader and even lists all the EOS partitions, it just crashes when I try to boot them

It’s because the variant of grub used by most other distros doesn’t produce the correct entries for Arch (-based) distro(s) in their grub.cfg.

The solution is given above by @dalto.

You could also make custom entries in Parrot for your EnOS’ installs to boot from but I guess using rEFInd (thought I have never tried it myself) is probably more hassle-free.

I would encourage you to not use GrubCustomizer which would complicate your grub environment and might lead to more troubles in the long run if not handled properly.

1 Like

That is interesting. Can we see the output of sudo efibootbgr -v

1 Like
Maybe it's because Parrot forcefully installs grub-legacy instead of regular grub.  I copied that text too.  Note:  The bootmanager text is a mess because my Bios has no option to remove old entries 

```text
└──╼ $sudo apt install grub
[sudo] password for parrot: 
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'grub-legacy' instead of 'grub'
grub-legacy is already the newest version (0.97-77).
The following packages were automatically installed and are no longer required:
  efibootmgr grub-efi-amd64-bin
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 93 not upgraded.
┌─[parrot@parrot-notebook]─[~]
└──╼ $sudo efibootmgr -v
BootCurrent: 000C
Timeout: 1 seconds
BootOrder: 000C,0014,0005,0007,0008,000A,000B,0000,0009,000F,000E,0011,0001,0006,0013,000D,0004,0012,0003,0002,0010,0015
Boot0000* endeavouros-3189	HD(1,GPT,d82f9512-d125-074b-9fbf-b996bde6a1f8,0x1000,0x96000)/File(\EFI\ENDEAVOUROS-3189\GRUBX64.EFI)
Boot0001* endeavouros-3599	HD(1,GPT,d82f9512-d125-074b-9fbf-b996bde6a1f8,0x1000,0x96000)/File(\EFI\ENDEAVOUROS-3599\GRUBX64.EFI)
Boot0002  endeavouros-1999	HD(1,GPT,d82f9512-d125-074b-9fbf-b996bde6a1f8,0x1000,0x96000)/File(\EFI\ENDEAVOUROS-1999\GRUBX64.EFI)
Boot0003* endeavouros-1196	HD(1,GPT,d82f9512-d125-074b-9fbf-b996bde6a1f8,0x1000,0x96000)/File(\EFI\ENDEAVOUROS-1196\GRUBX64.EFI)
Boot0004* endeavouros-4978	HD(1,GPT,d82f9512-d125-074b-9fbf-b996bde6a1f8,0x1000,0x96000)/File(\EFI\ENDEAVOUROS-4978\GRUBX64.EFI)
Boot0005* endeavouros-2648	HD(1,GPT,d82f9512-d125-074b-9fbf-b996bde6a1f8,0x1000,0x96000)/File(\EFI\ENDEAVOUROS-2648\GRUBX64.EFI)
Boot0006* endeavouros-8053	HD(1,GPT,d82f9512-d125-074b-9fbf-b996bde6a1f8,0x1000,0x96000)/File(\EFI\ENDEAVOUROS-8053\GRUBX64.EFI)
Boot0007* UEFI OS	HD(1,GPT,d82f9512-d125-074b-9fbf-b996bde6a1f8,0x1000,0x96000)/File(\EFI\BOOT\BOOTX64.EFI)..BO
Boot0008* endeavouros-6638	HD(1,GPT,d82f9512-d125-074b-9fbf-b996bde6a1f8,0x1000,0x96000)/File(\EFI\ENDEAVOUROS-6638\GRUBX64.EFI)
Boot0009* endeavouros-3652	HD(1,GPT,d82f9512-d125-074b-9fbf-b996bde6a1f8,0x1000,0x96000)/File(\EFI\ENDEAVOUROS-3652\GRUBX64.EFI)
Boot000A* endeavouros-7436	HD(1,GPT,d82f9512-d125-074b-9fbf-b996bde6a1f8,0x1000,0x96000)/File(\EFI\ENDEAVOUROS-7436\GRUBX64.EFI)
Boot000B* endeavouros-7932	HD(1,GPT,d82f9512-d125-074b-9fbf-b996bde6a1f8,0x1000,0x96000)/File(\EFI\ENDEAVOUROS-7932\GRUBX64.EFI)
Boot000C* Parrot	HD(1,GPT,d82f9512-d125-074b-9fbf-b996bde6a1f8,0x1000,0x96000)/File(\EFI\PARROT\GRUBX64.EFI)
Boot000D* endeavouros-5145	HD(1,GPT,d82f9512-d125-074b-9fbf-b996bde6a1f8,0x1000,0x96000)/File(\EFI\ENDEAVOUROS-5145\GRUBX64.EFI)
Boot000E* endeavouros-7951	HD(1,GPT,d82f9512-d125-074b-9fbf-b996bde6a1f8,0x1000,0x96000)/File(\EFI\ENDEAVOUROS-7951\GRUBX64.EFI)
Boot000F* endeavouros-9556	HD(1,GPT,d82f9512-d125-074b-9fbf-b996bde6a1f8,0x1000,0x96000)/File(\EFI\ENDEAVOUROS-9556\GRUBX64.EFI)
Boot0010  endeavouros-7833	HD(1,GPT,d82f9512-d125-074b-9fbf-b996bde6a1f8,0x1000,0x96000)/File(\EFI\ENDEAVOUROS-7833\GRUBX64.EFI)
Boot0011* endeavouros-1749	HD(1,GPT,d82f9512-d125-074b-9fbf-b996bde6a1f8,0x1000,0x96000)/File(\EFI\ENDEAVOUROS-1749\GRUBX64.EFI)
Boot0012* debian	HD(1,GPT,d82f9512-d125-074b-9fbf-b996bde6a1f8,0x1000,0x96000)/File(\EFI\DEBIAN\GRUBX64.EFI)
Boot0013* UEFI: PXE IP4 Intel(R) Ethernet Controller (3) I225-V	PciRoot(0x0)/Pci(0x1c,0x0)/Pci(0x0,0x0)/MAC(50a1320bd737,1)/IPv4(0.0.0.00.0.0.0,0,0)..BO
Boot0014* endeavouros-2694	HD(1,GPT,d82f9512-d125-074b-9fbf-b996bde6a1f8,0x1000,0x96000)/File(\EFI\ENDEAVOUROS-2694\GRUBX64.EFI)
Boot0015  calculate	HD(1,GPT,d82f9512-d125-074b-9fbf-b996bde6a1f8,0x1000,0x96000)/File(\EFI\CALCULATE\GRUBX64.EFI)
┌─[parrot@parrot-notebook]─[~]

Please edit your post by clicking on the pencil icon. Then format the output you have pasted by highlighting it and pressing Ctrl-E. For better readability :eyeglasses:

It looks like parrot is installed in EFI.

You can just add a manual entry in grub for parrot.

You can remove them with efibootmgr

1 Like

Which parrot version are you using? Home? I’m trying it right now because as far as i can see it uses UEFI.

Security

Strange i try the home version and it won’t allow me to change to UEFI.

Screenshot_20220608_114940

I’ll check that one just to see because on the website they show it being installed dual boot Window with efi.

Which operating system type did you choose? That may be a VMware template thing.

Okay i check that. It defaulted to Debian i think…

Edit: Yes it picked Debian 5 64 bit.

I always use “Other Linux 5.x Kernel 64-bit”

That way all the options will be available.

That’s what i usually do but this time i just skipped past. Just checked it and yes it does allow me to use UEFI. I’ll have to watch that. Normally i set it to that because there is no Arch in vmware so i use that.

This might be tangential to the discussion, but on EnOs(es) is GRUB_DISABLE_OS_PROBER set to true ?
It is on my box,
Set it to false and then update grub and it should find other OSes

# To enable usage of os-prober, set GRUB_DISABLE_OS_PROBER to 'false'.
# Note: enabling os-prober creates a potential security risk!
# More info: https://www.gnu.org/software/grub/manual/grub/grub.html
GRUB_DISABLE_OS_PROBER=true

By default it is set to false.

How do I manually add Parrot to the Endeavour OS grub bootloader?

I tried wiping my hard rive and installing Parrot first this time to see if it would get recognized and it’s still the same result

Here’s what my efi list looks like now

[kde@kde-notebook ~]$ efibootmgr -v
BootCurrent: 0001
Timeout: 1 seconds
BootOrder: 0001,0018,0000,0016,0017
Boot0000* Parrot        HD(1,GPT,fe0ca43a-06de-5648-b447-54e98a4f1b71,0x1000,0x96000)/File(\EFI\PARROT\GRUBX64.EFI)
Boot0001* endeavouros-4315      HD(1,GPT,fe0ca43a-06de-5648-b447-54e98a4f1b71,0x1000,0x96000)/File(\EFI\ENDEAVOUROS-4315\GRUBX64.EFI)
Boot0016* UEFI: PXE IP4 Intel(R) Ethernet Controller (3) I225-V PciRoot(0x0)/Pci(0x1c,0x0)/Pci(0x0,0x0)/MAC(50a1320bd737,1)/IPv4(0.0.0.00.0.0.0,0,0)..BO
Boot0017* UEFI OS       HD(1,GPT,fe0ca43a-06de-5648-b447-54e98a4f1b71,0x1000,0x96000)/File(\EFI\BOOT\BOOTX64.EFI)..BO
Boot0018* UEFI: KingstonDataTraveler 3.0PMAP, Partition 2       PciRoot(0x0)/Pci(0x14,0x0)/USB(12,0)/HD(2,MBR,0x70d23e7,0x39bc000,0x10000)..BO
[kde@kde-notebook ~]$`

You can edit /etc/grub.d/40_custom and add a custom entry.

The entries for Linux distros are formatted like this: https://wiki.archlinux.org/title/GRUB#GNU/Linux