fedora专题

BIOS、UEFI、EFI、MBR、GPT,不再傻傻分不清楚

【一人一句,和大家打个招呼】

嗨,我是BIOS,我最年长,是个70后,1975年出生,常年混迹于各大主板之上,我大名叫“基本输入输出系统”,英文大名叫“Basic Input Output System”,昵称叫做“白藕丝”,我可是电脑启动时加载的第一个软件!

嗨,我是UEFI,我要和BIOS说声抱歉。俗话说得好,长江水后浪推前浪,尘世上一辈新人换旧人。我是“新人”,BIOS老大哥是那个“旧人”。我的大名叫做“统一可扩展固件接口”,我也有英文大名,叫做“Unified Extensible Firmware Interface”。

嗨,我叫EFI,说来惭愧,我是UEFI的前身,我是个00后,2002年Intel把我创造出来,后来交给了一个公共组织(后称UEFI论坛)来负责维护和管理,为了体现这一重要的“移交”时刻,我也被改名成了Unified EFI,简称便是UEFI啦。

嗨,我是MBR,中文叫做“主引导记录”,英文叫做“Master Boot Record”,我和上面几位仁兄最大的不同是,他们是混主板圈的,我是混硬盘圈的。不夸张地说,我代表了每块硬盘的第一个扇区,准确地说,我代表了每块硬盘的“0柱面0磁头1扇区”。偷偷告诉你,我和BIOS是一伙的,BIOS用来引导电脑,我用来引导分区和操作系统。

嗨,我是GPT,中文名字是“全局唯一标识分区表”,英文名字是“GUID Partition Table”。我也是“新人”,而MBR是我的“旧人”。我知道MBR和BIOS是一伙的,而我和UEFI是一伙的。UEFI的使命是取代BIOS,而我的使命是取代MBR。

【BIOS,记住这些知识点】

(1)BIOS是在主板上的,它可既不在CPU上,也不在硬盘、内存上。

(2)BIOS是被烧在主板上的ROM芯片中的用汇编语言编写的一段程序。

(3)BIOS中包含了基本输入输出程序、机器自检程序,以及系统启动程序。

(4)BIOS会读取CMOS(一个靠主板电源供电的RAM芯片,常有64字节/128字节/256字节等)中的时钟信息和硬件配置信息。

(5)BIOS是服务计算机最底层的硬件的,提供设置与控制功能。

(6)BIOS最主要是做三件事,第一,实现电脑自检(POST),一旦发现问题,BIOS就会发出各种类型的蜂鸣;第二,初始化,包括中断向量、寄存器以及外部设备;第三,也是最关键的,那就是读取存储设备的第一个扇区中的引导记录,也就是MBR。如果找到MBR,则将电脑的控制权移交给MBR,由MBR激活操作系统。

(7)市面上常见的BIOS有Award BIOS、AMI BIOS、Phoenix BIOS、Insyde BIOS。

(8)系统自检时,如果报错发出蜂鸣声,则可以根据BIOS的类型,来搜索其手册,查看蜂鸣声“几长几短”所代表的含义。

【MBR,记住这些知识点】

(1)MBR,和BIOS是一伙的,他们一起搭档搞事情。BIOS负责机器硬件层面,MBR负责操作系统和分区层面。

(2)主引导记录,也称为主引导扇区(简称“MBR扇区”,即MBR Sector),也就是磁盘的第0柱面0磁头1扇区。(对于硬盘结构不了解的小伙伴,强烈推荐大家阅读博主写的《机械硬盘的内部结构浅析》

(3)磁盘的一个扇区通常是512字节,也有一些新的硬盘的一个扇区的大小为4096字节。

(4)更具体的,MBR的内容实际占用的是第一个扇区的446字节,然后是4个16字节的“磁盘分区表(DPT:Disk Partition Table)”,最后是2字节的结束标志,这样446 + 4×16+2=512字节,恰好是一个扇区的大小。

(5)MBR常常存在沟通上的误解。在书籍中,在与人沟通中,我们要审慎地判断其说的MBR,到底是指第一个扇区的整个512字节内容,还是专指前446字节的内容。

(6)MBR(往后看会发现,这里的MBR指的是整个512字节内容哦)中记录着硬盘本身的相关信息以及硬盘各个分区的大小及位置信息,所以MBR一旦被破坏,我们就无法正常找到分区,也就无法正常引导操作系统了。

(7)MBR的缺陷在于,其仅能支持不超过2.2TB的硬盘。有些硬盘厂商将扇区大小从512字节提升到4096字节,可以让MBR支持的硬盘大小达到16TB,但这却引入了如何合理充分利用磁盘空间的困惑。所以,这并不是一个最佳的解决方案。(稍后下文请看GPT方案,那才是最佳方案)

【UEFI,记住这些知识点】

(1)UEFI,是为了替代BIOS而来的。

(2)UEFI是模块化的,用C语言开发的,是动态链接的形式。比BIOS的设计理念要先进得多。

(3)UEFI,有时也被叫做UEFI BIOS,是因为UEFI是为了取代BIOS的,故而有些人就把UEFI加到了BIOS前面,其实这是一个很误导人的叫法。

(4)UEFI,也是存储于主板中的ROM中的程序,它比BIOS高级的地方在于UEFI采用了枚举方式加载硬件驱动,灵活性极高。

(5)UEFI,在最后一步,会调取GPT,来加载硬盘分区,比BIOS高级的地方在于UEFI+GPT的方式可以支持大于2.2TB的硬盘,而BIOS+MBR却不行。

【GPT,记住这些知识点】

(1)GUID,即全局唯一标识符,Globally Unique Identifier,128位的数字标识符,GUID 的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中每个 x 是 0-9 或 a-f 范围内的一个十六进制数。例如:C12A7328-F81F-11D2-BA4B-00A0C93EC93B 即为一个有效的 GUID 值。

(2)GPT,旨在取代MBR,让系统对硬盘大小的支持限制突破2.2TB,可以支持到9.4ZB。

(3)GPT,是一种对硬盘进行分区的标准,它是UEFI标准的一部分,与UEFI合作完成电脑启动的过程。

(2)MBR中存储着系统引导程序、分区信息。而在GPT格式的硬盘中,处于兼容性考虑,第一个扇区仍然存储了一份MBR(称为保护MBR),而之后则是GPT头,GPT头里面存储着分区信息。

(3)GPT,如其名字所示,它通过GUID来天然的实现了分区间的数据权限,即数据安全性,这是MBR所无法原生支持的。