How do edit the contents of my BIOS boot list?

0

So the other day I installed Windows 7 on a GPT disk. It works fine. Today I went to boot off my Linux Live USB and I noticed Windows Boot Manager was in the list. I use a traditional BIOS and it doesn't have any features to add anything to that list. I don't want to remove Windows Boot Manager, but I thought it would be more useful to add other operacting systems to it. Any way I can add other entries to the list?

ToastHouse

Posted 2016-03-08T17:55:54.010

Reputation: 127

Your question is unclear, what are you asking to modify??? The BIOS should have a setting to select which devices you can boot from and the order they will be checked in, but it sounds like you were looking at the grub boot menu on your live usb, which has nothing to do with your BIOS, grub scans and reports available partitions it things are bootable (in most live installations). Also, the Windows Boot Manager list is not part of BIOS either, it is part of Windows and is viewed and edited with the bcdedit command. – acejavelin – 2016-03-08T19:43:56.967

I'd like to be able to add entries to the boot list and, nope, Windows Boot Manager is literally in the list where I boot from CD, USB, etc. – ToastHouse – 2016-03-09T01:22:45.487

Answers

7

You don't have a BIOS; you have an EFI (or UEFI, which is EFI 2.x), which is a replacement for a BIOS. Unfortunately, many people, and even many manufacturers, refer to their EFIs as "BIOSes," but that creates confusion because people think that an EFI is just an updated sort of BIOS or a new BIOS feature. It's not; an EFI is a replacement for the decades-old BIOS, and is radically different in design and capabilities -- although both EFIs and BIOSes do handle the task of starting the computer's boot process.

I'm quite certain you've got an EFI and not a BIOS for two reasons:

  • Windows refuses to install to a GPT disk when it's booted in BIOS mode. Thus, if you really installed to a GPT disk, your computer must have an EFI.
  • BIOSes don't have boot manager menus like the one you describe; at best, with a BIOS, you'll see a list of boot devices ("Disk X," "CD-ROM drive," or whatnot), not a description like "Windows Boot Manager."

Ordinarily, when an OS installs itself on an EFI-based computer, it copies its boot loader to the EFI System Partition (ESP) and adds an entry to the firmware's boot manager list, which is stored in NVRAM. Thus, if you have other (EFI-mode) OSes to boot, they should already be noted in the boot manager list. If you've installed OSes and they do not show up in this way, there are basically two possible explanations:

  • The OSes added their entries, but they were subsequently deleted. This might have happened because of buggy firmware, bugs in software, deliberate action on the part of a user, an accident by a user, or for other reasons. Note that unplugging a disk and then powering on the computer will cause some EFIs to delete boot manager entries for boot loaders stored on that disk. (I mention this because such disk-juggling is a somewhat popular technique among experienced multi-boot users to help control BIOS boot loader and OS installation, so you may have tried it.)
  • You may have installed the OS using the computer's Compatibility Support Module (CSM; aka "legacy boot support"), which enables an EFI to run boot loaders designed for BIOS-based computers. Such boot loaders cannot be added to the EFI boot manager menu, except as BIOS-mode boot options, much as on BIOS-based computers.

You can manage the EFI boot manager list in quite a few different ways, including:

  • EasyUEFI -- This is a third-party (but free for the basic version) Windows GUI tool. It's probably the easiest way to manage the EFI boot manager list.
  • bcdedit -- This Windows command-line tool can manage the EFI boot entries. I don't happen to have a URL to a detailed use summary, but one example of its use is in the rEFInd installation instructions. (Note: I'm rEFInd's author.)
  • efibootmgr -- This is a Linux command-line tool that's roughly as powerful as EasyUEFI, albeit harder to use. Type man efibootmgr in Linux (with the tool installed) to learn how to use it.
  • A firmware's user interface -- Many EFIs' setup utilities enable you to rearrange EFI boot entries, and sometimes add or delete them. Details vary greatly from one EFI to another, though.
  • bcfg -- This command is available in an EFI version 2 shell. As with bcdedit, I don't have a URL for a detailed reference handy, but this Arch Linux wiki page presents a basic example.

Note that most computers' built-in EFI boot managers are extraordinarily primitive. Some are so poor as to be next to useless. For this reason, many people rely on other boot managers, including GRUB 2, gummiboot/systemd-boot, and rEFInd, to handle the task of selecting the OS. These tools must normally be registered in the EFI's built-in boot manager list themselves, which makes them susceptible to being forgotten for the reasons noted earlier.

Rod Smith

Posted 2016-03-08T17:55:54.010

Reputation: 18 427

I thought I had an EFI before but I don't have the options you're talking about. I have no CSM Boot and the boot list I am talking about is actually the list where I boot from CD, USB, etc. Windows Boot Manager appears in that list. Attempting to boot from my HD DVD does nothing however – ToastHouse – 2016-03-09T01:19:47.913

Edit: HD DVD should be HDD, my phone's autocorrect did that without me noticing and I can't edit the comment anymore. – ToastHouse – 2016-03-09T01:25:59.487

1@ToastHouse The fact that Windows Boot Manager is on the list pretty much indicate that it's some sort of EFI already. It's also normal that selecting the HDD on the list does nothing because Windows won't put any boot code on the protective MBR like, for example, grub does. Windows support GPT+UEFI, MBR+BIOS, and MBR+UEFI in some way (manually done with bcdboot), but never GPT+BIOS. Here BIOS means legacy/CSM boot as well, and those "devices" on the list are very likely legacy boot options. – Tom Yan – 2016-03-09T02:52:08.947

Alright, I guess I do have EFI instead of BIOS, Rod's rEFInd bootloader works on my laptop and it turns out the command bcdedit /set {bootmgr} description "rEFInd description" changes Windows Boot Manager in my boot list. I still don't know how it appears there but now that I can change the bootloader that's all I need. Thanks! – ToastHouse – 2016-03-09T03:01:58.077

@Tom Yan Alright, so I definitely without a doubt have EFI, which I didn't know before. Lenovo refers to it as a BIOS, which made me believe that was what I had. The fact that Windows doesn't support GPT+BIOS along with the fact that I have Windows 7 on a GPT disk that boots natively proves I have EFI. Thanks for helping me figure that out! – ToastHouse – 2016-03-09T03:09:32.207

Yeah many vendors refer UEFI as "BIOS" or "UEFI BIOS"...probably because they think laymen hate new stuff – Tom Yan – 2016-03-09T03:18:32.500