After update boot menu (not Grub) is wrong

Ubuntu Version:

Desktop Environment (if applicable):

My question: How do I change the bootmenu of my PC?s

Problem Description:
I had to reinstall my Ubuntu. During the installation the bootorder made is wrong, and I would like to correct it.

My system does not boot to Grub. If I am unlucky I will be staring at a black screen. I found out that during booting when a tile (a - ) appears I can press F11 and then get a boot menu. This boot menu is wrong. It looks like:

[Begin bootmenu]
Ubuntu (Seagate backup)
Windows boot manager (Kingston)
Windows boot manager (Sata 1)
Ubuntu Kingston
Ubuntu (Sata 2)
[End bootmenu]

To get into Ubuntu I have to choose the last one, “Ubuntu (Sata 2)”. After that choice, I see the Grub menu. Before I had this problem my system would boot into Windows.

I know I have a strange configuration. Old disks reused in a new system. That explains the choices in the bootmenu. But as said, before my system would boot into Windows if I do nothing.

Relevant System Information:

Computer bought to play high performance games.

Screenshots or Error Messages:

What I’ve Tried:

Pressing F11 during booting when the terminals work. It works for me.

Your PC boot menu is controlled by your firmware (hopefully UEFI)
From a cold start, power on the PC and tap the dedicated key (e.g. F2 for Intel, F10 for HP etc) to access the firmware
Are there options such as Boot Priority or Boot Order?

I think what you are looking for may be achieved using efibootmgr (see manpage, option -o | --bootorder). I read about it a view days ago but I didn’t use it myself yet. Be careful!

1 Like

That occurred to me as well. I checked, but did not find a Boot Priority and/or Boot Order. But I will check again.

I think this would be the correct approach, handle it in Linux, as it was changed after a Linux installation.

I asked to give me the current contents of efitbootmgr:

me@elfheim:~$ efibootmgr
BootCurrent: 000A
Timeout: 1 seconds
BootOrder: 0008,0000,0006,0009,000A
Boot0000* Windows Boot Manager	HD(1,GPT,c7742823-5004-4f76-8d0f-69dafcebb3f6,0x800,0x32000)/File(\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI)57494e444f5753000100000088000000780000004200430044004f0042004a004500430054003d007b00390064006500610038003600320063002d0035006300640064002d0034006500370030002d0061006300630031002d006600330032006200330034003400640034003700390035007d00000061000100000010000000040000007fff0400
Boot0003  Windows Boot Manager	HD(1,GPT,ed9a1750-2ed7-424c-91bf-2938c5622d46,0x800,0x32000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)0000424f
Boot0006* Windows Boot Manager	HD(1,GPT,ed9a1750-2ed7-424c-91bf-2938c5622d46,0x800,0x32000)/File(\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI)0000424f
Boot0008* ubuntu	HD(2,GPT,35800545-bdbb-42d0-9b28-219b0b31d657,0x136aa800,0xb2c800)/File(\EFI\UBUNTU\SHIMX64.EFI)0000424f
Boot0009* ubuntu	HD(1,GPT,c7742823-5004-4f76-8d0f-69dafcebb3f6,0x800,0x32000)/File(\EFI\UBUNTU\SHIMX64.EFI)0000424f
Boot000A* ubuntu	HD(2,GPT,53a59ea6-0ce5-480f-ba10-7222f75abd1f,0x1bf1800,0x219800)/File(\EFI\UBUNTU\SHIMX64.EFI)0000424f

Changing this is a sure way to get an inaccessible system. So I need to rearrange the order, but use all entries. I was thinking of the following line

me@elfheim:~$ efibootmgr -o 0,3,8,9,A

0: The Windows Boot Manager
3: Windows Boot Manager, pointing to the old HD, without Windows
8: The wrong Linux installation, without Linux, ending in a minimal boot environment
9: Also a wrong Linux installation, without the installation
A: The correct one, with the Linux installation.

I think this is the correct order? I will be able to connect to my system?

Any thoughts?

I would be surprised if there were no options for Boot Priority

Here is a link to useful commands for manipulating efibootmgr

https://www.linuxbabe.com/command-line/how-to-use-linux-efibootmgr-examples