Uefi mode

UEFI vs BIOS – What’s the Differences and Which One Is Better [Partition Magic]

Languages: Deutsch日本語FrançaisEspañolPortuguês

Summary :

UEFI vs BIOS

UEFI and BIOS are two different types of motherboard firmware. Some users are confused about the two. In this post, I will illustrate you the main differences between UEFI and BIOS by giving you a UEFI vs BIOS, and show you how to convert MBR disk to GPT to support UEFI boot mode.

Nowadays, many users use UEFI boot to start up Windows as it has many significant advantages, like faster booting process and support for hard drives larger than 2 TB, more security features and so on. Although UEFI is more advanced and powerful than BIOS, It is still not widespread and not all motherboards support the new firmware. In fact, many older and less expensive motherboards still use the BIOS mode.

You may ask: What is UEFI? What is BIOS? How about UEFI vs BIOS? Just keep reading this post to get the answers.

What Is UEFI

Definition

UEFI is the abbreviation of Unified Extensible Firmware Interface, which is a firmware interface for computers and it works as a "middleman" to connect a computer's firmware to its operating system. It is used to initialize the hardware components and start the operating system stored on the hard disk drive when the computer starts up.

UEFI possesses many new features and advantages that cannot be achieved through the traditional BIOS and it is aimed to completely replace the BIOS in the future.

UEFI stores all the information about initialization and startup in a .efi file, a file stored on a special partition called EFI System Partition (ESP). The ESP partition will also contain the boot loader programs for the operating system installed on the computer.

It is because of this partition, UEFI can directly boot the operating system and save the BIOS self-test process, which is an important reason for UEFI faster booting.

Note: Some computer users use UEFI boot but still refer to it as the “BIOS”, which may confuse some people. Even if your PC uses the term “BIOS”, most modern PCs you buy today use UEFI firmware instead of a BIOS. To distinguish UEFI and BIOS, some also call UEFI firmware as UEFI BIOS, and BIOS is called Legacy BIOS or traditional BIOS.

How to Access UEFI Windows 10

When you need to perform a clean install or repair Windows 10 boot issue, people always tell you that you need to go to the BIOS to change the bootup settings, giving the USB drive or CD/DVD boot sequence priority. If your computer is using UEFI firmware, how do you get into the UEFI Windows 10?

If you want to access UEFI Windows 10, you don't need to press a key while your computer starts as computers equipped with UEFI now boot very fast and you only have very limited time to do it. So you can try the following steps to access UEFI Windows 10.

Step 1. Right-click the Windows Start menu and choose Settings. Then, choose Update and Security.

choose Update and Security

Step 2. At this interface, select Recovery. At the Advanced startup section, click Restart now. Then the system will restart.

click Restart now

Step 3. Click Troubleshoot.

choose Troubleshoot

Step 4. Choose Advanced options to get into the next page.

choose Advance Options

Step 5. After that, select UEFI Firmware Settings.

choose UEFI Firmware Settings

Step 5. Click Restart to restart the system and enter UEFI interface.

click Restart to enter UEFI interface

Different PCs with UEFI will have different interfaces and features. It’s determined by your PC manufacturer, but the basics will be the same on each PC.

What Is (Legacy) BIOS

Definition

BIOS is short for Basic Input/Output System, also known as system BIOS, ROM BIOS or PC BIOS. It is firmware embedded on the chip on the computer's motherboard. BIOS firmware is pre-installed on the motherboard of a PC. It is a non-volatile firmware which means its settings won’t disappear or change even after power off.

It is not hard to understand how BIOS works. When your computer starts up, the BIOS loads and wakes up the computer's hardware components, making sure they are working properly. Then it loads the boot loader to initializes Windows or any other operating system you have installed.

What you need to know is, the BIOS must run in 16-bit processor mode, and only has 1 MB of space to execute in. In this case, it has trouble initializing multiple hardware devices at once, leading to a slower boot process when it initializes all the hardware interfaces and devices on a modern PC.

Although BIOS is a little bit outdated. There are still some users using BIOS, especially for users who have used their computer for many years. Sometimes they need to go to BIOS to change boot order if they have system boot issues. Then how to access BIOS?

How to Access BIOS

The BIOS setup utility is accessed in various ways depending on your computer or motherboard. Normally, you can access BIOS by pressing a specific key while the computer boots like Delete, Esc or F2. The key to enter BIOS can be different according to different types of your computer.

enter BIOS

In the BIOS setup screen, you can configure various settings like the hardware configuration of the computer, system time and boot sequence, etc. The setting results will be saved to the memory on your motherboard. After this, you can start your computer, and the BIOS will configure the PC with the saved settings.

After knowing the definition of UEFI and BIOS, let's start figuring out UEFI vs Legacy.

UEFI vs BIOS

Compared with BIOS, UEFI has the following advantages:

1. UEFI enables users to handle drives that are larger than 2 TB, while the old legacy BIOS couldn't handle large storage drives.

2. UEFI supports more than 4 primary partitions with a GUID Partition Table.

3. Computers who use UEFI firmware have faster booting process than the BIOS. Various optimizations and enhancement in the UEFI can help your system boot more quickly than it could before.

4. UEFI supports secure startup, which means that the validity of the operating system can be checked to ensure that no malware tampers with the startup process.

5. UEFI supports networking function in the UEFI firmware itself, which helps remote troubleshooting and UEFI configuration.

6. UEFI has a simpler graphical user interface and also has much richer setup menus than legacy BIOS.

After reading the above, you may find that UEFI has many advantages over BIOS. And it is due to these advantages, UEFI is regarded as a successor to BIOS.

However, UEFI is not supported by all computers or devices. To use UEFI firmware, the hardware on your disk must support UEFI. Besides, your system disk needs to be a GPT disk. If not, you can convert MBR disk to GPT disk with a professional disk management tool. In this way, you can boot up your computer with UEFI mode successfully.

Tip: If your computer doesn't support UEFI firmware, you need to buy new hardware that supports and includes UEFI.

How to figure out whether your computer is using UEFI or BIOS boot mode? Actually, you can check it by yourself. Just follow the step below.

Step 1: Press Windows + R to bring up Run window.

Step 2: Input msinfo32 and click OK button to open System Information.

Step 3: Click System Summary from the left list and go to the right pane to check the BIOS Mode. If it shows Legacy, it means you are using BIOS boot mode. For UEFI mode, it will display UEFI directly.

check BIOS mode

Conversion Between UEFI and BIOS Boot Modes

Nowadays, UEFI gradually replaces the traditional BIOS on most modern PCs since many major hardware companies have switched over to UEFI use. To boot from a GPT disk and enjoy the advantages of UEFI, you might want to convert the legacy BIOS to UEFI. And here are also some users who want to convert UEFI to BIOS mode.

If you are seeking for a way to perform conversion between UEFI and BIOS boot modes, you can follow the instructions below.

Move 1: Verify the Partition Style of Your Disk

Usually, MBR and BIOS (MBR + BIOS), and GPT and UEFI (GPT + UEFI) go hand in hand. If you want to convert to the BIOS mode, you have to make sure the disk is MBR, as GPT is unable to boot in BIOS mode. And to use UEFI, you had better use a GPT disk.

So, you need to check the type of your disk at first:

Step 1: Right-click the Start button and choose Disk Management from the pop-up menu.

Step 2: Right-click your system disk and choose Properties.

Step 3: Switch to the Volumes tab and check the Partition style under the Disk Information section. Here, you can see whether the disk is MBR or GPT style.

check partition style

If the disk is of the desired type, you can jump to the Move 3 to change boot mode directly. Otherwise, you need to proceed to convert the disk to MBR or GPT as your needs.

Move 2: Convert the System Disk to MBR/GPT

If you want to use UEFI boot but the disk is MBR, or you are planning to convert to BIOS but the disk is GPT, you can make use of a third-party application to covert your disk to the desired type. To convert MBR to GPT or convert GPT to MBR without data loss, MiniTool Partition Wizard should be a nice choice.

MiniTool Partition Wizard is a professional partition manager trusted by millions of people. With its Pro Ultimate Edition, you can not only reconfigure hard disk with its basic features but also perform advanced features like recover lost partitions, convert system disk from MBR to GPT, change cluster size, convert dynamic disk to basic without data loss, convert NTFS to FAT and so on.

Note: To convert the system disk, you’d better create a bootable edition with bootable media embedded in MiniTool Partition Wizard Pro Ultimate Edition. And to be on the safe side, please backup important files on the hard drive.

Step 1. Get the MiniTool Partition Wizard by clicking the following button. Then use the Bootable Media Builder to create a bootable edition.

Free Download

Step 2. Click the Bootable Media and follow the prompts to create a bootable USB drive or CD/DVD disc.

click Bootable Media

Step 3. Change the BIOS boot sequence to boot from the USB drive or CD/DVD disc to launch MiniTool Partition Wizard Bootable Edition.

Step 4. In the bootable edition, choose system partition and select the system disk and choose Convert MBR Disk to GPT Disk from the left pane.

Note: If you are converting a GPT disk, the desired feature should be Convert GPT Disk to MBR Disk.

convert MBR disk to GPT disk

Step 5. Read the warning message and click OK.

click OK

Step 6. Click Yes to continue.

click Yes

Step 7. You can see that the system disk has been converted to GPT disk, but this interface is the preview of conversion result. Click Apply on the upper left corner to allow the pending operations.

click Apply

"With the assistance of MiniTool Partition Wizard Pro Ultimate Edition, I successfully converted system disk to GPT disk to support UEFI mode. What an excellent tool! Recommend this partition magic to you guys!"Click to tweet

Move 3: Change UEFI/BIOS Boot Mode

After converting the disk to the right style, you need to enter the BIOS settings to switch to the boot mode you want. Here you can follow the steps as below:

Step 1. Press the F2 or other function keys (F1, F3, F10, or F12), the ESC, or Delete key continuously when you boot your computer. For different computer manufacturers, the specific key to enter BIOS may be different. You can check your PC manufacturer support website for more specific details.

Step 2. From the BIOS Main menu screen, select Boot.

Step 3. At the Boot interface, select UEFI/BIOS Boot Mode, and press Enter.

