UEFI - Ahh, I heard ... but still, what is it?
UEFI - a look ahead ( part 1/3 )
Not so long ago I had to deal with what UEFI is and what it is eaten with. The topic is very relevant, and there are not very many articles in Russian. Well, I’ll try to correct the situation and share the information that I managed to “dig.” For starters, an introductory chapter to learn about what UEFI is and why it is needed.
UEFI (Unified Extensible Firmware Interface) is the connecting shell between the operating system and the hardware (hardware). In the future, it is planned that UEFI will completely supplant the BIOS (Basic Input Output System) and take its place. UEFI is a relatively old technology developed in 2005 (Unified EFI Forum). However, this statement is incorrect in relation to this situation, since despite the fact that for 8 years quite a long time for IT technology and in other areas over the years managed to change several technologies at once, UEFI initially developed rather slowly and only in recent years has become to get more and more fame. Below you can find the UEFI release schedule.
The primary goal when creating UEFI was to develop a convenient and multifaceted shell for 64-bit systems with a more developed user interface and network control.
So, what are the advantages of UEFI?
Benefits and simply interesting facts about UEFI
It seems to me that all the benefits and advantages of switching from BIOS to UEFI will open to users and developers only with the mass introduction of the shell and the complete rejection of the BIOS. However, several obvious advantages of UEFI can already be listed:
1) In connection with the latest trends, more and more PCs have 64-bit OS, which allows to increase productivity.
2) The second important point is memory addressing. A wonderful opportunity to use more RAM and the size of the hard drive. Theoretically, the maximum hard disk size can reach 8192 Exybyte-a, which is approximately 8.8 (oh yes! O_o) trillion terabytes, which even with the current volume of information transfer is a very impressive figure, especially when you consider that the size of the entire Internet archive is 10 petabytes. As for the RAM, there are also bright prospects with the possibility of addressing up to 16 Exybyte s, which in the current situation on the market (new PCs usually have from 8 to 16 gigabytes of RAM) is a big deal for the future.
A link to interesting facts is associated with a clear example of whether it is a lot or a little.
3) Faster system loading, achieved by parallel initialization of individual system components.
4) Loading drivers into UEFI and then transferring them to the OS.
5) One of the most important and most critical features of UEFI is the Secure Boot Option , which allows you to protect Bootloader from the execution of malicious programs, which in turn allows you to protect the OS outside it during boot. For this, “digital” signatures of operating systems are used.
UEFI Start
As shown in the following picture, the start of UEFI is divided into several different modules and steps, which in turn are divided into further sub-items.
It all starts with the Power On phase (who would have thought) in which the Power On Self Test is executed and the Security phase skips . After which we can assume that the platform is initialized, and you should not forget about the PEI (Pre-Initialization EFI) phase , as well as the DXE (Driver Execution Environment) phase, which allows the system to reach the point when memory becomes available, and also starts (Firmware) search for a boot device. In BDS(Boot Device Selection) phase, a search for a device from which boot can be performed can be made, while a third-party device or UEFI-Shel l can be used . When the system starts, the already initialized and loaded drivers are transferred to the OS, in order to reduce the boot time.
And so it was the introduction to the UEFI story. The following chapter will examine the individual phases in more detail: POWER ON, SECURITY (SEC), PRE-EFI Initialization (PEI), DRIVER EXECUTION ENVIRONMENT, and BOOT DEV SELECT (BDS)