Dual boot of pop and endeavouros

Need help just installed endeavouros alongside pop os and pop is not showing in the grub menu don’t know what to do

1 Like

If you run sudo grub-mkconfig -o /boot/grub/grub.cfg do you see pop being detected by os-prober in the output?

I presume you are booting the endeavour grub and not pop.

Open the file /etc/default/grub, find this line:

#GRUB_DISABLE_OS_PROBER=false

Remove the # from the beginning of the line.

Then run:

sudo grub-mkconfig -o /boot/grub/grub.cfg

Isn’t systemd-boot the default bootloader of the PoP!_OS when in UEFI mode?

Yes. More specifically, they use kernelstub to manage systemd-boot.

1 Like

So that won’t make any difference for Grub to be able to boot the PoP system?

I would think os-prober would still be able to detect it but I haven’t personally tried.

If it can’t you could always configure a manual entry for it.

Alternatively, you could convert EOS to systemd-boot in which case it would “just work”.

1 Like

I’ve got a mixed Grub/systemd-boot multisystem (on two separate drives).
As you mentioned, os-prober detects the other ones using systemd-boot (on BTRFS), but grub-mkconfig won’t create a boot entry for them.

The “Grub part” of this system is a quite recent addition so I have just used the Bios’ one-shot menu to boot into the other systemd-boot ones.

It’s good to know that it is possible to configure a boot entry for them manually.

Thanks for your reply! I’ll keep an eye on this one.

Grub’s os-prober is just an assistant utility. AFAIK it can boot systems that do not have an active grub setup (WinOS is a well known example).

Arch does not advise using os-prober for dual booting, neither is against.

Archwiki has very clear examples of how to create manual/custom entries to boot other systems, using several methods.

1 Like

Still not working for some reason

Can you share the full output from sudo grub-mkconfig it should dump the config to the screen.

Generating grub configuration file ...
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
insmod part_gpt
insmod part_msdos
if [ -s $prefix/grubenv ]; then
  load_env
fi
if [ "${next_entry}" ] ; then
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   set boot_once=true
else
   set default="0"
fi

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_gpt
insmod ext2
set root='hd0,gpt5'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt5 --hint-efi=hd0,gpt5 --hint-baremetal=ahci0,gpt5  80497c79-d164-4e89-9917-30240e31af15
else
  search --no-floppy --fs-uuid --set=root 80497c79-d164-4e89-9917-30240e31af15
fi
    font="/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=en_US
  insmod gettext
fi
terminal_input console
terminal_output gfxterm
Found background: /usr/share/endeavouros/splash.png
insmod part_gpt
insmod ext2
set root='hd0,gpt5'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt5 --hint-efi=hd0,gpt5 --hint-baremetal=ahci0,gpt5  80497c79-d164-4e89-9917-30240e31af15
else
  search --no-floppy --fs-uuid --set=root 80497c79-d164-4e89-9917-30240e31af15
fi
insmod png
background_image -m stretch /usr/share/endeavouros/splash.png
if [ x$feature_timeout_style = xy ] ; then
  set timeout_style=menu
  set timeout=5
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
  set timeout=5
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/10_linux ###
Found linux image: /boot/vmlinuz-linux
Found initrd image: /boot/intel-ucode.img /boot/initramfs-linux.img
menuentry 'EndeavourOS Linux, with Linux linux' --class endeavouros --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-80497c79-d164-4e89-9917-30240e31af15' {
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_gpt
	insmod ext2
	set root='hd0,gpt5'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt5 --hint-efi=hd0,gpt5 --hint-baremetal=ahci0,gpt5  80497c79-d164-4e89-9917-30240e31af15
	else
	  search --no-floppy --fs-uuid --set=root 80497c79-d164-4e89-9917-30240e31af15
	fi
	echo	'Loading Linux linux ...'
	linux	/boot/vmlinuz-linux root=UUID=80497c79-d164-4e89-9917-30240e31af15 rw  loglevel=3 nowatchdog nvme_load=YES
	echo	'Loading initial ramdisk ...'
	initrd	/boot/intel-ucode.img /boot/initramfs-linux.img
}
Found fallback initrd image(s) in /boot:  intel-ucode.img initramfs-linux-fallback.img
menuentry 'EndeavourOS Linux, with Linux linux (fallback initramfs)' --class endeavouros --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-fallback-80497c79-d164-4e89-9917-30240e31af15' {
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_gpt
	insmod ext2
	set root='hd0,gpt5'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt5 --hint-efi=hd0,gpt5 --hint-baremetal=ahci0,gpt5  80497c79-d164-4e89-9917-30240e31af15
	else
	  search --no-floppy --fs-uuid --set=root 80497c79-d164-4e89-9917-30240e31af15
	fi
	echo	'Loading Linux linux ...'
	linux	/boot/vmlinuz-linux root=UUID=80497c79-d164-4e89-9917-30240e31af15 rw  loglevel=3 nowatchdog nvme_load=YES
	echo	'Loading initial ramdisk ...'
	initrd	/boot/intel-ucode.img /boot/initramfs-linux-fallback.img
}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/30_os-prober ###
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/30_uefi-firmware ###
Adding boot menu entry for UEFI Firmware Settings ...
fwsetup --is-supported
if [ "$grub_platform" = "efi" -a "$?" = 0 ]; then
	menuentry 'UEFI Firmware Settings' $menuentry_id_option 'uefi-firmware' {
		fwsetup
	}
fi
### END /etc/grub.d/30_uefi-firmware ###

### BEGIN /etc/grub.d/40_custom ###
# 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.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg
fi
### END /etc/grub.d/41_custom ###
done

It doesn’t look like you made the change to /etc/default/grub as recommended above in the 3rd post.

It won’t save after edit

You need to edit that file as root with sudo.

In a terminal:

sudo nano /etc/default/grub

Navigate with arrow keys to the relevant line and make the change as suggested by @dalto.

When done, press Ctrl+O, Enter and lastly Ctrl+X.

Now run the grub-mkconfig command again

1 Like

You have to use a text editor such as nano.

sudo nano /etc/default/grub

Edit the file then save with

ctrl + o then enter to save
ctrl + x to exit nano

Then run the update grub command

sudo grub-mkconfig -o /boot/grub/grub.cfg

Edit: @pebcak You too fast! :astonished:

1 Like

It worked but it’s showing pop os a lot of times in grub loader

IMG_20221005_202140

I’ve seen this happen before on ubuntu basedOS. Not sure why it happens. I’ll let someone more knowledgeable give more help.

Do you have by any chance several kernels installed in your Pop system?

Also see if you have the following line:

#GRUB_DISABLE_SUBMENU=y

in your /etc/default/grub.

Might be that it is due to something else.