Legacy和UEFI,MBR和GPT的区别

Legacy和UEFI指的是系统引导方式(Legacy为传统BIOS,UEFI为新式BIOS),MBR和GPT指的是磁盘分区表类型。

一般情况下都是Legacy+MBR, UEFI+GPT这两种组合。

Legacy用的是8086汇编,UEFI 99%以上用C,UEFI的APP和Drives可以用C/C++。
64位的UEFI固件是64位的操作系统(少数二合一平板用32位UEFI固件的可以忽略不计),Legacy是16位的。
Legacy是直接针对底层硬件细节,UEFI通过Firmware-OS Interface、Boot Services、Runtime Services为操作系统和引导器屏蔽了底层硬件的细节。
UEFI可以扩展,大多数硬件加载UEFI的驱动模块就可以完成初始化,驱动模块可以放在固件中,也可以放在设备上,比如显卡的GOP,系统启动就自动加载。UEFI中的每个Table和Protocol都有版本号,可以平滑升级。开发者可以自己根据规范开发UEFI应用程序和驱动程序。
UEFI基于time的异步操作,提高了CPU的效率,减少了等待时间。
UEFI舍弃了中断这种外部设备操作方式,仅保留了时钟中断,操作外部设备采用事件+异步操作,启动的时候按需加载外部设备。
UEFI有个安全启动功能,只有当程序的证书被信任才会被执行。

在UEFI模式下启动,启动的是EFI驱动和应用程序,而且只要系统一启动,就直接是64位的了。(少数二合一平板32位的UEFI固件忽略不计)

那么如果选择UEFI模式启动,所有的16位的MS-DOS实用程序,DOS工具包和其它的维护工具以及32位的应用程序都是无法加载和启动的。UEFI必须安装使用64位系统!
所以在UEFI模式下,我们不能引导32位的系统。
但是呢,在Legacy模式下呢,16位的DOS工具包、32位的程序和系统、64位的都可以OK。
本文只讨论原生UEFI和原生BIOS。
至于带有CSM兼容模块的UEFI本身就是UEFI+BIOS的结合体,自然全兼容没话说。

至于分区表,接下来慢慢说这个事。

硬盘一个逻辑扇区有512个字节,硬盘的第一个扇区,也就是0磁道0柱面1扇区,也就是逻辑扇区0,这个扇区就叫做主引导记录,叫MBR(master boot record)翻译成中文就叫(明(M)白(B)人(R)),就是你得弄明白了。

MBR记录了整块磁盘的重要信息,是计算机开机后访问磁盘时所必须要读取的首个扇区。主要有三个部分:

  1. 主引导分区(Master Boot Record,MBR):主要作用是检查分区表是否正确,并且在系统硬件完成自检以后将控制权交给磁盘上的引导程序(如GNU,GRUB)
  2. 分区表(partition table):占据64个字节,可以对四个分区的信息进行描述,其中每个分区的信息占据16个字节
  3. 结束标志字:0x55AA,最后两个字节,是检验主引导记录是否有效的标志

注:MBR有两个意思,根据语境确定指的是第一个扇区还是主引导分区。

原文地址:https://www.cnblogs.com/nanqiang/p/10852859.html