1、UEFI启动简介
UEFI(Unified Extensible Firmware Interface)是为取代传统的BIOS引导方式而产生的一种新的系统引导方式。UEFI由Intel开发并于2005年首次推出。
相比传统的BIOS引导方式,UEFI具有更快的启动速度、更加强大的功能以及更好的扩展性。在UEFI启动方式下,系统启动时会首先执行固件代码,固件代码初始化系统硬件,并加载可用的UEFI固件驱动。然后,UEFI固件加载操作系统引导管理器,从而启动操作系统。
2、UEFI启动方式的优势
UEFI启动方式相对于传统的BIOS引导方式,其优势主要表现在以下几个方面:
(1)速度更快:UEFI的引导速度比传统的BIOS引导快很多,主要原因是UEFI代码更简洁,且引导过程更加优化。
(2)提供更友好的用户接口:UEFI拥有更加友好的图形化用户界面,在BIOS界面时代,用户只能通过键盘进行操作,而使用UEFI界面后用户可以通过鼠标来操作。而且UEFI也支持语音和触摸板等操作方式。
(3)能够支持更大的硬盘空间:传统BIOS只能支持2.2TB的硬盘空间,而UEFI可以支持最大容量达到9.4 zettabytes(94亿TB)。
(4)提供更强大的安全性能:UEFI引导方式下可以使用Secure Boot技术,它可以使得机器启动时只能加载受信任的启动程序,从而提供了更高的系统安全性。
3、UEFI固件栈
UEFI启动方式中,UEFI固件栈是一个很重要的概念。UEFI固件栈是一个由多个UEFI Driver所组成的栈。在UEFI启动时,UEFI固件会遵循UEFI固件栈的规则去枚举所有设备,加载所有的驱动程序。操作系统也可以使用UEFI API来访问UEFI固件栈来与硬件进行交互。
UEFI固件栈中的驱动由UEFI厂商自行开发,因此不同的计算机厂商可能会提供不同的UEFI固件驱动,而这些驱动都会被集成到其UEFI固件栈中。另外,UEFI中还有UEFI Shell,用户可以直接通过它来进行UEFI环境下的命令行操作。
4、UEFI启动与操作系统
在UEFI启动方式下,UEFI固件会加载操作系统的引导管理程序(Boot Manager),引导管理程序的作用就是根据用户设置的操作系统引导顺序来选择对应的操作系统进行引导。因此,如果需要在UEFI启动方式下安装和启动多个操作系统,需要在引导管理程序中进行设置。
而在操作系统启动过程中,需要通过UEFI API来与UEFI固件栈进行交互,操作系统可以通过UEFI API获取系统的硬件信息、UEFI Boot Manager配置信息、UEFI变量信息以及操作系统内核等信息。