129

Now Windows 8 supports the UEFI bootloader and I have read that its different from the BIOS, but it's unclear to me after many searches on the Google.

Some points in mind are below:-

  • As we all know, BIOS is an important part of accessing boot options. So UEFI will do that now? How?

  • How would I know that I'm booting with UEFI not with BIOS?

  • So what is the real difference in the "boot with BIOS" and "boot with UEFI"?

1
  • Decide which way you prefer to boot before you install the operating system. Changing this setting after installing Ubuntu can result in a complaint when booting and there is some time associated with displaying the complaint which may slow the boot process. You can reinstall Ubuntu to get rid of this problem. I don't know if a machine with Windows installed will display something similar and I don't intend to find out because fortunately my UEFI/BIOS in an HP machine warns about changing this setting.
    – H2ONaCl
    Commented Nov 11, 2020 at 4:53

3 Answers 3

147
  • As we all know that BIOS is important part for accessing boot option. So now UEFI will do that? How?

BIOS boots by reading the first sector on a hard disk and executing it; this boot sector in turn locates and runs additional code. The BIOS system is very limiting because of space constraints and because BIOS runs 16-bit code, whereas modern computers use 32-bit or 64-bit CPUs. By contrast, EFI (or UEFI, which is just EFI 2.x) boots by loading EFI program files (with .efi filename extensions) from a partition on the hard disk, known as the EFI System Partition (ESP). These EFI boot loader programs can take advantage of EFI boot services for things like reading files from the hard disk.

As a practical matter, if you're using an OS like Linux that has complex BIOS-mode boot loaders, EFI-mode booting is likely to be similar to BIOS-mode booting, since GRUB 2 (the most popular BIOS-mode boot loader for Linux) has been ported to work under EFI, and many Linux distributions install GRUB 2 by default on EFI systems. OTOH, you can replace or supplement GRUB 2 with other EFI boot loaders. Indeed, the Linux kernel itself can be an EFI boot loader; code was added to do this with the 3.3.0 kernel. Used in this way, the EFI itself loads and runs the Linux kernel, or you can use a third-party boot manager like rEFInd or gummiboot to let you select which OS or kernel to boot.

  • How would I know that I'm booting with UEFI not with BIOS?

As Root says, there are clues in the firmware's user interface; however, those are unreliable and vary from one computer to another. The only way to be sure is to check to see how the computer booted. In Linux, for instance, the presence of a directory called /sys/firmware/efi is diagnostic. If it's present, you've booted in EFI mode; if it's not present, you've probably booted in BIOS mode. (This directory can be absent on an EFI-mode boot under some circumstances, though.) dmesg output that refers to EFI is also diagnostic of an EFI-mode boot. In Windows, the partition table of the boot disk is diagnostic; if it's GPT, you booted in EFI mode, and if it's MBR, you booted in BIOS mode.

  • So what is the real different in the "boot with BIOS" and "boot with UEFI"?

EFI can be faster, but that's not certain. The biggest speed difference is in hardware initialization early in the process. On my systems, this is a fraction of the total boot time, so a reduction in the hardware initialization time, while good, doesn't make all that much difference. It's not like I'm rebooting every ten minutes, after all.

UEFI supports a feature called Secure Boot that's intended, as the name suggests, to improve security. It does this by requiring a digital "signature" of boot loaders, which in turn should require signing of kernels, and so on up the chain. This should make it harder for malware authors to insert their code into the pre-boot process, thus improving security. This sounds good, but it also complicates dual-boot configurations, since code like GRUB and the Linux kernel must be signed. The major Linux distribution vendors are working on ways to make these requirements less of a burden for average Linux users, and they've got some preliminary stuff ready. At the moment, though, disabling Secure Boot is the easiest way to deal with it. This is a practical concern mainly for brand-new computers that ship with Windows 8, since Microsoft is requiring Secure Boot be enabled to get Windows 8 certification. Some people confuse UEFI and Secure Boot (the latter is just one feature of the former), but it deserves mention as a difference between BIOS and UEFI because it's causing some problems for new Windows 8 computers. If you've got an older system or are comfortable enough with firmware setup utilities to disable Secure Boot, this need not be a real problem.

