Professional Documents
Culture Documents
BIOS and The UEFI PDF
BIOS and The UEFI PDF
RAM.
EEP-ROM is the common media choice for the BIOS,
installed on the motherboard.
The BIOS instructions are based on the chip-set
installed on the motherboard
BIOS
The BIOS primary functions are
Issue the instructions for starting the hardware at
boot time.
Load the OS from the boot device.
Hardware Boot Sequence
Turn on the power switch
All memory and cache is empty at startup.
A reset signal is generated by the chipset to the CPU
until the power is ready.
The CPU powers up and reads address xFFFF0 from
table.
HDD Boot Sequence
The boot code will do one of two things when
executed:
1. Load a boot loader (GRUB, LILO, MS-BM)
1. Allows one to choose from different OSes or different
versions of the same OS.
2. Load the OS if no boot loader is available.
Partition Table
The PT contains information about 4 primary
partitions.
Only one of the 4 primary partitions is designated as
the active partition
The active partition contains the OS for booting.
One of the 4 primary partitions can be designated as
the extended partition.
The extended partition can be divided into additional
logical partitions.
BIOS/UEFI
In the beginning there was the BIOS
Intel creates the Extensible Firmware Interface in
1998
UEFI now supersedes EFI
UEFI can run on-top-of the traditional BIOS or in place
of the BIOS.
UEFI
BIOS is often used to describe UEFI
Modern OSes allow backward compatibility between
the traditional BIOS boot record and the UEFI GPT.
Unified Extensible Firmware Interface (UEFI)
EFI defines two types of services: boot services and runtime services.
Boot services are only available while the firmware owns the
platform (before the ExitBootServices call). Boot services 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.
UEFI variables provide a way to store data, in particular non-volatile
data, that is shared between platform firmware and operating
systems or UEFI applications. Variable namespaces are identified by
GUIDs, and variables are key/value pairs.
UEFI provides device-independent time services. Time services
include support for timezone and daylight saving fields, which allow
the hardware real-time clock to be set to local time or UTC.
UEFI Features
Protocols
EFI defines protocols as set of software interfaces used for communication between
two binary modules. All EFI drivers must provide services to others via protocols.
Device drivers
In addition to standard architecture-specific device drivers, the EFI specification
provides for a processor-independent device driver environment, called EFI Byte
Code or EBC.
OS can rely on EFI for basic graphics and network functions until OS specific drivers
are loaded.
Graphics features
The EFI specification defined a UGA (Universal Graphic Adapter) protocol as a way to
support device-independent graphics.
UEFI 2.1 defined a "Human Interface Infrastructure" (HII) to manage user input,
localized strings, fonts, and forms (in the HTML sense). These enable OEMs or IBVs to
design graphical interfaces for pre-boot configuration. UEFI itself does not define a
user interface.
Most early UEFI implementations were console-based, but as early as 2007 some
implementations featured a graphical user interface
UEFI Booting
CSM booting
For backwards compatibility, most of the UEFI implementations on PC-class machines
also support booting in legacy BIOS mode from MBR-partitioned disks, through the
Compatibility Support Module (CSM)
Network booting
UEFI specification includes support for booting over network through the Preboot
eXecution Environment (PXE). Underlying network protocols include Internet
Protocol (IPv4 and IPv6), User Datagram Protocol (UDP), Dynamic Host Configuration
Protocol (DHCP) and Trivial File Transfer Protocol (TFTP).
Included is also support for boot images remotely stored on storage area networks
(SANs), with Internet Small Computer System Interface (iSCSI) and Fibre Channel over
Ethernet (FCoE)
Secure boot
The UEFI 2.2 specification adds a protocol known as Secure boot, which can secure
the boot process by preventing the loading of drivers or OS loaders that are not
signed with an acceptable digital signature. Secure boot is supported by Windows 8,
Windows Server 2012, and selected Linux distributions.
CSM and Shell
Service &
POST
App Init