After installing Manjaro XFCE, there are two options for boot in my UEFi. One is UEFI OS and another one is my SSD. Which one should I choose?

I am confused which one to choose. Is there any difference?? Or it doesn’t matter?

In theory, there is a difference, but in practice, there may not be. :wink:

The thing is that the entry for your SSD is generic, while the “UEFI OS” is specifically for booting Manjaro. But in practice, the generic entry for the SSD is a duplicate of the loader for Manjaro, put there by GRUB. :slight_smile:

So in the end, both entries will boot Manjaro. :slight_smile:

One issue is, I don’t see any grub menu. Manjaro just gets automatically loaded. I just have Manjaro installed on my machine. Is that a problemj?

No, it’s not a problem, but it means that the GRUB menu is hidden. You can make it visible by making sure that the /ec/default/grub file has the following four lines at the top…: :arrow_down:

GRUB_DEFAULT=saved
GRUB_TIMEOUT=5
GRUB_TIMEOUT_STYLE=menu
GRUB_DISTRIBUTOR='Manjaro'

Save the file, and then run… :arrow_down:

sudo update-grub
1 Like

I’m also affected by this issue upon the most recent update of my Manjaro KDE. I don’t see any good reason why to display 2 options for booting Manjaro, when I have only 1 installation of it? Seems completely redundant and confusing to me.

What’s next? Displaying two completely separate Start menus: one for reboot, the other one for shutdown? :face_with_raised_eyebrow:

1 Like

look inside your uefi/bios —> start-options

This is part of the UEFI specification. The generic entry for that drive is present for in the case you have more than one drive with an EFI system partition, and for in case the drive is removable.

You can remove the generic entry with efibootmgr if so desired. :man_shrugging:

1 Like

Could you be more specific what should I change here?

Tutorial for second picture:

Tutorial for first picture:
“FIXED BOOT ORDER Priorities” = o.K.

UEFI Hard Disk Drive BBS Priorities:
select the Disk with manjaro root on it, NVMe —> /dev/nvme0n1p6 highest priority.

After all frikkeling, the Windoofs bootloader will be started by GRUB.
Display should show 4 entries:

Manjaro Linux
Advanced options …
UEFI Firmware …
Windows boot manager …

2 Likes

Can you show what sudo os-prober gives you? Besides the windows line, is it also a Manjaro line?

Sure. I didn’t make any changes yet:

$ sudo os-prober
/dev/nvme0n1p2@/EFI/Microsoft/Boot/bootmgfw.efi:Windows Boot Manager:Windows:efi
/dev/nvme0n1p6:Manjaro Linux (20.1):ManjaroLinux:linux

Ok. Although counterintuitive, that’s wrong. os-prober is meant to detect other operating systems (other Linuxes inclusive), not the current OS. I don’t know if something has changed with some update but just yesterday I say the same thing in other forum. I don’t know yet why os-prober is malfunctioning and not recognizing that nvme0n1p6 is your own linux.

Update-grub detects current system by it’s own means and uses os-prober to detect other OSes. So you are getting the normal Manjaro entries that grub create by itself, plus the ones that os-prober is feeding update-grub.

In the other forum, I advised the user to disable the use of os-prober in update-grub with a setting in grub config file. But he has only Manjaro in his system. You have Windows, and you need os-prober to get the Windows entry in grub. I’m not sure right now how to to bypass just the Manjaro entry or how to fix os-prober. I will try to find that. In the meantime maybe someone here has some experience in that…

2 Likes

Also maybe worth mentioning… Today I checked with the user in question to try to get more data to debug os-prober, but os-prober was working fine this time.

That explains a sudden weird behavior. Previously, just before the last update (2-3 days ago) it worked just fine. Please let us know if you come up with a proper resolution for this. Thanks!

Ok. It seems grub can ignore certain entries from os-prober. Just add to the end of /etc/default/grub a line with:
GRUB_OS_PROBER_SKIP_LIST=UUID@/dev/nvme0n1p6

You need to replace UUID with the actual UUID of the partition. You can find out that with lsblk -f

update-grub after that and check that it mentions your Manjaro system before restarting (just in case)

$ sudo update-grub
Generating grub configuration file ...
Found theme: /usr/share/grub/themes/manjaro/theme.txt
Found linux image: /boot/vmlinuz-4.19-x86_64
Found initrd image: /boot/intel-ucode.img /boot/initramfs-4.19-x86_64.img
Found initrd fallback image: /boot/initramfs-4.19-x86_64-fallback.img
Found Windows Boot Manager on /dev/nvme0n1p2@/EFI/Microsoft/Boot/bootmgfw.efi
Found Manjaro Linux (20.1) on /dev/nvme0n1p6
Adding boot menu entry for UEFI Firmware Settings ...
Found memtest86+ image: /boot/memtest86+/memtest.bin
/usr/bin/grub-probe: warning: unknown device type nvme0n1.
done

It seems ok now, I guess… not sure why does grub-probe complains reg. nvme0n1 though. I will proceed with the reboot…

It found again the “Manjaro Linux (20.1)” entry. Can you post your lsblk -f output and the line you added? Just to check.

The nvm0n1 error line can be ignored. I have the same.

Ok. That seems correct. I’m going to ask you a favor, as I don’t have access to a system with this error. Can you execute
sudo bash -x os-prober > os-prober_debug.txt 2>&1

and post the output file (os-prober_debug.txt) somehow. It should be a several hundred lines file. I think that is going to give me enough data to know what the heck is happening with os-prober.

To that line to work, you have to temporary make a modification in /usr/share/os-prober/common.sh . You have to modify the second line and add a colon, a space and a hash mark in front of the line, like this:
: #[ "$OS_PROBER_NEWNS" ] || exec /usr/lib/os-prober/newns "$0" "$@"

After you send here the generated file, you can undo the modification.

This reads like a murder mystery, I love it!

1 Like
$ head -3 /usr/share/os-prober/common.sh   
newns () {
: #[ "$OS_PROBER_NEWNS" ] || exec /usr/lib/os-prober/newns "$0" "$@"
}