Microsoft ties the boot disk's partition table type to the firmware type (MBR to BIOS; GPT to UEFI). Because MBR tops out at 2TiB (assuming standard sector sizes), this means that UEFI is a practical necessity to boot Windows on over-2TiB disks. You can still use such big disks as data disks under Windows, though, and you can boot some non-Microsoft OSes (such as Linux and FreeBSD) on big disks using GPT under BIOS.

As a practical matter if you're concerned about or interested in UEFI, the biggest issue is simply that UEFI is new enough that support for it is a bit spotty, particularly in some older and more exotic OSes. UEFI itself is new enough that most of its implementations are buggy, and those that aren't vary enough amongst themselves that it can be hard to describe things generally. Thus, using UEFI can be a challenge. OTOH, UEFI is the future. It's got some modest advantages, some of which will become more important in time (such as the 2TiB boot disk limit of Windows). Switching to a UEFI boot will change a few details of the boot process, but your overall computing experience won't change all that much once you overcome any boot issues you may encounter.


EDIT:

Could you expand on the OpRom settings (Option Rom). They seem to allow you choose between UEFI booting or "Legacy" booting and they apply to the Video card, Network card, and various other PCI devices.

Many plug-in cards provide firmware that interfaces with the firmware on the motherboard. The two types of firmware must be able to "talk" if the card's firmware is to do any good. This is necessary to use the card before an OS boots -- for instance, to display your firmware's options or a boot manager menu on a video card, to perform a network boot via a network card, or to boot from a hard disk connected to a disk controller card.

Just as with boot loaders, the code in a plug-in device's firmware is written to interface with either BIOS or EFI (although plug-in cards can support both, if I'm not mistaken). Some EFIs provide options to enable or disable this support on a fine-grained basis, as you've observed. In some cases, an EFI can use a card's BIOS-mode support to enable it to work in EFI mode, by "translating" the calls. (This is common with video cards, for instance; you can often plug in an old video card with nothing but BIOS support in its firmware and still use it to boot in EFI mode.)

I don't know precisely what each of the settings you note does. For instance, I don't know if "BIOS only" for one of these options would make the card work only in BIOS mode, "translate" so that the EFI can use the BIOS-mode calls in EFI mode, or something else. In fact, given the lack of standards in other EFI user interface areas, I would expect the details to differ from one EFI to another, so you may need to consult your computer's documentation or experiment if you need to know the details. I've seen some computers with very similar-sounding options in two different menus, which further complicates matters.