Step 4. Then the UEFI/BIOS Boot Mode dialog box appears. Here you can use the Up and Down arrows to select UEFI for UEFI boot mode or Legacy for BIOS boot mode, and then press Enter key.

select UEFI or BIOS boot mode

Step 5. Press F10 or a specific key depending on your BIOS to save the changes and exit the screen.

After that, your computer will boot into the specific mode you've set just now.  By the way, if you want your PC to only boot into UEFI mode, you can remove the bootmgr file from the root of the Windows PE or Windows Setup media to prevent it from starting in BIOS mode. To prevent UEFI boot, you can remove the efi folder instead.

Final Thoughts on UEFI vs Legacy BIOS

You see, to convert system disk to MBR or GPT without data loss is very simple by using MiniTool Partition Wizard Pro Ultimate Edition. If you want to use UEFI boot mode and enjoy its fast booting speed or you want to switch UEFI back to BIOS boot mode, try using MiniTool Partition Wizard to convert your disk now!

If you have any questions about BIOS vs UEFI and how to convert a disk to MBR or GPT, or if you have other better solutions, you can leave a message on the following comment zone and we will reply as soon as possible. If you need any help when using MiniTool software, you may contact us via [email protected].

UEFI vs BIOS FAQ 

What is the difference between UEFI and BIOS?

BIOS and UEFI are two firmware interfaces for computers to start the operating system. BIOS uses the Master Boot Record (MBR) to save information about the hard drive data while UEFI uses the GUID partition table (GPT). Compared with BIOS, UEFI is more powerful and has more advanced features. It is the latest method of booting a computer, which is designed to replace BIOS. In brief, UEFI is the successor to BIOS.

Should I use UEFI or BIOS?

Nowadays, UEFI gradually replaces the traditional BIOS on most modern PCs as it includes more security features than the legacy BIOS mode and also boots faster than Legacy systems. If your computer supports UEFI firmware, you should convert MBR disk to GPT disk to use UEFI boot instead of BIOS. However, if you're booting from a network that only supports BIOS, you'll need to boot to legacy BIOS mode.

What is UEFI boot mode?

UEFI boot mode refers to the boot process used by UEFI firmware. UEFI stores all the information about initialization and startup in an .efi file that is saved on a special partition called EFI System Partition (ESP). During the POST procedure, the UEFI firmware scans all of the bootable storage devices that are connected to the system for a valid GUID Partition Table (GPT).

The UEFI firmware scans the GPTs to find an EFI Service Partition to boot from. If the EFI bootable partition is not found, the firmware may revert to the old Legacy Boot method. If both UEFI boot and Legacy boot fail, you may receive the disk boot failure error message. 

What is the advantage of UEFI boot?

UEFI boot has many advantages BIOS mode. For example, UEFI Supports unlimited number of partitions, and support the disk which is larger than 2 TB. Computers that use UEFI firmware can boot faster than BIOS, as no magic code must execute as part of booting. UEFI also has more advanced security features such as secure startup, which helps to keep your computer more secure.

ABOUT THE AUTHOR

Amanda

AmandaFollow us

Position: Columnist

Amanda has been working as English editor for the MiniTool team since she was graduated from university. She enjoys sharing effective solutions and her own experience to help readers fix various issues with computers, dedicated to make their tech life easier and more enjoyable.

She has published many articles, covering fields of data recovery, partition management, disk backup, and etc. In order to provide more useful tips and information, she is still committed to expand her technical knowledge.

Sours: https://www.partitionwizard.com/partitionmagic/uefi-vs-bios.html

Unified Extensible Firmware Interface

Operating system software specification

EFI's position in the software stack

The Unified Extensible Firmware Interface (UEFI)[1] is a publicly available specification that defines a software interface between an operating system and platform firmware. UEFI replaces the legacy Basic Input/Output System (BIOS) firmware interface originally present in all IBM PC-compatiblepersonal computers,[2][3] with most UEFI firmware implementations providing support for legacy BIOS services. UEFI can support remote diagnostics and repair of computers, even with no operating system installed.[4]

Intel developed the original Extensible Firmware Interface (EFI) specifications. Some of the EFI's practices and data formats mirror those of Microsoft Windows.[5][6] In 2005, UEFI deprecated EFI 1.10 (the final release of EFI). The Unified EFI Forum is the industry body that manages the UEFI specifications throughout.

History[edit]

The original motivation for EFI came during early development of the first Intel–HP Itanium systems in the mid-1990s. BIOS limitations (such as 16-bit real mode, 1MB addressable memory space,[7]assembly language programming, and PC AT hardware) had become too restrictive for the larger server platforms Itanium was targeting.[8] The effort to address these concerns began in 1998 and was initially called Intel Boot Initiative.[9] It was later renamed to Extensible Firmware Interface (EFI).[10][11]

In July 2005, Intel ceased its development of the EFI specification at version 1.10, and contributed it to the Unified EFI Forum, which has developed the specification as the Unified Extensible Firmware Interface (UEFI). The original EFI specification remains owned by Intel, which exclusively provides licenses for EFI-based products, but the UEFI specification is owned by the UEFI Forum.[8][12]

Version 2.0 of the UEFI specification was released on 31 January 2006. It added cryptography and security. Version 2.1 of the UEFI specification was released on 7 January 2007. It added network authentication and the user interface architecture ('Human Interface Infrastructure' in UEFI).

The latest UEFI specification, version 2.9, was published in March 2021.[13]

The first open source UEFI implementation, Tiano, was released by Intel in 2004. Tiano has since then been superseded by EDK[14] and EDK2[15] and is now maintained by the TianoCore community.[16]

In December 2018, Microsoft announced Project Mu, a fork of TianoCore EDK2 used in Microsoft Surface and Hyper-V products. The project promotes the idea of Firmware as a Service.[17]

In October 2018, Arm announced Arm ServerReady, a compliance certification program for landing the generic off-the-shelf operating systems and hypervisors on Arm-based servers. The program requires the system firmware to be Server Base Boot Requirements (SBBR) compliant. SBBR requires UEFI, ACPI and SMBIOS compliance. In October 2020, Arm announced the extension of the program to the edge and IoT market. The new program name is Arm SystemReady. Arm SystemReady defined the Base Boot Requirements (BBR) specification that currently provides three recipes, two of which are related to UEFI: 1) SBBR: which requires UEFI, ACPI and SMBIOS compliance suitable for the enterprise level operating environment such as Windows, Red Hat Enterprise Linux, VMware ESXi; and 2) EBBR: which requires compliance to a set of UEFI interfaces as defined in the Embedded Base Boot Requirements (EBBR) suitable for the embedded environment such as Yocto. Many Linux and BSD distros can support both recipes.

Advantages[edit]

The interface defined by the EFI specification includes data tables that contain platform information, and boot and runtime services that are available to the OS loader and OS. UEFI firmware provides several technical advantages over a traditional BIOS system:[18]

Compatibility[edit]

Processor compatibility[edit]

As of version 2.5, processor bindings exist for Itanium, x86, x86-64, ARM (AArch32) and ARM64 (AArch64).[21] Only little-endian processors can be supported.[22] Unofficial UEFI support is under development for POWERPC64 by implementing TianoCore on top of OPAL,[23] the OpenPOWER abstraction layer, running in little-endian mode.[24] Similar projects exist for MIPS[25] and RISC-V.[26] As of UEFI 2.7, RISC-V processor bindings have been officially established for 32-, 64- and 128-bit modes.[27]

Standard PC BIOS is limited to a 16-bit processor mode and 1 MB of addressable memory space, resulting from the design based on the IBM 5150 that used a 16-bit Intel 8088 processor.[8][28] In comparison, the processor mode in a UEFI environment can be either 32-bit (x86-32, AArch32) or 64-bit (x86-64, Itanium, and AArch64).[8][29] 64-bit UEFI firmware implementations support long mode, which allows applications in the preboot environment to use 64-bit addressing to get direct access to all of the machine's memory.[30]

UEFI requires the firmware and operating system loader (or kernel) to be size-matched; that is, a 64-bit UEFI firmware implementation can load only a 64-bit operating system (OS) boot loader or kernel (unless the CSM-based Legacy boot is used) and the same applies to 32-bit. After the system transitions from "Boot Services" to "Runtime Services", the operating system kernel takes over. At this point, the kernel can change processor modes if it desires, but this bars usage of the runtime services (unless the kernel switches back again).[31]: sections 2.3.2 and 2.3.4  As of version 3.15, the Linux kernel supports 64-bit kernels to be booted on 32-bit UEFI firmware implementations running on x86-64 CPUs, with UEFI handover support from a UEFI boot loader as the requirement.[32] UEFI handover protocol deduplicates the UEFI initialization code between the kernel and UEFI boot loaders, leaving the initialization to be performed only by the Linux kernel's UEFI boot stub.[33][34]

Disk device compatibility[edit]

See also: GPT § Operating systems support, and Protective MBR

In addition to the standard PC disk partition scheme that uses a master boot record (MBR), UEFI also works with the GUID Partition Table (GPT) partitioning scheme, which is free from many of the limitations of MBR. In particular, the MBR limits on the number and size of disk partitions (up to four primary partitions per disk, and up to 2 TB(2 × 240bytes) per disk) are relaxed.[35] More specifically, GPT allows for a maximum disk and partition size of 8 ZB(8 × 270 bytes).[36][37]

Linux[edit]

See also: EFI System partition § Linux

Support for GPT in Linux is enabled by turning on the option (EFI GUID Partition Support) during kernel configuration.[38] This option allows Linux to recognize and use GPT disks after the system firmware passes control over the system to Linux.

For reverse compatibility, Linux can use GPT disks in BIOS-based systems for both data storage and booting, as both GRUB 2 and Linux are GPT-aware. Such a setup is usually referred to as BIOS-GPT.[39] As GPT incorporates the protective MBR, a BIOS-based computer can boot from a GPT disk using a GPT-aware boot loader stored in the protective MBR's bootstrap code area.[37] In the case of GRUB, such a configuration requires a BIOS boot partition for GRUB to embed its second-stage code due to absence of the post-MBR gap in GPT partitioned disks (which is taken over by the GPT's Primary Header and Primary Partition Table). Commonly 1 MB in size, this partition's Globally Unique Identifier (GUID) in GPT scheme is 21686148-6449-6E6F-744E-656564454649 and is used by GRUB only in BIOS-GPT setups. From GRUB's perspective, no such partition type exists in case of MBR partitioning. This partition is not required if the system is UEFI-based because no embedding of the second-stage code is needed in that case.[19][37][39]

