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?

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" "$@"
}

Ok, next chapter in the mystery novel :smile: . The problem seems to come just from the line of common.sh that was commented out! So if you run sudo os-prober with the modification in place, I think Manjaro line should not be in the output. Can you check?

Anyway that line in common.sh is there for a reason, that it’s still not very clear to me :sweat_smile:. I was reading the original mail thread were developers decided to add the line. That newns command just creates a new Name Space for the mounts (Source code) but I’m not sure how it affects to the detection.

So stay tunned for our next chapter, where we find a way to debug os-prober with that newns command in use! :joy:

Today is already a little late for me, so I will continue tomorrow after work

2 Likes

I deleted the previous change from /etc/defaul/grub and kept the last change in /usr/share/os-prober/common.sh:

$ sudo os-prober
/dev/nvme0n1p2@/EFI/Microsoft/Boot/bootmgfw.efi:Windows Boot Manager:Windows:efi

$ 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
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

I just rebooted my system and everything seems great, like it used to be. Now the grub menu gives me just 2 options to choose. BTW, I’ve just realized that the last Manjaro update had many various issues.

Is it safe to keep this change in common.sh, or should I undo it and just wait for the next update?

Not sure of that, but the line was there for a reason.

So I want to debug your os-prober. Can you test if sudo /usr/lib/os-prober/newns os-prober shows you the Manjaro Line? If yes then I would need the file that is generated by this:
sudo /usr/lib/os-prober/newns bash -x os-prober > os-prober_debug.txt 2>&1