Write a program in Python/C++ to test that 
computer is booted with Legacy Boot ROM-BIOS 
or UEFI.
UEFI and BIOS
What is BIOS and UEFI..…?
BIOS and UEFI are two firmware 
interfaces for computers which 
work as an interpreter between the 
operating system and the computer 
firmware. 
Both of these interfaces are used 
at the startup of the computer to 
initialize the hardware components 
and start the operating system.
What is Firmware..…?
 Installed with a computer in a non-volatile location 
(PROM/EEPROM) 
 Initializes low level hardware 
 Initializes memory controller timings, powers on critical boot devices. 
 Hands off control to operating system loader 
 Operating system loader uses firmware interfaces to initialize the 
operating system. 
 Referred to as pre-boot firmware 
 Examples: BIOS and UEFI.
What is Extensible Firmware Interface (EFI) 
 The Extensible Firmware Interface (EFI) is a 
specification that defines a software interface between 
an operating system and platform firmware. 
 EFI is a replacement for older BIOS firmware interface 
present in all IBM PC – compatible personal 
computers. 
7
Position of EFI
Transition from EFI to UEFI 
 The emergence of x64 architecture provides an inflection 
point to begin industry wide transition to EFI 
 To encourage transition, the UEFI Forum was created in 
2005, which is now responsible for EFI development 
 UEFI version 2.3 published in May 2009.
BIOS firmware 
 Mechanism used to boot PCs for the last 25+ years 
 All x86/x64 architecture machines in the market support 
BIOS firmware. 
 In early systems (16-bit era) BIOS was used for hardware 
access 
 Operating systems would call the BIOS rather than directly 
accessing the hardware (ex. MS-DOS). 
 In 32-bit era OSs instead generally directly accessed the 
hardware using their own device drivers
BIOS limitations 
 BIOS showing its age 
Over 25 years old. 
Documentation is scattered. 
 Non – graphical interface 
 Programmed in hex/assembly code 
 Regarded as legacy firmware 
11
Overcoming BIOS limitations 
 EFI adds support for a new partition scheme : GUID Partition 
Table(GPT) 
 Unlimited partitions can be created (W-128). 
 Maximum disk and partition size of 9.4 ZB. 
 UEFI processor mode can be either 32-bit or 64-bit (long 
mode) 
 Architecture is modular and extensible 
 Graphical user interface 
 Can be programmed in C/C++ 
 EFI interfaces are object oriented
Thank you

Uefi and bios

  • 1.
    Write a programin Python/C++ to test that computer is booted with Legacy Boot ROM-BIOS or UEFI.
  • 2.
  • 3.
    What is BIOSand UEFI..…?
  • 4.
    BIOS and UEFIare two firmware interfaces for computers which work as an interpreter between the operating system and the computer firmware. Both of these interfaces are used at the startup of the computer to initialize the hardware components and start the operating system.
  • 5.
  • 6.
     Installed witha computer in a non-volatile location (PROM/EEPROM)  Initializes low level hardware  Initializes memory controller timings, powers on critical boot devices.  Hands off control to operating system loader  Operating system loader uses firmware interfaces to initialize the operating system.  Referred to as pre-boot firmware  Examples: BIOS and UEFI.
  • 7.
    What is ExtensibleFirmware Interface (EFI)  The Extensible Firmware Interface (EFI) is a specification that defines a software interface between an operating system and platform firmware.  EFI is a replacement for older BIOS firmware interface present in all IBM PC – compatible personal computers. 7
  • 8.
  • 9.
    Transition from EFIto UEFI  The emergence of x64 architecture provides an inflection point to begin industry wide transition to EFI  To encourage transition, the UEFI Forum was created in 2005, which is now responsible for EFI development  UEFI version 2.3 published in May 2009.
  • 10.
    BIOS firmware Mechanism used to boot PCs for the last 25+ years  All x86/x64 architecture machines in the market support BIOS firmware.  In early systems (16-bit era) BIOS was used for hardware access  Operating systems would call the BIOS rather than directly accessing the hardware (ex. MS-DOS).  In 32-bit era OSs instead generally directly accessed the hardware using their own device drivers
  • 11.
    BIOS limitations BIOS showing its age Over 25 years old. Documentation is scattered.  Non – graphical interface  Programmed in hex/assembly code  Regarded as legacy firmware 11
  • 12.
    Overcoming BIOS limitations  EFI adds support for a new partition scheme : GUID Partition Table(GPT)  Unlimited partitions can be created (W-128).  Maximum disk and partition size of 9.4 ZB.  UEFI processor mode can be either 32-bit or 64-bit (long mode)  Architecture is modular and extensible  Graphical user interface  Can be programmed in C/C++  EFI interfaces are object oriented
  • 13.