UEFI systems can access GPT disks and boot directly from them, which allows Linux to use UEFI boot methods. Booting Linux from GPT disks on UEFI systems involves creation of an EFI system partition (ESP), which contains UEFI applications such as bootloaders, operating system kernels, and utility software.[40][41][42] Such a setup is usually referred to as UEFI-GPT, while ESP is recommended to be at least 512 MB in size and formatted with a FAT32 filesystem for maximum compatibility.[37][39][43]

For backward compatibility, most UEFI implementations also support booting from MBR-partitioned disks, through the Compatibility Support Module (CSM) that provides legacy BIOS compatibility.[44] In that case, booting Linux on UEFI systems is the same as on legacy BIOS-based systems.

Microsoft Windows[edit]

The 64-bit versions of Windows Vista SP1 and later and 32-bit versions of Windows 8, 8.1, and 10 can boot from a GPT disk which is larger than 2 TB.

Features[edit]

Services[edit]

Example of UEFI variables

EFI defines two types of services: boot services and runtime services. Boot services are available only while the firmware owns the platform (i.e., before the call), and they include text and graphical consoles on various devices, and bus, block and file services. Runtime services are still accessible while the operating system is running; they include services such as date, time and NVRAM access.

Graphics Output Protocol (GOP) services
The Graphics Output Protocol (GOP) provides runtime services; see also Graphics features section below. The operating system is permitted to directly write to the framebuffer provided by GOP during runtime mode.[45]
UEFI Memory map services
SMM services
ACPI services
SMBIOS services
Variable services
UEFI variables provide a way to store data, in particular non-volatile data. Some UEFI variables are shared between platform firmware and operating systems. Variable namespaces are identified by GUIDs, and variables are key/value pairs. For example, UEFI variables can be used to keep crash messages in NVRAM after a crash for the operating system to retrieve after a reboot.[46]
Time services
UEFI provides time services. Time services include support for time zone and daylight saving fields, which allow the hardware real-time clock to be set to local time or UTC.[47] On machines using a PC-AT real-time clock, by default the hardware clock still has to be set to local time for compatibility with BIOS-based Windows,[6] unless using recent versions and an entry in the Windows registry is set to indicate the use of UTC.

Applications[edit]

Interaction between the EFI boot manager and EFI drivers

Beyond loading an OS, UEFI can run UEFI applications, which reside as files on the EFI System Partition. They can be executed from the UEFI Shell, by the firmware's boot manager, or by other UEFI applications. UEFI applications can be developed and installed independently of the original equipment manufacturers (OEMs).

A type of UEFI application is an OS boot loader such as GRUB, rEFInd, Gummiboot, and Windows Boot Manager; which loads some OS files into memory and executes them. Also, an OS boot loader can provide a user interface to allow the selection of another UEFI application to run. Utilities like the UEFI Shell are also UEFI applications.

Protocols[edit]

EFI defines protocols as a set of software interfaces used for communication between two binary modules. All EFI drivers must provide services to others via protocols. The EFI Protocols are similar to the BIOS interrupt calls.

Device drivers[edit]

In addition to standard instruction set architecture-specific device drivers, EFI provides for a ISA-independent device driver stored in non-volatile memory as EFI byte code or EBC. System firmware has an interpreter for EBC images. In that sense, EBC is analogous to Open Firmware, the ISA-independent firmware used in PowerPC-based Apple Macintosh and Sun MicrosystemsSPARC computers, among others.

Some architecture-specific (non-EFI Byte Code) EFI drivers for some device types can have interfaces for use by the OS. This allows the OS to rely on EFI for drivers to perform basic graphics and network functions before, and if, operating-system-specific drivers are loaded.

In other cases, the EFI driver can be filesystem drivers that allow for booting from other types of disk volumes. Examples include efifs for 37 file systems (based on GRUB2 code),[48] used by Rufus for chain-loading NTFS ESPs.[49]

Graphics features[edit]

The EFI 1.0 specification defined a UGA (Universal Graphic Adapter) protocol as a way to support graphics features. UEFI did not include UGA and replaced it with GOP (Graphics Output Protocol).[50]

UEFI 2.1 defined a "Human Interface Infrastructure" (HII) to manage user input, localized strings, fonts, and forms (in the HTML sense). These enable original equipment manufacturers (OEMs) or independent BIOS vendors (IBVs) to design graphical interfaces for pre-boot configuration.

Most early UEFI firmware implementations were console-based. Today many UEFI firmware implementations are GUI-based.

EFI system partition[edit]

Main article: EFI system partition

An EFI system partition, often abbreviated to ESP, is a data storage device partition that is used in computers adhering to the UEFI specification. Accessed by the UEFI firmware when a computer is powered up, it stores UEFI applications and the files these applications need to run, including operating system boot loaders. Supported partition table schemes include MBR and GPT, as well as El Torito volumes on optical discs.[31]: section 2.6.2  For use on ESPs, UEFI defines a specific version of the FAT file system, which is maintained as part of the UEFI specification and independently from the original FAT specification, encompassing the FAT32, FAT16 and FAT12 file systems.[31]: section 12.3 [51][52][53] The ESP also provides space for a boot sector as part of the backward BIOS compatibility.[44]

Booting[edit]

UEFI booting[edit]

Unlike the legacy PC BIOS, UEFI does not rely on boot sectors, defining instead a boot manager as part of the UEFI specification. When a computer is powered on, the boot manager checks the boot configuration and based on its settings, then executes the specified OS boot loader or operating system kernel (usually boot loader[54]). The boot configuration is defined by variables stored in NVRAM, including variables that indicate the file system paths to OS loaders or OS kernels.

OS boot loaders can be automatically detected by UEFI, which enables easy booting from removable devices such as USB flash drives. This automated detection relies on standardized file paths to the OS boot loader, with the path varying depending on the computer architecture. The format of the file path is defined as <EFI_SYSTEM_PARTITION>\EFI\BOOT\BOOT<MACHINE_TYPE_SHORT_NAME>.EFI; for example, the file path to the OS loader on an x86-64 system is \efi\boot\bootx64.efi,[31] and \efi\boot\bootaa64.efi on ARM64 architecture.

Booting UEFI systems from GPT-partitioned disks is commonly called UEFI-GPT booting. Despite the fact that the UEFI specification requires GPT partition tables to be fully supported,[31] some UEFI firmware implementations immediately switch to the BIOS-based CSM booting depending on the type of boot disk's partition table, effectively preventing UEFI booting to be performed from EFI System Partition on MBR-partitioned disks.[44] Such a boot scheme is commonly called UEFI-MBR.

It is also common for a boot manager to have a textual user interface so the user can select the desired OS (or setup utility) from a list of available boot options.

CSM booting[edit]

To ensure backward compatibility, most UEFI firmware implementations on PC-class machines also support booting in legacy BIOS mode from MBR-partitioned disks, through the Compatibility Support Module (CSM) that provides legacy BIOS compatibility. In this scenario, booting is performed in the same way as on legacy BIOS-based systems, by ignoring the partition table and relying on the content of a boot sector.[44]

BIOS-style booting from MBR-partitioned disks is commonly called BIOS-MBR, regardless of it being performed on UEFI or legacy BIOS-based systems. Furthermore, booting legacy BIOS-based systems from GPT disks is also possible, and such a boot scheme is commonly called BIOS-GPT.

The Compatibility Support Module allows legacy operating systems and some legacy option ROMs that do not support UEFI to still be used.[55] It also provides required legacy System Management Mode (SMM) functionality, called CompatibilitySmm, as an addition to features provided by the UEFI SMM. An example of such a legacy SMM functionality is providing USB legacy support for keyboard and mouse, by emulating their classic PS/2 counterparts.[55]

In November 2017, Intel announced that it planned to phase out support for CSM by 2020.[56]

Network booting[edit]

The UEFI specification includes support for booting over network via the Preboot eXecution Environment (PXE). PXE booting network protocols include Internet Protocol (IPv4 and IPv6), User Datagram Protocol (UDP), Dynamic Host Configuration Protocol (DHCP), Trivial File Transfer Protocol (TFTP) and iSCSI.[31][57]

OS images can be remotely stored on storage area networks (SANs), with Internet Small Computer System Interface (iSCSI) and Fibre Channel over Ethernet (FCoE) as supported protocols for accessing the SANs.[31][58][59]

Version 2.5 of the UEFI specification adds support for accessing boot images over the HTTP protocol.[60]

Secure Boot[edit]

See also: Secure Boot criticism

Example of an active Secure Boot as detected by rEFIndboot manager

The UEFI 2.3.1 Errata C specification (or higher) defines a protocol known as Secure Boot, which can secure the boot process by preventing the loading of UEFI drivers or OS boot loaders that are not signed with an acceptable digital signature. The mechanical details of how precisely these drivers are to be signed are not specified.[61] When Secure Boot is enabled, it is initially placed in "setup" mode, which allows a public key known as the "platform key" (PK) to be written to the firmware. Once the key is written, Secure Boot enters "User" mode, where only UEFI drivers and OS boot loaders signed with the platform key can be loaded by the firmware. Additional "key exchange keys" (KEK) can be added to a database stored in memory to allow other certificates to be used, but they must still have a connection to the private portion of the platform key.[62] Secure Boot can also be placed in "Custom" mode, where additional public keys can be added to the system that do not match the private key.[63]

Secure Boot is supported by Windows 8 and 8.1, Windows Server 2012 and 2012 R2, Windows 10, Windows Server 2016, 2019, and 2022, and Windows 11, VMware vSphere 6.5[64] and a number of Linux distributions including Fedora (since version 18), openSUSE (since version 12.3), RHEL (since version 7), CentOS (since version 7[65]), Debian (since version 10),[66] and Ubuntu (since version 12.04.2).[67] As of January 2017[update], FreeBSD support is in a planning stage.[68]

UEFI shell[edit]

Example of an UEFI shell 2.2 session