11
  • If a harddisk has both a BIOS boot partition AND a EFI System Partition, does this mean that this harddisk can be booted in BIOS mode and EFI mode? So then the harddisk is "boot mode" agnostic? I saw on the gdisk tutorial, that it setup a BIOS Boot Partition and EFI System Partition. Also in other cases, some have said that you may need /boot on a different partition, (mainly because I'm trying to use ZFS). How would one reconcile a RAIDED /boot with BIOS boot partition and EFI system partition? Commented Jul 3, 2014 at 0:49
  • A disk can have both an ESP and a BIOS Boot Partition. The latter is used only by GRUB, so a disk can be bootable in both EFI and BIOS even without the latter, depending on what boot loader is used. A separate Linux /boot partition normally exists outside of a RAID array. No matter the boot mode, the boot loader must be able to read the kernel, and most boot loaders can't handle software RAID. (GRUB can supposedly do it, but few people even try.)
    – Rod Smith
    Commented Jul 3, 2014 at 1:35
  • I need to use a soft RAID for /boot because ZFS cannot have /boot on it. I asked on the ZFS on Linux mailing list. Commented Jul 3, 2014 at 1:41
  • 1
    BIOS has nothing even remotely equivalent to Secure Boot.
    – Rod Smith
    Commented Apr 25, 2015 at 21:20
  • 1
    UEFI support is pretty good in the most popular mainstream OSes -- especially in Windows 7 and later and most current Linux distributions. If you move outside that realm, you should research your specific OS's UEFI support. The last I checked, for instance, ReactOS, Haiku, and FreeDOS all lacked UEFI support; however, it's been a while since I checked on any of them, so it's possible that one or more of them now has UEFI support.
    – Rod Smith
    Commented Sep 5, 2016 at 12:51
23
  • As we all know that BIOS is important part for accessing boot option. So now UEFI will do that? How?

UEFI is a cross-platform firmware interface that replaces the x86-specific firmware standard named BIOS. Many UEFI implementations also include a BIOS compatibility/"legacy" mode, to enable booting from MBRs and presenting a BIOS-like interface to OSes; however, this is not required by the standard.

  • How would I know that I'm booting with UEFI not with BIOS?

If you have a UEFI-compatible motherboard that offers compatibility/legacy BIOS booting, then its firmware menu will provide choices such as setting a default boot mode or even booting single devices in either UEFI or BIOS mode: Otherwise, there might not be an easy way to tell, without e.g. probing the firmware using an OS.

  • So what is the real different in the "boot with BIOS" and "boot with UEFI"?

There are many differences:

  • UEFI defines a similar OS-firmware interface like BIOS but is not specific to any processor architecture. BIOS is specific to the Intel x86 processor architecture, as it relies on the 16-bit "real mode" interface supported by x86 processors.
  • UEFI can be configured to expedite various parts of the booting process, for example, UEFI on Gigabyte GA-EP45-DS3 initializes in 11 seconds versus BIOS in 19 seconds.
  • UEFI mode may present different firmware/hardware features to the same installed OS than BIOS mode would.

See more info about UEFI.

5
  • 1
    It's not always possible to tell what the actual boot mode is based on firmware settings alone, because most EFIs rely on disk-based factors, as well as firmware settings, to determine the boot mode. Such disk-based factors include the partition table type, "boot/active" flag settings in the MBR, the presence/absence of the EFI System Partition or files within it, and so on. The only way to tell for sure is to check for signs of an EFI-mode or a BIOS-mode boot in the OS you've booted, and those signs are OS-specific.
    – Rod Smith
    Commented Sep 7, 2013 at 17:05
  • 1
    No, UEFI is not ever "implemented on top of a traditional BIOS". UEFI is a type of firmware that replaces the older type named BIOS. It may include a compatibility/legacy mode that enables it to boot from a BIOS-style MBR and present a BIOS-equivalent interface to OSes that want one, but that doesn't mean it has BIOS underneath it whatsoever. Commented Sep 29, 2015 at 22:10
  • 1
    What does P0/P1/P2 mean in your image? Commented Jan 25, 2016 at 8:21
  • The image link is broken Commented Sep 3, 2016 at 4:40
  • 1
    @underscore_d, there are EFI implementions that run on top of a traditional BIOS. I wrote about one, the Gigabyte "hybrid EFI," here. My experience with it was quite negative. There are also Clover and DUET, which run like boot loaders on standard BIOS-based computers to enable them to run EFI-mode boot loaders and OSes. Clover and DUET aren't technically firmware, though, so I'm not sure they really count.
    – Rod Smith
    Commented Mar 14, 2017 at 12:53
11

Q: As we all know, BIOS is an important part of accessing boot options. So now UEFI will do that? How?

A: This is a confusion about the terms. E.g. “Enter the BIOS to change blabla.” The politically correct term is “firmware setup utility” for that thing you enter. If you talk about “BIOS” contrasting it with “UEFI”, it refers to something else, namely: the boot execution environment.

So if you mean that setup utility, then a) don’t call it UEFI and b) it is basically the same thing as in former times.

How the setup-utility communicates with the hardware and it’s permanent storage is private to the firmware. So nothing changed there, either.

Q: So what is the real difference between "boot with BIOS" and "boot with UEFI"?

A: The environment the boot-loaders find themselves in is different. And with UEFI, that environment is clearer specified, way more modern and feature-rich.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .