UEFI and Legacy explained

Patrick Gichini
Decode_ke
Published in
3 min readJul 12, 2017

Once upon a time in the 70’s, when Davies(one of our smartest authors) was just but a possibility of happening, BIOS was born. BIOS (Basic Input/Output System) was among the first firmware to be released. It was introduced by IBM or as it was popularly known ‘the big blue’. Computer firmware is software that acts as an intermediary between the hardware and the operating system. In the past, BIOS was the thing but it is slowly getting out of the picture as it cannot be able to handle some of the advanced features of modern hardware.

Legacy BIOS

Legacy is the old BIOS way of doing things. Yes, it is fading out of relevance but that is not to mean that it is useless now. There is a reason it is still a boot option in our machines.

Legacy is run by Read Only Memory (ROM’s) which is limited to 64 KB of storage. These ROMs only work if the hardware that is running them is compatible. You have to update the ROM’s whenever you update your hardware.

Legacy BIOS uses the Master Boot Recovery partitioning scheme.

In MBR:

The maximum partition size is 2TB

You can have a maximum of 4 primary partitions

You can only store one bootloader

UEFI

UEFI (Unified Extensible Firmware Interface) is the successor to BIOS. UEFI uses drivers in place of ROM’s. These drivers have no space limitations and you don’t need to keep updating every time you upgrade your hardware. You can upload these drivers using a flash drive.

UEFI uses the GUID Partition Table (GPT) while Legacy uses MBR. Both GPT and MBR are formats that specify the physical partitioning information on the hard disk.

In GPT:

The maximum partition size is 9 ZetaBytes

You can have 128 primary partitions

You can store multiple bootloaders since GPT has a dedicated EFI System Partition (ESP)

UEFI offers secure boot which prevents viruses from loading during boot-time.

UEFI uses C language, unlike Legacy which uses Assembly language. Working with Legacy can be a bit harder as the code is long and confusing. The thing I have learnt about long and confusing lines of code is that they end up causing developers to write more long and confusing lines of code. C on the hand is easy to work with as it is well structured (those who know me know that I am a C die hard)

Due to being newer and more advanced, UEFI supports faster boot time than Legacy mode.

Choosing what mode you want to use is entirely up to you. Running on Legacy won’t have you at a big disadvantage as long as you don’t mind slower boot. Legacy has been running for a very long time and is quite reliable.

UEFI is for the control junkies who want to control everything that happens on their systems. Well, keep choosing until Legacy fades away and UEFI becomes the reigning survivor.

Originally published at Decode.

--

--

Patrick Gichini
Decode_ke

Linux Ninja | Data Enthusiast | Sentimental Poet | Agent Boyfriend