1. Introduction

In this tutorial, we’ll explain the differences between BIOSCMOS, and UEFI.

There are significant differences between BIOS (Basic Input/Output System) and CMOS (Complementary Metal Oxide Semiconductor). Generally, the terms BIOS and CMOS are used interchangeably. A BIOS chip in a motherboard contains the program (firmware commonly called BIOS) to boot the computer. A CMOS chip stores the settings like date & time, fan speed, booting sequence. 

During the early days of Windows OS, the DOS command WIN was necessary to start windows. A similar concept in the form of a new interface is in UEFI (Unified Extensible Firmware Interface) to extend a better user experience and provide a new secured BIOS.

2. Differences

There are several advantages of UEFI over BIOS as shown in the table below:

BIOS

UEFI

Windows blue screen

User-friendly graphical user interface

No Animation

Multicolored with Animations

Can’t recognize Ethernet, Wi-Fi and Bluetooth

Support Ethernet, Wi-Fi and Bluetooth connectivity

No remote diagnosis and repair support

Support remote diagnosis and repair if the OS won’t boot.

No mouse support, keyboard only

Keyboard and mouse support

No secure booting option

Secure boot facility to stops loading malicious softwares.

Firmware program in 16-bit assembly language

Firmware program in 64-bit C language

Supports 2.2 terabytes

Supports drive sizes up to 9 zettabytes

The following figure shows the difference between BIOS and UEFI during booting:

BIOS vs UEFI

The bootloader is an interface between hardware and the operating system (OS). One of the advantages of UEFI is the secure booting process using a safe boot loader.  This feature prevents malicious access, allows remote monitoring and control during the booting process.

3. BIOS

When we first switch on the computer, a Power On Self Test (POST) is ran by the BIOS:

windows boot screen bios

It tests if the computer hardware is working correctly. After the POST run is successful and the hardware is ready, it calls the code stored in the storage device, such as a hard disk, and finally runs the Bootloader to start the operating system:

BIOS Booting steps1

As soon as a Bootloader is instructed by firmware to start, it loads the main memory first and then loads the kernel of the OS. A computer kernel is the main element of the computer system that manages all functions such as storage, permissions, and drivers. On successful completion of its assigned jobs, the Bootloader returns the system control to the kernel.

 The program in a BIOS chip is non-volatile. Non-volatile means even when the computer is off, the program won’t be erased:

Bios chip 2

Conventionally BIOS has three modes:

  • Boot – Start the OS
  • Setup – Configure the firmware
  • Update – Update the firmware version

4. CMOS

The computer requires few settings such as the date, time, the boot sequence, and the custom settings for devices and peripherals. These settings are retained in the CMOS chip and are volatile:

CMOS setup

The CMOS chip is also referred to as RTC (real-time clock), NVRAM (non-volatile RAM), or CMOS RAM:

cmos chip

The CMOS chip requires a power supply from a CMOS battery to hold the custom settings. If the battery is unplugged from the motherboard, the CMOS will reset the settings to the stored default settings in the BIOS chip:

CMOS battery

Most motherboard manuals provide a complete list of available CMOS options. These vary according to the manufacturer’s BIOS design specifications.

Here are some common symptoms that CMOS power supply from the battery is down:  

  • Date and time showing old date instead of current date and time
  • Peripherals such as mouse and keyboard behaving strangely
  • Drivers disappeared
  • No internet connection

5. UEFI

Intel’s announcement that it won’t support traditional BIOS from 2020 led to the faster UEFI adoption by the motherboard manufacturer. UEFI provides a lightweight operating system and interfaces the computer hardware. UEFI is a virtual platform for running firmware programs:

secure boot

During the booting process, UEFI does the following:

  • Acts as a boot agent
  • Provides a pre-OS command-line interface (EFI Shell)

UEFI basic process

Most of the new motherboards have built-in UEFI with a user-friendly graphical user interface that supports different colors and even animation:

asus UEFI

UEFI has rich new features in the platform firmware, an enhanced set of policies and specifications.

The Firmware gives an initial set of commands to run when the computer is on. The Firmware is non-volatile memory attached to a motherboard. Sometimes peripheral devices like video cards and storage controllers are available with built-in Firmware. UEFI has an additional mode called “User Mode” compared to the BIOS. In the User Mode, the EFI shell runs firmware commands and other utility programs. It also launches 64-bit Windows from the 64-bit UEFI platform.

During the booting process, only the platform is initialized in Real Mode by UEFI Firmware. Once the platform is initialized, UEFI uses a rudimentary OS to enable 64-bit Protected Mode for subsequent booting.

The owner of the secured booting process (Platform Vendor /OEM /Enterprise) owns a digitally signed key pair. The private key is secret to the owner. A public key is for distributing openly for secured access. The owner is responsible to digitally sign the firmware files (images) in the first stage boot process located in the UEFI motherboard.

For  UEFI supported secured booting  for Windows, the following are the limitations:

  • UEFI v2.3.1 with secure boot enabled
  • UEFI is supported only by 64-bit Windows 8 or later

The secure boot allows digitally signed drivers to load and stops any digitally unsigned drivers from loading. Additionally, UEFI can run pre-OS utility programs like networking and run driver programs for hardware test diagnostics.

6. Conclusion

This article gave you an overview of BIOS, CMOS, UEFI and the differences between them.

A BIOS allows running several OS without any change in settings that pose a security threat. In UEFI-based systems, firmware utility programs come pre-installed as part of the system maintenance tools. This tool provides secure booting to prevent digitally unsigned drivers from loading. 

However, UEFI also provides a legacy mode for the text-based user interface. This feature is useful for users who are comfortable with a text-based user interface and also to cater the special need such as installing a Linux distro.