BIOS中的UEFI和Legacy启动模式
BIOS即Basic Input/Output System,翻成中文是“基本输入/输出系统”,是一种所谓的“固件”,负责在开机时做硬件启动和检测等工作,并且担任操作系统控制硬件时的中介角色。
其中BIOS设置中,有两种让他启动进入系统的方法,分别是为UEFI和Legacey
其中(Legacy)BIOS是传统式的,而UEFI(Unified Extensible Firmware Interface)是后来发展出的可扩展固件接口,与legacy BIOS 相比,UEFI最大的几个区别在于:
1. 编码99%都是由C语言完成;
2. 一改之前的中断、硬件端口操作的方法,而采用了Driver/protocol的新方式;
3. 将不支持X86实模式,而直接采用Flat mode(也就是不能用DOS了,现在有些 EFI 或 UEFI 能用是因为做了兼容,但实际上这部分不属于UEFI的定义了);
4. 输出也不再是单纯的二进制code,改为Removable Binary Drivers;
5. OS启动不再是调用Int19,而是直接利用protocol/device Path;
6. 对于第三方的开发,前者基本上做不到,除非参与BIOS的设计,但是还要受到ROM的大小限制,而后者就便利多了。
7.弥补BIOS对新硬件的支持不足的问题
从开机流程看他们的不同:
大家都知道Win8系统相对于Win7系统在开机速度上有相当大的提升,这是因为Win8系统为了提升系统性能和对硬件的优化,加入了诸如开机引导及应用预缓存等技术。而其中的UEFI BIOS引导,则能使平台开机更智能,开机速度更快。 让我们来看一下他们的开机到进入系统的区别:
这个是传统的Legacy运行流程:
这个是UEFI运行流程:
对比采用传统BIOS引导启动方式,UEFI BIOS减少了BIOS自检的步骤,节省了大量的时间,从而加快平台的启动。
两种模式分别对应的硬盘分区格式
在Legacy启动模式中,硬盘分区格式应该为MBR格式;
在UEFI启动模式中,硬盘分区格式应该为GUID(GPT)格式。