UEFI provides a shell environment, which can be used to execute other UEFI applications, including UEFI boot loaders.[42] Apart from that, commands available in the UEFI shell can be used for obtaining various other information about the system or the firmware, including getting the memory map (), modifying boot manager variables (), running partitioning programs (), loading UEFI drivers, and editing text files ().[69][70][71]

Source code for a UEFI shell can be downloaded from the Intel's TianoCore UDK/EDK2 project.[72] A pre-built ShellBinPkg is also available.[73] Shell v2 works best in UEFI 2.3+ systems and is recommended over Shell v1 in those systems. Shell v1 should work in all UEFI systems.[69][74][75]

Methods used for launching UEFI shell depend on the manufacturer and model of the system motherboard. Some of them already provide a direct option in firmware setup for launching, e.g. compiled x86-64 version of the shell needs to be made available as . Some other systems have an already embedded UEFI shell which can be launched by appropriate key press combinations.[76][77] For other systems, the solution is either creating an appropriate USB flash drive or adding manually () a boot option associated with the compiled version of shell.[71][76][78][79]

Commands[edit]

The following is a list of commands supported by the EFI shell.[70]

Extensions[edit]

Extensions to UEFI can be loaded from virtually any non-volatile storage device attached to the computer. For example, an original equipment manufacturer (OEM) can distribute systems with an EFI system partition on the hard drive, which would add additional functions to the standard UEFI firmware stored on the motherboard's ROM.

UEFI Capsule[edit]

UEFI Capsule defines a Firmware-to-OS, modern and secure firmware update interface.[80]Windows 8, Windows 8.1, Windows 10[81] and Fwupd for Linux support the UEFI Capsule.

Hardware[edit]

Like BIOS, UEFI initializes and tests system hardware components (e.g. Memory training, PCIe link training, USB link training), and then loads the boot loader from mass storage device or network booting. In x86 systems, the UEFI firmware is usually stored in the NOR flash chip of the motherboard.[82]

UEFI classes[edit]

UEFI machines can have one of the following "classes", which were used to help ease the transition to UEFI. Intel has ended Legacy BIOS in 2020.[83]

  • Class 0: Legacy BIOS
  • Class 1: UEFI in CSM-only mode (i.e. no UEFI booting)
  • Class 2: UEFI with CSM
  • Class 3: UEFI without CSM
  • Class 3+: UEFI with Secure Boot Enabled

Boot stages[edit]

SEC - Security Phase[edit]

This is the first stage of the UEFI boot but may have platform specific binary code that precedes it. (e.g., Intel ME, AMD PSP, CPU microcode). It consists of minimal code written in assembly language for the specific architecture. It initializes a temporary memory (often CPU cache as RAM) and serves as the system's software root of trust with the option of verifying PEI before hand-off.

PEI - Pre-EFI Initialization[edit]

The second stage of UEFI boot consists of a dependency-aware dispatcher that loads and runs PEI modules (PEIMs) to handle early hardware initialization tasks such as main memory initialization and firmware recovery operations. Additionally, it is responsible for discovery of the current boot mode and handling many ACPI S0ix/ACPI S3 operations. In the case of ACPI S0ix/ACPI S3 resume, it is responsible for restoring many hardware registers to a pre-sleep state. PEI also uses CPU cache as RAM.

DXE - Driver Execution Environment[edit]

This stage consist of C modules and a dependency-aware dispatcher. With main memory now available, CPU, chipset, mainboard and peripherals are initialized in DXE and BDS.

BDS - Boot Device Select[edit]

BDS is a part of the DXE.[84][85] In this stage, I/O devices and boot devices are initialized, UEFI drivers or Option ROMs of PCI devices are executed according to system configuration, and boot options are processed.

TSL - Transient System Load[edit]

This is the stage between boot device selection and hand-off to the OS. At this point one may enter UEFI shell, or execute an UEFI application such as the OS boot loader.

RT - Runtime[edit]

The UEFI hands off to the operating system (OS) after ExitBootServices() is executed. A UEFI compatible OS is now responsible for exiting boot services triggering the firmware to unload all no longer needed code and data, leaving only runtime services code/data, e.g. SMM and ACPI.[86] A typical modern OS will prefer to use its own programs (such as kernel drivers) to control hardware devices.

When a legacy OS is used, CSM will handle this call ensuring the system is compatible with legacy BIOS expectations.

Implementation and adoption[edit]

Intel EFI[edit]

Main article: TianoCore EDK II

InsydeH2O, an UEFI implementation

Intel's implementation of EFI is the Intel Platform Innovation Framework, codenamed Tiano. Tiano runs on Intel's XScale, Itanium, x86-32 and x86-64 processors, and is proprietary software, although a portion of the code has been released under the BSD license or Eclipse Public License (EPL) as TianoCore. TianoCore can be used as a payload for coreboot.[87]

Phoenix Technologies' implementation of UEFI is branded as SecureCore Technology (SCT).[88]American Megatrends offers its own UEFI firmware implementation known as Aptio,[89] while Insyde Software offers InsydeH2O.[90]

In December 2018, Microsoft released an open source version of its TianoCore EDK2-based UEFI implementation from the Surface line, Project Mu.[91]

Das U-Boot[edit]

An implementation of the UEFI API was introduced into the Universal Boot Loader (Das U-Boot) in 2017.[92] On the ARMv8 architecture Linux distributions use the U-Boot UEFI implementation in conjunction with GNU GRUB for booting (e.g. SUSE Linux[93]), the same holds true for OpenBSD.[94] For booting from iSCSI iPXE can be used as a UEFI application loaded by U-Boot.[95]

Platforms using EFI/UEFI[edit]

Intel's first Itanium workstations and servers, released in 2000, implemented EFI 1.02.

Hewlett-Packard's first Itanium 2 systems, released in 2002, implemented EFI 1.10; they were able to boot Windows, Linux, FreeBSD and HP-UX; OpenVMS added UEFI capability in June 2003.

In January 2006, Apple Inc. shipped its first Intel-based Macintosh computers. These systems used EFI instead of Open Firmware, which had been used on its previous PowerPC-based systems.[96] On 5 April 2006, Apple first released Boot Camp, which produces a Windows drivers disk and a non-destructive partitioning tool to allow the installation of Windows XP or Vista without requiring a reinstallation of Mac OS X. A firmware update was also released that added BIOS compatibility to its EFI implementation. Subsequent Macintosh models shipped with the newer firmware.[97]

During 2005, more than one million Intel systems shipped with Intel's implementation of UEFI.[98][failed verification] New mobile, desktop and server products, using Intel's implementation of UEFI, started shipping in 2006. For instance, boards that use the Intel 945 chipset series use Intel's UEFI firmware implementation.

Since 2005, EFI has also been implemented on non-PC architectures, such as embedded systems based on XScale cores.[98]

The EDK (EFI Developer Kit) includes an NT32 target, which allows EFI firmware and EFI applications to run within a Windows application. But no direct hardware access is allowed by EDK NT32. This means only a subset of EFI application and drivers can be executed at the EDK NT32 target.

In 2008, more x86-64 systems adopted UEFI. While many of these systems still allow booting only the BIOS-based OSes via the Compatibility Support Module (CSM) (thus not appearing to the user to be UEFI-based), other systems started to allow booting UEFI-based OSes. For example, IBM x3450 server, MSI motherboards with ClickBIOS, HP EliteBook Notebook PCs.

In 2009, IBM shipped System x machines (x3550 M2, x3650 M2, iDataPlex dx360 M2) and BladeCenter HS22 with UEFI capability. Dell shipped PowerEdge T610, R610, R710, M610 and M710 servers with UEFI capability. More commercially available systems are mentioned in a UEFI whitepaper.[99]

In 2011, major vendors (such as ASRock, Asus, Gigabyte, and MSI) launched several consumer-oriented motherboards using the Intel 6-seriesLGA 1155 chipset and AMD 9 Series AM3+ chipsets with UEFI.[100]

With the release of Windows 8 in October 2012, Microsoft's certification requirements now require that computers include firmware that implements the UEFI specification. Furthermore, if the computer supports the "Connected Standby" feature of Windows 8 (which allows devices to have power management comparable to smartphones, with an almost instantaneous return from standby mode), then the firmware is not permitted to contain a Compatibility Support Module (CSM). As such, systems that support Connected Standby are incapable of booting Legacy BIOS operating systems.[101][102]

In October 2017, Intel announced that it would remove legacy PC BIOS support from all its products by 2020, in favor of UEFI Class 3.[103]

Operating systems[edit]

An operating system that can be booted from a (U)EFI is called a (U)EFI-aware operating system, defined by (U)EFI specification. Here the term booted from a (U)EFI means directly booting the system using a (U)EFI operating system loader stored on any storage device. The default location for the operating system loader is , where short name of the machine type can be , , , or .[31] Some operating systems vendors may have their own boot loaders. They may also change the default boot location.

  • The Linux kernel has been able to use EFI at boot time since early 2000s,[104] using the elilo EFI boot loader or, more recently, EFI versions of GRUB.[105] Grub+Linux also supports booting from a GUID partition table without UEFI.[19] The distribution Ubuntu added support for UEFI Secure Boot as of version 12.10.[106] Furthermore, the Linux kernel can be compiled with the option to run as an EFI bootloader on its own through the EFI bootstub feature.
  • HP-UX has used (U)EFI as its boot mechanism on IA-64 systems since 2002.
  • OpenVMS has used EFI on IA-64 since its initial evaluation release in December 2003, and for production releases since January 2005.[107] The x86-64 port of OpenVMS also uses UEFI to boot the operating system.[108]
  • Apple uses EFI for its line of Intel-based Macs. Mac OS X v10.4 Tiger and Mac OS X v10.5 Leopard implement EFI v1.10 in 32-bit mode even on newer 64-bit CPUs, but full support arrived with OS X v10.8 Mountain Lion.[109]
  • The Itanium versions of Windows 2000 (Advanced Server Limited Edition and Datacenter Server Limited Edition) implemented EFI 1.10 in 2002. MS Windows Server 2003 for IA-64, MS Windows XP 64-bit Edition and Windows 2000 Advanced Server Limited Edition, all of which are for the Intel Itanium family of processors, implement EFI, a requirement of the platform through the DIG64 specification.[110]
  • Microsoft introduced UEFI for x64 Windows operating systems with Windows Vista SP1[111] and Windows Server 2008 however only UGA (Universal Graphic Adapter) 1.1 or Legacy BIOS INT 10h is supported; Graphics Output Protocol (GOP) is not supported. Therefore, PCs running 64-bit versions of Windows Vista SP1, Windows Vista SP2, Windows 7, Windows Server 2008 and Windows Server 2008 R2 are compatible with UEFI Class 2.[112][113] 32-bit UEFI was originally not supported since vendors did not have any interest in producing native 32-bit UEFI firmware because of the mainstream status of 64-bit computing.[114]Windows 8 finally introduced further optimizations for UEFI systems, including Graphics Output Protocol (GOP) support,[115] a faster startup, 32-bit UEFI support, and Secure Boot support.[116][117] Microsoft began requiring UEFI to run Windows with Windows 11.[118]
  • On 5 March 2013, the FreeBSD Foundation awarded a grant to a developer seeking to add UEFI support to the FreeBSD kernel and bootloader.[119] The changes were initially stored in a discrete branch of the FreeBSD source code, but were merged into the mainline source on 4 April 2014 (revision 264095); the changes include support in the installer as well.[120] UEFI boot support for amd64 first appeared in FreeBSD 10.1 and for arm64 in FreeBSD 11.0.[121]
  • Oracle Solaris 11.1 and later support UEFI boot for x86 systems with UEFI firmware version 2.1 or later. GRUB 2 is used as the boot loader on x86.[122]
  • OpenBSD 5.9[123] introduced UEFI boot support for 64-bit x86 systems using its own custom loader, OpenBSD 6.0 extended that support to include ARMv7.[124]

