BIOS~ "Basic Input/Output System",即“基本输入/输出系统”,是一种“固件”,负责在开机时做硬件启动和检测等工作,并且担任操作系统控制硬件时的中介角色。
两种启动模式
其中BIOS设置中,有两种让进入系统的方法,分别是UEFI和Legacy。
其中(Legacy)BIOS是传统式的,而UEFI(Unified Extensible Firmware Interface)是后来发展出的可扩展固件接口,与legacy BIOS相比,UEFI最大的几个区别在于:
- 编码99%都是C语言完成的;
- 一改之前的中断、硬件端口操作的方法,而采用了Driver/protocol的新方式;
- 将不支持X86实模式,而直接采用Flat mode(也就是不能用DOS了,现在有些EFI或UEFI能用是因为做了兼容,但实际上这部分不属于UEFI的定义了);
- 输出也不再是单纯的二进制code,改为Removable Binary Drivers;
- OS启动不再调用Int19,而是利用protocol/device Path;
- 对于第三方的开发,前者基本做不到,除非参与BIOS的设计,但是还要受到ROM的大小限制,而后者就便利多了。