Need help just installed endeavouros alongside pop os and pop is not showing in the grub menu don’t know what to do
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?
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”.
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.
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
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!
It worked but it’s showing pop os a lot of times in grub loader
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.