Use of UEFI with virtualization[edit]

Applications development[edit]

EDK2 Application Development Kit (EADK) makes it possible to use standard C library functions in UEFI applications. EADK can be freely downloaded from the Intel's TianoCore UDK / EDK2 SourceForge project. As an example, a port of the Python interpreter is made available as a UEFI application by using the EADK.[137] The development has moved to GitHub since UDK2015.[138]

A minimalistic "hello, world" C program written using EADK looks similar to its usual C counterpart:

#include<Uefi.h>#include<Library/UefiLib.h>#include<Library/ShellCEntryLib.h>EFI_STATUSEFIAPIShellAppMain(INUINTNArgc,INCHAR16**Argv){Print(L"hello, world\n");returnEFI_SUCCESS;}

Criticism[edit]

Numerous digital rights activists have protested against UEFI. Ronald G. Minnich, a co-author of coreboot, and Cory Doctorow, a digital rights activist, have criticized UEFI as an attempt to remove the ability of the user to truly control the computer.[139][140] It does not solve the BIOS's long-standing problems of requiring two different drivers—one for the firmware and one for the operating system—for most hardware.[141]

Open-source project TianoCore also provides UEFI interfaces.[142] TianoCore lacks the specialized drivers that initialize chipset functions, which are instead provided by coreboot, of which TianoCore is one of many payload options. The development of coreboot requires cooperation from chipset manufacturers to provide the specifications needed to develop initialization drivers.

Secure Boot[edit]

See also: Windows 8 § Reception

Examples of custom Secure Boot public keys
MokManager, a part of Shim bootloader

In 2011, Microsoft announced that computers certified to run its Windows 8 operating system had to ship with Microsoft's public key enrolled and Secure Boot enabled. Following the announcement, the company was accused by critics and free software/open source advocates (including the Free Software Foundation) of trying to use the Secure Boot functionality of UEFI to hinder or outright prevent the installation of alternative operating systems such as Linux. Microsoft denied that the Secure Boot requirement was intended to serve as a form of lock-in, and clarified its requirements by stating that x86-based systems certified for Windows 8 must allow Secure Boot to enter custom mode or be disabled, but not on systems using the ARM architecture.[63][143]Windows 10 allows OEMs to decide whether or not Secure Boot can be managed by users of their x86 systems.[144]

Other developers raised concerns about the legal and practical issues of implementing support for Secure Boot on Linux systems in general. Former Red Hat developer Matthew Garrett noted that conditions in the GNU General Public License version 3 may prevent the use of the GNU GRand Unified Bootloader without a distribution's developer disclosing the private key (however, the Free Software Foundation has since clarified its position, assuring that the responsibility to make keys available was held by the hardware manufacturer),[145][106] and that it would also be difficult for advanced users to build custom kernels that could function with Secure Boot enabled without self-signing them.[143] Other developers suggested that signed builds of Linux with another key could be provided, but noted that it would be difficult to persuade OEMs to ship their computers with the required key alongside the Microsoft key.[3]

Several major Linux distributions have developed different implementations for Secure Boot. Garrett himself developed a minimal bootloader known as a shim, which is a precompiled, signed bootloader that allows the user to individually trust keys provided by Linux distributions.[146]Ubuntu 12.10 uses an older version of shim[which?] pre-configured for use with Canonical's own key that verifies only the bootloader and allows unsigned kernels to be loaded; developers believed that the practice of signing only the bootloader is more feasible, since a trusted kernel is effective at securing only the user space, and not the pre-boot state for which Secure Boot is designed to add protection. That also allows users to build their own kernels and use custom kernel modules as well, without the need to reconfigure the system.[106][147][148] Canonical also maintains its own private key to sign installations of Ubuntu pre-loaded on certified OEM computers that run the operating system, and also plans to enforce a Secure Boot requirement as well—requiring both a Canonical key and a Microsoft key (for compatibility reasons) to be included in their firmware. Fedora also uses shim,[which?] but requires that both the kernel and its modules be signed as well.[147]

It has been disputed whether the operating system kernel and its modules must be signed as well; while the UEFI specifications do not require it, Microsoft has asserted that their contractual requirements do, and that it reserves the right to revoke any certificates used to sign code that can be used to compromise the security of the system.[148] In Windows, only WHQL kernel driver is allowed if Secure Boot enabled. In February 2013, another Red Hat developer attempted to submit a patch to the Linux kernel that would allow it to parse Microsoft's authenticode signing using a master X.509 key embedded in PE files signed by Microsoft. However, the proposal was criticized by Linux creator Linus Torvalds, who attacked Red Hat for supporting Microsoft's control over the Secure Boot infrastructure.[149]

On 26 March 2013, the Spanish free software development group Hispalinux filed a formal complaint with the European Commission, contending that Microsoft's Secure Boot requirements on OEM systems were "obstructive" and anti-competitive.[150]

At the Black Hat conference in August 2013, a group of security researchers presented a series of exploits in specific vendor implementations of UEFI that could be used to exploit Secure Boot.[151]

In August 2016 it was reported that two security researchers had found the "golden key" security key Microsoft uses in signing operating systems.[152] Technically, no key was exposed, however, an exploitable binary signed by the key was. This allows any software to run as though it was genuinely signed by Microsoft and exposes the possibility of rootkit and bootkit attacks. This also makes patching the fault impossible, since any patch can be replaced (downgraded) by the (signed) exploitable binary. Microsoft responded in a statement that the vulnerability only exists in ARM architecture and Windows RT devices, and has released two patches; however, the patches do not (and cannot) remove the vulnerability, which would require key replacements in end user firmware to fix.[citation needed]

Many Linux distributions support UEFI Secure Boot now, such as RHEL (RHEL 7 and later), CentOS (CentOS 7 and later[153]), Ubuntu, Fedora, Debian (Debian 10 and later[154]), OpenSUSE, SUSE Linux.[155]

Firmware problems[edit]

The increased prominence of UEFI firmware in devices has also led to a number of technical problems blamed on their respective implementations.[156]

Following the release of Windows 8 in late 2012, it was discovered that certain Lenovo computer models with Secure Boot had firmware that was hardcoded to allow only executables named "Windows Boot Manager" or "Red Hat Enterprise Linux" to load, regardless of any other setting.[157] Other problems were encountered by several Toshiba laptop models with Secure Boot that were missing certain certificates required for its proper operation.[156]

In January 2013, a bug surrounding the UEFI implementation on some Samsung laptops was publicized, which caused them to be bricked after installing a Linux distribution in UEFI mode. While potential conflicts with a kernel module designed to access system features on Samsung laptops were initially blamed (also prompting kernel maintainers to disable the module on UEFI systems as a safety measure), Matthew Garrett discovered that the bug was actually triggered by storing too many UEFI variables to memory, and that the bug could also be triggered under Windows under certain conditions. In conclusion, he determined that the offending kernel module had caused kernel message dumps to be written to the firmware, thus triggering the bug.[46][158][159]

See also[edit]

Notes[edit]

