EFI 和 BIOS

BIOS=Basic Input/Output System 基本输入输出系统

EFI=Extensible Firmware Interface 可扩展固件接口

两者都是用以把计算机从通电后的状态引导到操作系统的作用。

EFI是运行在32位或者64位模式的,BIOS是16位的。

一个显著的区别是EFI非常模块化,比BIOS容易实现多。BIOS是挂载真实硬件的中断来实现的硬件功能,而EFI则是挂载驱动的方式,更加接近与一个操作系统的感觉。EFI的代码不是如同BIOS那样,直接可以被cpu运行,而是需要EFI驱动的虚拟机来执行,用的是EFI Byte Code。这是一组专用于EFI驱动的虚拟机器指令,必须在EFI驱动运行环境(Driver Execution Environment,或DXE)下被解释运行。这就保证了充分的向下兼容性。一个带有EFI驱动的扩展设备,既可以将其安装在安腾处理器的系统中,也可以安装于支持EFI的新PC系统中,而它的EFI驱动不需要重新编写。这样就无需对系统升级带来的兼容性因素作任何考虑。这是EFI对于BIOS来说的最大的优势,BIOS的开发简直是噩梦,如果要在BIOS上加上个usb支持,都曾经让许多厂家头疼不已。

Apple的Mac系列电脑应该是最早使用起EFI的。许多人可能觉得,有必要把一个开机引导搞得那么强大么?我个人使用感觉是,需要。因为以前的时候,我要引导一下多系统,或者要修复一下系统,把开机引导改变一下之类的事情,BIOS还是比较麻烦的,现在EFI通电后就有鼠标键盘网络的支持,对于不管是对计算机熟悉还是不熟悉的人都非常方便而且美观许多。

当然,EFI的功能非常强大,我也只是一知半解的在使用者的层面。顺便说一句,windows也早就支持EFI了,只是我们的硬件厂商似乎还是对BIOS念念不忘阿~哈哈