First of all, UEFI has a complete graphics driver function. Although the graphics driver was added in the previous EFI in principle, in order to ensure a good transition between EFI and BIOS, most EFI interfaces are similar to DOS (still 640*480VGA resolution), and only support PS/2 keyboard operation (very few support mouse operation), but not USB keyboard and mouse.
When you arrive at UEFI, you will have a complete graphics card driver. UEFI supports both PS/2 and USB keyboard and mouse. Moreover, when UEFI also supports GOP VBIOS, the setting interface displayed is that the graphics card is displayed at a high resolution of 640*480 or 1024*768.
So the picture is small but clear, but it will leave a large black screen around the screen, but you can't have your cake and eat it, unless UEFI's default window size is also the highest resolution.
Secondly, UEFI has a unique function, secure boot, while EFI has no secure boot. In fact, the popular explanation is called firmware verification.
After UEFI starts safely, the motherboard will judge the hardware according to the hardware signature recorded by TPM chip (or TPM built in CPU), and only the certified hardware driver will be loaded.
Windows after Win8 constantly checks the signatures of hardware drivers during the loading process of the operating system, and only the hardware that meets the Windows records can be loaded by Windows, which reduces the risk of preloading the startup program before the operating system starts to some extent, but it also leads to the monopoly of system installation.
Both EFI and UEFI must be composed of preload environment, driver execution environment, driver and other necessary parts. In order to support some old devices (such as mounting the traditional MBR hard disk under UEFI, the graphics card that does not support UEFI startup still supports running under UEFI, etc. ).
You also need a CSM compatibility support module. EFI or UEFI only supports GPT disk boot system.
EFI is very similar to the underlying operating system in concept and has the ability to control all hardware resources. Many people think that its continuous development is likely to replace the modern operating system. In fact, when the first version of the specification was released, the founder of EFI limited the capability of EFI to not enough to threaten the dominance of the operating system.
First of all, it is only an interface specification between hardware and pre-boot software; Secondly, there is no interrupt access mechanism in EFI environment, that is to say, every EFI driver has to check the hardware status by polling and run in an interpreted way, which is less efficient than the driver under the operating system.
In addition, EFI system does not provide complex memory protection function, only simple memory management mechanism. Specifically, it refers to running in the segment protection mode of x86 processor, and dividing the memory into a flat segment with the greatest addressing ability. All programs can access any segment location and provide no real protection service.
After loading all components of EFI, the system can open a command interpretation environment similar to the operating system Shell, in which users can call in and execute any EFI application, which can be hardware detection and debugging software, boot management software, installation software, operating system boot software and so on.
Theoretically, there are no restrictions on the functions of EFI applications. This kind of software can be written by anyone, and the effect is more gorgeous and powerful than the previous software under MS-DOS.
Once the boot software gives control to the operating system, all the service codes used for booting will stop working, and some service programs at runtime can continue to work, so that when the operating system cannot find the driver of a specific device temporarily, the device can continue to be used.