References[edit]

  1. ^Pronounced as an acronym or as .
  2. ^Kinney, Michael (1 September 2000). "Solving BIOS Boot Issues with EFI"(PDF). pp. 47–50. Retrieved 14 September 2010.
  3. ^ ab"MS denies secure boot will exclude Linux". The Register. 23 September 2011. Retrieved 24 September 2011.
  4. ^"The 30-year-long Reign of BIOS is Over: Why UEFI W... - Input Output". HP.com. Archived from the original on 26 June 2013. Retrieved 6 March 2012.
  5. ^IBM PC Real Time Clock should run in UT. Cl.cam.ac.uk. Retrieved on 30 October 2013.
  6. ^ abGarrett, Matthew (19 January 2012). "EFI and Linux: The Future Is Here, and It's Awful". linux.conf.au 2012. Retrieved 2 April 2012.
  7. ^"Memory Map (x86) - OSDev Wiki". wiki.osdev.org. Retrieved 11 December 2020.
  8. ^ abcd"Emulex UEFI Implementation Delivers Industry-leading Features for IBM Systems"(PDF). Emulex. Retrieved 14 September 2010.
  9. ^Extensible Firmware Interface (EFI) and Unified EFI (UEFI), Intel, archived from the original on 5 January 2010
  10. ^Wei, Dong (2006), "foreword", Beyond BIOS, Intel Press, ISBN 
  11. ^"1.10 Specification overview", Extensible Firmware Interface, Intel
  12. ^About, Unified EFI Forum,
  13. ^"Unified Extensible Firmware Interface (UEFI) Specification Version 2.9"(PDF). www.uefi.org. March 2021. Retrieved 23 May 2021.
  14. ^"GitHub - tianocore/Edk: Git mirror of EDK". 19 March 2019.
  15. ^"GitHub - tianocore/Tianocore.github.io: Tianocore website". 8 August 2019.
  16. ^"What is TianoCore?".
  17. ^"Microsoft announces Project Mu, an open-source release of the UEFI core". 20 December 2018.
  18. ^"UEFI and Windows". Microsoft. 15 September 2009. Retrieved 14 September 2010.
  19. ^ abc"Installation". 3.4 BIOS installation. GNU GRUB. Retrieved 25 September 2013.
  20. ^"Non-boot disks can use a GPT partition table even with no UEFI bios".
  21. ^UEFI Specification 2.4, section 2.3
  22. ^UEFI specification 2.3.1, section 1.8.1.
  23. ^"GitHub - andreiw/ppc64le-edk2: TianoCore UEFI for OPAL/PowerNV (PPC64/PowerPC64 Little-Endian)". GitHub.
  24. ^"Tianocore for OpenPOWER". Firmware Security. 12 October 2015.
  25. ^kontais. "EFI-MIPS". SourceForge.
  26. ^"lowRISC · lowRISC".
  27. ^http://www.uefi.org/sites/default/files/resources/UEFI_Spec_2_7.pdf
  28. ^Hardwidge, Ben (1 June 2010). "LBA explained — Solving the 3TB Problem?". bit-tech. Retrieved 18 June 2010.
  29. ^Richardson, Brian (10 May 2010). "Ask a BIOS Guy: "Why UEFI"". Intel Architecture Blog. Archived from the original on 9 October 2010. Retrieved 18 June 2010.
  30. ^Simpson, Gary. "UEFI Momentum — The AMD perspective". AMD. Archived from the original(PPTX) on 4 January 2014. Retrieved 20 September 2014.
  31. ^ abcdefgh"UEFI Specifications (version 2.4 and older)"(PDF). Unified EFI, Inc. June 2013. Retrieved 25 September 2013.
  32. ^"Linux kernel 3.15, Section 1.3. EFI 64-bit kernels can be booted from 32-bit firmware". kernelnewbies.org. 8 June 2014. Retrieved 15 June 2014.
  33. ^"x86, efi: Handover Protocol". LWN.net. 19 July 2012. Retrieved 15 June 2014.
  34. ^"Linux kernel documentation: Documentation/efi-stub.txt". kernel.org. 1 February 2014. Retrieved 15 June 2014.
  35. ^"FAQ: Drive Partition Limits"(PDF). UEFI Forum. Retrieved 5 December 2019.
  36. ^"FAQ: Drive Partition Limits"(PDF). UEFI Forum. Retrieved 9 June 2010.
  37. ^ abcdSmith, Roderick W. (3 July 2012). "Make the most of large drives with GPT and Linux". IBM. Retrieved 25 September 2013.
  38. ^"block/partitions/Kconfig (3.11.1)". CONFIG_EFI_PARTITION (line #247). kernel.org. Retrieved 25 September 2013.
  39. ^ abc"GRUB". BIOS systems. Arch Linux. Retrieved 25 September 2013.[unreliable source?]
  40. ^"GRUB and the boot process on UEFI-based x86 systems". redhat.com. Retrieved 14 November 2013.
  41. ^"UEFI Booting 64-bit Redhat Enterprise Linux 6". fpmurphy.com. September 2010. Retrieved 14 November 2013.
  42. ^ ab"UEFI Bootloaders". archlinux.org. Retrieved 25 September 2013.[unreliable source?]
  43. ^"Unified Extensible Firmware Interface: EFI System Partition". archlinux.org. Retrieved 25 September 2013.[unreliable source?]
  44. ^ abcd"UEFI system booting from MBR partition table and GRUB legacy". Arch Linux Forums. June 2012. Retrieved 6 October 2013.
  45. ^"What is efifb? — The Linux Kernel documentation". www.kernel.org. Retrieved 24 November 2020.
  46. ^ ab"Samsung UEFI bug: Notebook bricked from Windows". The H. Retrieved 27 February 2013.
  47. ^UEFI specification, section 7.3
  48. ^"Free Software EFI Drivers".
  49. ^Batard, Pete (13 March 2020). "pbatard/uefi-ntfs". GitHub.
  50. ^"Intel Embedded Graphics Drivers FAQ: BIOS and firmware". Intel. Retrieved 19 May 2014.
  51. ^"UEFI Specification Version 2.5, Section 12.3 File System Format"(PDF). uefi.org. April 2015. pp. 536, 537. Retrieved 29 May 2015.
  52. ^"Technical Note TN2166: Secrets of the GPT". developer.apple.com. 6 November 2006. Retrieved 6 May 2015.
  53. ^"UEFI - OSDev Wiki". wiki.osdev.org. Retrieved 26 September 2020.
  54. ^"EFISTUB - ArchWiki". wiki.archlinux.org. Retrieved 27 October 2020.
  55. ^ ab"Intel® Platform Innovation Framework for EFI"(PDF). Compatibility Support Module Specification (revision 0.97). Intel. 4 September 2007. Retrieved 6 October 2013.
  56. ^"The PC BIOS will be killed off by 2020 as Intel plans move to pure UEFI". Ars Technica. Retrieved 29 May 2018.
  57. ^"Red Hat Enterprise Linux 6 Installation Guide". 30.2.2. Configuring PXE boot for EFI. Red Hat. Retrieved 9 October 2013.
  58. ^El-Haj-Mahmoud, Samer (July 2013). "Advances in Pre-OS Networking in UEFI 2.4"(PDF). Hewlett-Packard. Retrieved 29 May 2019.
  59. ^"Storage and Network Convergence Using FCoE and iSCSI"(PDF). IBM. July 2012. Retrieved 9 October 2013.
  60. ^"New UEFI HTTP Boot support in UEFI 2.5". firmwaresecurity.com. 9 May 2015. Retrieved 13 August 2015.
  61. ^"Secure Boot Overview". Microsoft. Retrieved 18 February 2016.
  62. ^Edge, Jake. "UEFI and "secure boot"". LWN.net. Retrieved 9 September 2012.
  63. ^ ab"Windows 8 Secure Boot: The Controversy Continues". PC World. Retrieved 9 September 2012.
  64. ^"Secure Boot for ESXi 6.5 - Hypervisor Assurance". VMware vSphere Blog. 4 May 2017. Retrieved 18 August 2017.
  65. ^HowTos/UEFI - CentOS Wiki
  66. ^Larabel, Michael (30 April 2018). "Debian Making Progress on UEFI SecureBoot Support in 2018". Phoronix. Phoronix Media. Retrieved 23 May 2018.
  67. ^Garrett, Matthew (27 December 2012). "Secure Boot distribution support". Mjg59.dreamwidth.org. Retrieved 20 March 2014.
  68. ^"SecureBoot". FreeBSD Wiki. FreeBSD. Retrieved 16 June 2015.
  69. ^ ab"Unified Extensible Firmware Interface". UEFI Shell. Arch Linux. Retrieved 25 September 2013.[unreliable source?]
  70. ^ ab"EFI Shells and Scripting". Intel. Retrieved 25 September 2013.
  71. ^ ab"UEFI Shell Specification Version 2.0, Errata A"(PDF). Unified EFI, Inc. May 2012. Retrieved 25 September 2013.
  72. ^"EDK2: ShellPkg". GitHub. Retrieved 18 March 2020.
  73. ^"tianocore/edk2: releases". GitHub.
  74. ^"Email Archive: edk2-devel". [edk2] Inclusion of UEFI shell in Linux distro iso. SourceForge. 2012. Retrieved 25 September 2013.
  75. ^"TianoCore on SourceForge". Shell FAQ. Intel. Retrieved 25 September 2013.
  76. ^ ab"Unified Extensible Firmware Interface". Launching UEFI Shell. Arch Linux. Retrieved 25 September 2013.[unreliable source?]
  77. ^"Basic Instructions for Using EFI for Server Configuration on Intel® Server Boards and Intel® Server Systems"(PDF). Intel. 2008. Retrieved 25 September 2013.
  78. ^"Unified Extensible Firmware Interface". bcfg. Arch Linux. Retrieved 25 September 2013.[unreliable source?]
  79. ^"GRUB EFI Examples". Asus. Arch Linux. Retrieved 25 September 2013.[unreliable source?]
  80. ^https://edk2-docs.gitbook.io/understanding-the-uefi-secure-boot-chain/secure_boot_chain_in_uefi/signed-capsule-update
  81. ^barrygolden. "Windows UEFI firmware update platform - Windows drivers". docs.microsoft.com. Retrieved 25 September 2020.
  82. ^"Getting Started | Microchip Technology". www.microchip.com. Retrieved 24 December 2020.
  83. ^
Sours: https://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface
  1. 1 kings 13 nlt
  2. K2 axle set
  3. Hopewell juvenile court
  4. Epic seven music
  5. Farmer minecraft

Boot to UEFI Mode or legacy BIOS mode

Choose UEFI or legacy BIOS modes when booting into Windows PE (WinPE) or Windows Setup. After Windows is installed, if you need to switch firmware modes, you may be able to use the MBR2GPT tool.

In general, install Windows using the newer UEFI mode, as it includes more security features than the legacy BIOS mode. If you're booting from a network that only supports BIOS, you'll need to boot to legacy BIOS mode.

After Windows is installed, the device boots automatically using the same mode it was installed with.

To boot to UEFI or BIOS:

  1. Open the firmware menus. You can use any of these methods:

    • Boot the PC, and press the manufacturer’s key to open the menus. Common keys used: Esc, Delete, F1, F2, F10, F11, or F12. On tablets, common buttons are Volume up or Volume down (find more common keys and buttons). During startup, there’s often a screen that mentions the key. If there’s not one, or if the screen goes by too fast to see it, check your manufacturer’s site.

    • Or, if Windows is already installed, from either the Sign on screen or the Start menu, select Power (Power button icon) > hold Shift while selecting Restart. Select Troubleshoot > Advanced options > UEFI Firmware settings.

  2. From the firmware menus, boot to a drive or network while in UEFI or BIOS mode:

    On the boot device menu, select the command that identifies both the firmware mode and the device. For example, select UEFI: USB Drive or BIOS: Network/LAN.

    You might see separate commands for the same device. For example, you might see UEFI USB Drive and BIOS USB Drive. Each command uses the same device and media, but boots the PC in a different firmware mode.

    Some devices only support one mode (either UEFI or BIOS). Other devices will only allow you to boot to BIOS mode by manually disabling the UEFI security features. To disable the security features, go to Security > Secure Boot and disable the feature.

    Note

    Some older PCs (Windows 7-era or earlier) support UEFI, but require you to browse to the boot file. From the firmware menus, look for the option: "Boot from file", then browse to \EFI\BOOT\BOOTX64.EFI on Windows PE or Windows Setup media.

UEFI and BIOS modes in WinPE

Detect if WinPE is booted into BIOS or UEFI Mode

Query the registry to determine which mode the device is in. You can do this from the command line:

Return codeFirmware mode
0x1BIOS
0x2UEFI

Use it in a script:

Note that between and is a tab, followed by a space.

Make sure you boot into the right mode every time

Here are a couple of ways you can make sure you're booted into the right firmware mode every time you start your PC.

Use preformatted hard drives, and use a method that doesn't automatically format the drive.

If you want to ensure that your drive boots into a certain mode, use drives that you've preformatted with the GPT file format for UEFI mode, or the MBR file format for BIOS mode. When the installation starts, if the PC is booted to the wrong mode, Windows installation will fail. To fix this, restart the PC in the correct firmware mode.

Remove the UEFI or BIOS boot files

If you want a PC to only boot into a certain mode, you can remove the files that Windows PE or Windows Setup use to boot in UEFI or BIOS mode. Remove the following files, depending on the mode you want to boot to.

Boot only when in UEFI mode

Remove the bootmgr file from the root of the Windows PE or Windows Setup media. This prevents the device from starting in BIOS mode.

Boot only when in BIOS mode

Remove the efi folder from the root of the Windows PE or Windows Setup media. This prevents the device from starting in UEFI mode.

Related topics

WinPE: Create USB Bootable drive

Sours: https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/boot-to-uefi-mode-or-legacy-bios-mode

New Windows 8 PCs don’t include the traditional BIOS. They use UEFI firmware instead, just as Macs have for years. How you go about doing common system tasks has changed.

If you’re interested in why UEFI is replacing the BIOS, take a look at our overview of UEFI and how it’s different from the traditional BIOS.

You’ll Need to Access These Options From Within Windows

RELATED:Three Ways to Access the Windows 8 or 10 Boot Options Menu

Rather than have modern PCs wait several seconds for a key press and delay their speedy boot process, you’ll have to access a boot options menu after booting into Windows.

To access this menu, open the Settings charm — either swipe in from the right and tap Settings or press Windows Key + I. Click the Power option under the Settings charm, press and hold the Shift key, and click Restart. Your computer will reboot into the boot options menu.

Note: if you are using Windows 10 you can get to the power options menu from the Start Menu. Just hold SHIFT and click Restart the same way.

Access Low-Level UEFI Settings

To access the UEFI Firmware Settings, which are the closest thing available to the typical BIOS setup screen, click the Troubleshoot tile, select Advanced Options, and select UEFI Firmware Settings.

Click the Restart option afterwards and your computer will reboot into its UEFI firmware settings screen.

You’ll find different options here on different computers. For example, only a few options are available on Microsoft’s Surface Pro PC, but many more options will likely be available on traditional desktop PCs.

UEFI applies to new computers. You won’t see the UEFI Firmware Settings option here if you installed Windows 8 or 10 on an older computer that came with a BIOS instead of UEFI — you’ll just have to access the BIOS in the same way you always have.

Note that this boot menu option option may not be present on all UEFI PCs. On some UEFI PCs, you may have to access the UEFI settings screen in a different way — check your PC’s documentation for instructions if you don’t see the button here.

Disable Secure Boot

RELATED:How to Boot and Install Linux on a UEFI PC With Secure Boot

The UEFI settings screen allows you to disable Secure Boot, a useful security feature that prevents malware from hijacking Windows or another installed operating system. However, it can also prevent other operating systems — including Linux distributions and older versions of Windows like Windows 7 — from booting and installing.

You can disable Secure Boot from the UEFI settings screen on any Windows 8 or 10 PC. You’ll be giving up the security advantages Secure Boot offers, but you’ll gain the ability to boot any operating system you like.

Boot From Removable Media

To boot your computer from removable media — for example, to boot a Linux live USB drive — you’ll need to access the boot options screen. Select the Boot Device option and choose the device you want to boot from. Depending on the hardware your computer has, you’ll see a variety of options like USB drive, CD/DVD drive, SD card, network boot, and so on.

Legacy BIOS Mode

Many computers with UEFI firmware will allow you to enable a legacy BIOS compatibility mode. In this mode, the UEFI firmware functions as a standard BIOS instead of UEFI firmware. This can help improve compatibility with older operating systems that weren’t designed with UEFI in mind — Windows 7, for example.

If your PC has this option, you’ll find it in the UEFI settings screen. You should only enable this if necessary.

Change the System Time

The BIOS has generally included a built-in clock that displays the time and allowed users to change it from the BIOS settings screen. PCs with UEFI still contain hardware clocks that work the same way, but may not give you an option to control this in the UEFI settings screen. This doesn’t really matter — change the time in your operating system and it will change the system clock time, too.

Access Hardware Information

Your UEFI settings screen may or may not offer the ability to view information about the hardware inside your computer and its temperatures. If it doesn’t, this doesn’t really matter — you can always view this information with a system information tool in Windows, such as Speccy.

Change Hardware Settings

The BIOS has traditionally offered a variety of settings for tweaking system hardware — overclocking your CPU by changing its multipliers and voltage settings, tweaking your RAM timings, configuring your video memory, and modifying other hardware-related settings. These options may or may not be present in your hardware’s UEFI firmware. For example, on tablets, convertibles, and laptops, you may not find any of these settings. On desktop motherboards designed for tweakers, you should hopefully find these settings in your UEFI settings screen.


While the methods of accessing the UEFI settings screen and booting from removable devices are both different, not much else has changed. Just as the BIOSes included with typical laptops offered fewer options than the BIOSes include with motherboards intended for enthusiasts, the UEFI firmware settings screens on tablets and convertibles offer fewer options than those on UEFI-enabled desktops.

Sours: https://www.howtogeek.com/175649/what-you-need-to-know-about-using-uefi-instead-of-the-bios/

Mode uefi

So you might have heard the acronyms BIOS and UEFI thrown around, especially when trying to switch Operating Systems or messing around with overclocking.

And you might know what these acronyms stand for (Unified Extensible Firmware Interface and Basic Input/Output System, respectively). But have you ever wondered how they're used in a computer system?

Let's demystify these terms and their meanings now.

Boot Procedure

First things first – I know we're deviating from the topic, but I promise this will help you with some concepts later on.

So, how does a computer boot? Let's go step by step:

  1. You press the power button on your laptop/desktop.
  2. The CPU starts up, but needs some instructions to work on (remember, the CPU always needs to do something). Since the main memory is empty at this stage, CPU defers to load instructions from the firmware chip on the motherboard and begins executing instructions.
  3. The firmware code does a Power On Self Test (POST), initializes the remaining hardware, detects the connected peripherals (mouse, keyboard, pendrive etc.) and checks if all connected devices are healthy. You might remember it as a 'beep' that desktops used to make after POST is successful.
  4. Finally, the firmware code cycles through all storage devices and looks for a boot-loader (usually located in first sector of a disk). If the boot-loader is found, then the firmware hands over control of the computer to it.

We don't need to know more about this topic for the purposes of this article. But if you're interested, then read on (otherwise, you can skip to next section).

  1. So now that the boot-loader is loaded, its job is to load the rest of the operating system. GRUB is one such boot-loader that is capable of loading unix-like operating systems and is also able to chain-load Windows OS. Boot-loader is only available in the first sector of a disk, which is 512 bytes. Given the complexity of modern operating systems, some of these boot-loaders tend to do multi-stage loading, where the main boot-loader loads the second-stage-boot-loader in an environment which is not restricted to 512 bytes.

  2. The boot-loader then loads the kernel into memory. Unix-like operating systems then run the process (the master process, from which other processes are forked/executed) and finally initialize the run-levels.

  3. In Windows, is loaded along with some other processes like for service control, for local security and authority (similar to run-levels) and for local session management.

  4. After all this, and after some other drivers are initialized, the Graphical User Inferface (GUI) is loaded and you are presented with the login screen.

This was a very high-level overview of the boot process. If you're interested in Operating Systems, I would recommend that you read more on osdev.net.

Now let's get back to our original topic.

BIOS:

BIOS stands for Basic Input/Output System, the firmware we talked about in the above boot procedure.

It is stored on an EPROM (Erasable Programmable Read-Only Memory), allowing the manufacturer to push out updates easily.

It provides many helper functions that allow reading boot sectors of attached storage and printing things on screen. You can access BIOS during the initial phases of the boot procedure by pressing , or .

UEFI:

UEFI stands for Unified Extensible Firmware Interface. It does the same job as a BIOS, but with one basic difference: it stores all data about initialization and startup in an .efi file, instead of storing it on the firmware.

This .efi file is stored on a special partition called EFI System Partition (ESP) on the hard disk. This ESP partition also contains the bootloader.

UEFI was designed to overcome many limitations of the old BIOS, including:

  1. UEFI supports drive sizes upto 9 zettabytes, whereas BIOS only supports 2.2 terabytes.
  2. UEFI provides faster boot time.
  3. UEFI has discrete driver support, while BIOS has drive support stored in its ROM, so updating BIOS firmware is a bit difficult.
  4. UEFI offers security like "Secure Boot", which prevents the computer from booting from unauthorized/unsigned applications. This helps in preventing rootkits, but also hampers dual-booting, as it treats other OS as unsigned applications. Currently, only Windows and Ubuntu are signed OS (let me know if I am wrong).
  5. UEFI runs in 32bit or 64bit mode, whereas BIOS runs in 16bit mode. So UEFI  is able to provide a GUI (navigation with mouse) as opposed to BIOS which allows navigation only using the keyboard.

You might not need UEFI

Though all modern computers come equipped with UEFI by default, some reasons why you might choose BIOS over UEFI are:

  1. If you're beginner and don't care about messing with any type of firmware, BIOS is for you.
  2. If you have < 2 TB per hard disk or partition, you can go with BIOS.
  3. BIOS allows running multiple operating systems without changing any settings This can be a security issue from a modern standpoint, but hey, no hassles for the user.
  4. BIOS provides system information to the operating system. So if your OS runs in 16 bit mode, it does not require writing code for interacting with hardware. It can directly use methods provided by BIOS. Else if the OS switches over to 32bit or 64bit mode, then it needs to provide its own subroutines for interacting with hardware.
  5. If you are someone who prefers a keyboard and text based UI over navigation with a mouse and GUI, then BIOS is for you.

UEFI takes these limitations into account and provides a Legacy mode. In it you can run everything as if you had a BIOS firmware. But keep in mind that Intel has announced that it won't support traditional BIOS from 2020.

Conclusion

This post gave you an overview of the differences between BIOS and UEFI. It also advises you when to choose either one of them and how they are different from each other.

If you have any questions, I will always be available on Twitter. Thank you for your time.



If you read this far, tweet to the author to show them you care. Tweet a thanks

Learn to code for free. freeCodeCamp's open source curriculum has helped more than 40,000 people get jobs as developers. Get started

Sours: https://www.freecodecamp.org/news/uefi-vs-bios/

The BIOS will soon be dead: Intel has announced plans to completely replace it with UEFI on all their chipsets by 2020. But what is UEFI, and how is it different from the BIOS we’re all familiar with?

Both UEFI and BIOS are low-level software that starts when you boot your PC before booting your operating system, but UEFI is a more modern solution, supporting larger hard drives, faster boot times, more security features, and—conveniently—graphics and mouse cursors.

We’ve seen newer PCs that ship with UEFI still refer to it as the “BIOS” to avoid confusing people who are used to a traditional PC BIOS. Even if your PC uses the term “BIOS”, modern PCs you buy today almost certainly ship with UEFI firmware instead of a BIOS. Here’s why.

What Is a BIOS?

RELATED:What Does a PC's BIOS Do, and When Should I Use It?

BIOS is short for Basic Input-Output system. It’s low-level software that resides in a chip on your computer’s motherboard. The BIOS loads when your computer starts up, and the BIOS is responsible for waking up your computer’s hardware components, ensures they’re functioning properly, and then runs the bootloader that boots Windows or whatever other operating system you have installed.

You can configure various settings in the BIOS setup screen. Settings like your computer’s hardware configuration, system time, and boot order are located here. You can access this screen by pressing a specific key—different on different computers, but often Esc, F2, F10, or Delete—while the computer boots. When you save a setting, it’s saved to the memory on your motherboard itself. When you boot your computer, the BIOS will configure your PC with the saved settings.

The BIOS goes through a POST, or Power-On Self Test, before booting your operating system. It checks to ensure your hardware configuration is valid and working properly. If something is wrong, you’ll see an error message or hear a cryptic series of beep codes. You’ll have to look up what different sequences of beeps mean in the computer’s manual.

When your computer boots—and after the POST finishes—the BIOS looks for a Master Boot Record, or MBR, stored on the boot device and uses it to launch the bootloader.

You may also see the acronym CMOS, which stands for Complementary Metal-Oxide-Semiconductor. This refers to the battery-backed memory where the BIOS stores various settings on the motherboard. It’s actually not accurate anymore, since this method has been replaced with flash memory (also referred to as EEPROM) in contemporary systems.

Why the BIOS Is Outdated

The BIOS has been around for a long time, and hasn’t evolved much. Even MS-DOS PCs released in the 1980s had a BIOS!

Of course, the BIOS has evolved and improved over time. Some extensions were developed, including ACPI, the Advanced Configuration and Power Interface. This allows the BIOS to more easily configure devices and perform advanced power management functions, like sleep. But the BIOS hasn’t advanced and improved nearly as much as other PC technology has since the days of MS-DOS.

The traditional BIOS still has serious limitations. It can only boot from drives of 2.1 TB or less. 3 TB drives are now common, and a computer with a BIOS can’t boot from them. That limitation is due to the way the BIOS’s Master Boot Record system works.

The BIOS must run in 16-bit processor mode, and only has 1 MB of space to execute in. It has trouble initializing multiple hardware devices at once, which leads to a slower boot process when initializing all the hardware interfaces and devices on a modern PC.

The BIOS has needed replacement for a long time. Intel started work on the Extensible Firmware Interface (EFI) specification back in 1998. Apple chose EFI when it switched to the Intel architecture on its Macs in 2006, but other PC manufacturers didn’t follow.

In 2007, Intel, AMD, Microsoft, and PC manufacturers agreed on a new Unified Extensible Firmware Interface (UEFI) specification. This is an industry-wide standard managed by the Unified Extended Firmware Interface Forum, and isn’t solely driven by Intel. UEFI support was introduced to Windows with Windows Vista Service Pack 1 and Windows 7. The vast majority of computers you can buy today now use UEFI rather than a traditional BIOS.

How UEFI Replaces and Improves on the BIOS

UEFI replaces the traditional BIOS on PCs. There’s no way to switch from BIOS to UEFI on an existing PC. You need to buy new hardware that supports and includes UEFI, as most new computers do. Most UEFI implementations provide BIOS emulation so you can choose to install and boot old operating systems that expect a BIOS instead of UEFI, so they’re backwards compatible.

RELATED:What's the Difference Between GPT and MBR When Partitioning a Drive?

This new standard avoids the limitations of the BIOS. The UEFI firmware can boot from drives of 2.2 TB or larger—in fact, the theoretical limit is 9.4 zettabytes. That’s roughly three times the estimated size of all the data on the Internet. That’s because UEFI uses the GPT partitioning scheme instead of MBR. It also boots in a more standardized way, launching EFI executables rather than running code from a drive’s master boot record.

UEFI can run in 32-bit or 64-bit mode and has more addressable address space than BIOS, which means your boot process is faster. It also means that UEFI setup screens can be slicker than BIOS settings screens, including graphics and mouse cursor support. However, this isn’t mandatory. Many PCs still ship with text-mode UEFI settings interfaces that look and work like an old BIOS setup screen.

UEFI is packed with other features. It supports Secure Boot, which means the operating system can be checked for validity to ensure no malware has tampered with the boot process. It can support networking features right in the UEFI firmware itself, which can aid in remote troubleshooting and configuration. With a traditional BIOS, you have to be sitting in front of a physical computer to configure it.

It’s not just a BIOS replacement, either. UEFI is essentially a tiny operating system that runs on top of the PC’s firmware, and it can do a lot more than a BIOS. It may be stored in flash memory on the motherboard, or it may be loaded from a hard drive or network share at boot.

Different PCs with UEFI will have different interfaces and features. It’s all up to your PC manufacturer, but the basics will be the same on each PC.

How to Access UEFI Settings on Modern PCs

If you’re a normal PC user, switching to a computer with UEFI won’t be a noticeable change. Your new computer will boot up and shut down faster than it would have with a BIOS, and you can use drives of 2.2 TB or more in size.

RELATED:Three Ways to Access the Windows 8 or 10 Boot Options Menu

If you need to access low-level settings, there may be a slight difference. You may need to access the UEFI settings screen through the Windows boot options menu rather than pressing a key while your computer starts. With PCs now booting so quickly, PC manufacturers don’t want to slow down the boot process by waiting to see if you press a key. However, we’ve also seen PCs with UEFI that allow you to access the BIOS in the same way, by pressing a key during the boot-up process.

While UEFI is a big upgrade, it’s largely in the background. Most PC users will never notice—or need to care—that their new PCs use UEFI instead of a traditional BIOS. They’ll just work better and support more modern hardware and features.

For more detailed information, read Adam Williamson of Red Hat’s explanation of how the UEFI boot process is different. You can also read the official UEFI FAQ.

Image Credit: Wikimedia Commons

Sours: https://www.howtogeek.com/56958/htg-explains-how-uefi-will-replace-the-bios/

You will also be interested:

How to Check if Your Computer Uses UEFI or BIOS [in both Linux and Windows]

When you are trying to dual boot Linux with Windows, you would want to know if you have UEFI or BIOS boot mode on your system. It helps you decide in partition making for installing Linux.

If you are dual booting it’s always advisable to install both the OS in the same booting mode. So, you should first check if you’re using UEFI or BIOS and install accordingly.

I’ll show you how to check whether your system has UEFI or BIOS in both Windows and Linux:

Check if you are using UEFI or BIOS on Windows

Check Computer For Uefi Or Bios Linux

On Windows, “System Information” in Start panel and under BIOS Mode, you can find the boot mode. If it says Legacy, your system has BIOS. If it says UEFI, well it’s UEFI.

Checking UEFI or BIOS in Windows

Alternative: You can launch a command prompt window as administrator and look for the path of the bootloader by running

Here, in the Windows Boot Loader section, look for Path. if the file extension for /Windows/System32/winload is .exe, your system uses legacy BIOS. If the extension is .efi, your system uses UEFI.

Checking UEFI in Windows

Check if you are using UEFI or BIOS on Linux

The easiest way to find out if you are running UEFI or BIOS is to look for a folder /sys/firmware/efi. The folder will be missing if your system is using BIOS.

UEFI check in Ubuntu Linux

/sys/firmware/efi exists means system uses UEFI

Alternative: The other method is to install a package called efibootmgr.

On Debian and Ubuntu based distributions, you can install the efibootmgr package using the command below:

Once done, type the below command:

If your system supports UEFI, it will output different variables. If not you will see a message saying EFI variables are not supported.

Checking UEFI or BIOS in Linux

Final Words

So, now you know that finding whether your system is using UEFI or BIOS isn’t tough. Wasn’t that very easy?

Even though features like faster boot and secure boot provides an upper hand to UEFI, you don’t need to worry if your system uses BIOS. Unless you have a specific requirement for UEFI or BIOS, no action is required from your end to change that.


Like what you read? Please share it with others.

Filed Under: TutorialTagged With: BIOS, quick tip, UEFI

Sours: https://itsfoss.com/check-uefi-or-bios/


746 747 748 749 750