31

After installing fedora and Centos and other OS now I have them all showing in my Boot menu [F2] on start up not the menu form the OS even after deleting them and reinstaling other OS - Ubuntu -so It just shows one when the OS starts but when I go to UEFI setting I still find all the old ones they instruct you to use DEL to take them out but that does not work

Talal
  • 413
  • 1
  • 4
  • 5

1 Answers1

45

The menu to which you refer is the firmware's built-in boot manager. Its entries are stored in NVRAM, and can be edited by any number of tools in various environments:

  • Some EFIs provide a means to do this via their setup utility. Details vary from one system to another, though, and many don't permit you to add or delete boot manager entries.
  • The EFI version 2 shell provides a command called bcfg that can do the job. You'd need to do bcfg boot dump -b to see the entries, then bcfg boot rm # to delete entry number # -- # must be the number associated with whatever entry you want to remove. For example, if the entry is Boot0002 Fedora, then # is 2.
  • In Linux, efibootmgr can do the job: Type efibootmgr or efibootmgr -v to see the entries, then do efibootmgr -b # -B to delete entry #. (You must type these commands as root or using sudo.)
  • In Windows, the EasyUEFI tool should be able to handle the job, although I've only toyed with it briefly, so I can't give detailed instructions.

Be aware that in any of these cases, you may have leftover files on your EFI System Partition (ESP). You can delete them through normal file-manipulation commands, although depending on your OS, you may need to explicitly mount the ESP. If they aren't referenced, the files won't do any real harm, unless they consume so much space that they prevent you from installing another OS or updating your boot manager. The files will normally be stored in subdirectories of the EFI directory on the ESP; most OSes create subdirectories named after themselves or the companies that create them, such as EFI/ubuntu for Ubuntu or EFI/Microsoft for Windows.

xdavidliu
  • 600
  • 2
  • 7
  • 25
Rod Smith
  • 21,455
  • 3
  • 43
  • 55
  • Thanks this looks more like what I was looking for but i get " Boot0002 Fedora HD(1,800,64000,302c2451-c097-4942-8007-140e08449e9f)File(\EFI\fedora\shim.efi) " so what should I use for the # ?? I tried the name and then I tried Boot0002 and non of them work – Talal Jun 22 '15 at 18:30
  • OK got it it is just the single number of the boot like in the case above 2 :) thanks alot @RodSmith – Talal Jun 22 '15 at 20:40
  • 3
    Sometimes it is necessary to remove the folder on the EFI partition as well, otherwise it will be added back on reboot http://askubuntu.com/questions/788708 – Gerhard Burger Jun 19 '16 at 07:37
  • Note that `sgdisk -i` is useful to determine wheter a partition with a specified GUID exists or not in case you use `efibootmgr` – Ini Dec 23 '18 at 20:04
  • Isnt's there just one command? I have an old laptop thata doesnt have Windows anymore and the boot options is filled over a 100 'Windows Boot Manager' entries to the point it takes 5 minutes just to load the EFI/Legacy settings. I would like to wipe these fuckers off because it's annoying. I can't install anything because it takes forever to enumerate the boot entries – chx101 Jul 30 '19 at 04:00
  • @chx101, a factory reset of the firmware options *might* delete all of the redundant Windows entries, but I'm not sure of that. A script to wipe them all could be written in Linux, but would probably take more time to develop than it would take to repeat the `efibootmgr` command 100 times. Note also that the presence of 100 duplicate entries *might* indicate a firmware bug, so you might want to check for an update from your manufacturer. – Rod Smith Jul 31 '19 at 13:05
  • @RodSmith The system is running a recent firmware. I took a shortcut and pried the laptop open and took the cell battery out for some minutes and put it back in. The entries were gone. – chx101 Jul 31 '19 at 13:22