Preserving boot order in EFI partition

Hello Experts.

When I boot from live Ubuntu 16 USB and set a boot order

ubuntu@ubuntu:~$ sudo efibootmgr -o 0000,0001,0002,2001,2002,2003

and reboot a PC, then the first entry is lost.
How to preserve the first entry which referes to Ubuntu on HD?

Here is the "damaged" order after reboot:

ubuntu@ubuntu:~$ sudo efibootmgr
BootCurrent: 0002
Timeout: 0 seconds
BootOrder: 0001,0002,2001,2002,2003
Boot0000* ubuntu
Boot0001* Windows Boot Manager
Boot0002* Linpus lite
Boot0003* Unknown Device:
Boot0004* Unknown Device:
Boot0005* Unknown Device:
Boot0006* Unknown Device:
Boot0007* Unknown Device:
Boot2001* EFI USB Device
Boot2003* EFI Network
ubuntu@ubuntu:~$ sudo efibootmgr -v

More details are in question:

On top of this, efibootmgr does not work properly
   ubuntu@ubuntu:~$ sudo efibootmgr -t 10  
   efibootmgr: Could not set Timeout: Invalid argument

It can be a vendor (Acer)  problem or broken version of
ubuntu@ubuntu:~$ sudo efibootmgr --version
version 0.12

I recall that version 0.24 is good.

Thank you.
Who is Participating?
BitlabConnect With a Mentor Author Commented:
Solution final step was aka:

...Power on PC
......F2 to go to EFI screen
.........Enable security
.........Enable Security password
.........Go to tab Security
............Select an UEFI file as trusted
...............Single Security tab appears
...........................give it a name: ShimUbuntu and confirm
...This enables ShimUbuntu in F12 menu

Ubuntu dual boots. Time will tell how stable this architecture will work.

Credit belongs to:
From what I can tell, UEFI is limited to 5 entries in boot order. So you're losing the first one because you're trying to add 6.
BitlabAuthor Commented:
Thank you.

But making number of options less does not work:
if I set
ubuntu@ubuntu:~$ sudo efibootmgr -o 0000,0001,,2001,2002

and reboot there is still one menu-option when clicking F12 at boot, the option:
Windows Boot Manager.

Moreover, when to boot to Live Ubuntu USB, the boot options are returned to
previous 5-options case:

ubuntu@ubuntu:~$ sudo efibootmgr -o 0000,0001,0002,2001,2002,2003

like something erased a desired 0000 option.

Moreover, why setting -t brings invalid argument?
7 new features that'll make your work life better

It’s our mission to create a product that solves the huge challenges you face at work every day. In case you missed it, here are 7 delightful things we've added recently to monday to make it even more awesome.

BootOrder isn't a boot selection menu, it's a list of the order the UEFI tries automatically for boot. That's why the options are limited. The list of entries after BootOrder is the list that should be shown when selecting a boot option, which the timeout is necessary to do.

Are you sure your PC is set for UEFI boot? This is an Acer E5-575G-76YK laptop, right? It's also possible that model laptop does not support all UEFI boot features.

It sounds like you might need a different boot manager, so you can pic the OS you want at every boot from a list. You probably want to mess with either GRUB2 in Ubuntu, or BCD in Windows:
BitlabAuthor Commented:
Thank you.

Is there something less scaring than ?
They do scare by offering "Windows Drivers update". Windows does not need drivers update, it does it nearly every day or weak.
This offer sounds like malware or bloatware. Why just not to install this visual too? And where is the link to this visual tool? All the links lead to "Drivers update".

I also tried
but it apparently does not see ubuntu partition loader.

Thank you.
BitlabAuthor Commented:
PS. Correction.
Yes, I found the link to VisualBCD.msi

But, why just command line bcd cannot help? What's the benefit of using VisualBCD ?
Then command line gives the following info: it says there is a 30 seconds timeout of running
Windows Boot Manager as a shim. Why there is no such delay ? The boot sequence goes instantly.


Windows Boot Manager
identifier              {bootmgr}
device                  partition=\Device\HarddiskVolume1
path                    \EFI\ubuntu\shimx64.efi
description             Windows Boot Manager
locale                  en-US
inherit                 {globalsettings}
default                 {current}
resumeobject            {43c23f66-6bc7-11e6-b740-54ab3ac2c2b9}
displayorder            {current}
toolsdisplayorder       {memdiag}
timeout                 30

Windows Boot Loader
identifier              {current}
device                  partition=C:
path                    \Windows\system32\winload.efi
description             Windows 10
locale                  en-US
inherit                 {bootloadersettings}
recoverysequence        {43c23f6f-6bc7-11e6-b740-54ab3ac2c2b9}
recoveryenabled         Yes
isolatedcontext         Yes
allowedinmemorysettings 0x15000075
osdevice                partition=C:
systemroot              \Windows
resumeobject            {43c23f66-6bc7-11e6-b740-54ab3ac2c2b9}
nx                      OptIn
bootmenupolicy          Standard


Thank you.
marsiliesConnect With a Mentor Commented:
You can use bcdedit, but I tend to prefer to recommend a GUI, especially for novices.

The booting is instant because there's only one boot entry in BCD, the one for Windows 10. The timeout could be any amount and BCD ignores it until there's 2 or more boot entries to choose from.
BitlabAuthor Commented:
Other comments did not expose the problem.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.