找回密码
注册 登录
查看: 2045|回复: 3

谈谈BIOS与EFI,MBR与GPT的关系

[复制链接]

该用户从未签到

发表于 2019-3-21 10:19:25 | 显示全部楼层 |阅读模式
BIOS的全称为"Basic Input Output System",意思为“基本输入输出系统”。
最初是由Gary Kildall发明,第一次出现是在1975年的CP/M操作系统中。描述CP/M的机器特定部分启动时,接口直接加载的硬件。(一个CP/M机器的ROM中通常只有一个简单的引导加载程序)。
多种版本的MS-DOSPC-DOSDR-DOS含有一个被称为"IO.SYS”,“IBMBIO.COM”,“IBMBIO.SYS”或“ DRBIOS.SYS”等名字的文件;这个文件就是所谓的“DOSBIOS”(也称为“DOS I/O系统”),它包含操作系统中的较低级别的硬件指定的部分。它与底层硬件特有的,但独立于操作系统的固化在ROM的“系统BIOS”,共同它代表了“CP/M BIOS”。
通过引入PS / 2的机器,IBM将系统BIOS分为真实模式和保护模式部分。真实模式部分是为了提供与现有的操作系统,如DOS的向后兼容性,因此被命名为“CBIOS”(用于兼容性BIOS),而“ABIOS”(高级BIOS)则提供适合多任务处理的新的操作系统如OS/2的接口。
英特尔公司从2000年开始,发明了可扩展固件接口(Extensible Firmware Interface),简称EFI,用以规范BIOS的开发。而支持EFI规范的BIOS也被称为EFI BIOS。之后为了推广EFI,业界多家著名公司共同成立了统一可扩展固件接口论坛(UEFI Forum),英特尔公司将EFI 1.1规范贡献给业界,用以制订新的国际标准UEFI规范。目前UEFI规范的最新版本是2.3.1,英特尔公司曾经预测,2010年,全世界或有有60%以上的个人电脑使用支持UEFI规范的BIOS产品。
说到这里,不得不提一个新名词“安全启动”,英文为” Secure Boot”
Secure Boot只是UEFI的一个部分。一定要注意两者的关系是局部与整体的关系,也就是说有“安全启动”的主板一定支持EFI,但是EFI的主板不一定需要“安全启动”。
    Secure Boot的目的,是防止恶意软件侵入。它的做法就是采用密钥。UEFI规定,主板出厂的时候,可以内置一些可靠的公钥。然后,任何想要在这块主板上加载的 操作系统或者硬件驱动程序,都必须通过这些公钥的认证。也就是说,这些软件必须用对应的私钥签署过,否则主板拒绝加载。由于恶意软件不可能通过认证,因此 就没有办法感染Boot
这个设想是好的。但是,UEFI没规定哪些公钥是可靠的,也没规定谁负责颁发这些公钥,都留给硬件厂商自己决定。现在,微软就是要求,主板厂商内置Windows 8/8.1/10的公钥。
首先明确,在不打开Secure Boot的情况下,Windows 8/8.1/10可以安装。这与安装以前版本的Windows没有差别。
    但是,微软规定,所有预装Windows 8/8.1/10的厂商(即OEM厂商)都必须打开Secure Boot。因此,消费者购买一台预装Windows 8/8.1/10的台式机或笔记本,想要在上面再安装其他操作系统(包括以前版本的Windows)是不可能的,除非关闭Secure Boot,或者其他操作系统能够通过Windows 8/8.1/10公钥的认证。
如果选择关闭Secure Root,那么预装的Windows 8/8.1/10将无法使用,需要重新安装。
Secure Boot规格的本意是,让操作系统厂商自行选择公钥,通过认证。但是实际上,只有微软公司才有能力,让主板厂商内置它的公钥,其他公司都不具备这种能力。
    根据微软针对OEM厂商的一则规定,Windows 8/8.1/10要求PC电脑采用UEFI(统一可扩展固件接口),这个接口将会替代PC机诞生以来历史悠久的BIOS固件设置。关于UEFI这个标准接口,是支持 WindowsLinux OS X 操作系统的,只是微软要求预装Windows 8/8.1/10 PC电脑需要支持安全性启动机制,启动过程中涉及到的软件/固件都必须打上CA数字签名,这样,对于Linux 这种开源的无签名的系统就会直接阻止。
    因此,如果要在打开Secure Boot的主板上安装Linux系统,这个系统就必须通过Windows 8/8.1/10的认证。
    目前,微软公司把Win8的数字签名外包给了Verisign。操作系统厂商想要通过认证,就必须花钱向Verisign买一张数字证书,嵌入自家的操作系统。
    最新动态是,Linux的各个发行版之中,Ubuntu已经购买了数字证书,FedoraSUSE计划购买,其他发行版还没做出决定。
    因此,在预装Windows 8/8.1/10的电脑上安装Linux(或其他操作系统)的最佳做法,就是进入BIOS,关闭Secure Boot。但是,这意味着你花钱买来的Windows 8/8.1/10将无法使用。
目前看上去,Linux购买Windows8的数字证书,是眼下唯一可行的相对容易的解决方法。但是,这种做法不可接受。
下面来讲讲Windows操作系统支持的BIOSEFI引导情况,用一张表格来看一下。(请注意:BIOS可以看作为16位环境;但EFI又分为32位和64位两个环境,操作系统的位宽需要与EFI的位宽相同。)
XP
Vista
Win7
Win8/8.1/10
BIOS
EFI
x64
x64
需要注意的是VistaWin7不支持“安全启动”。
再来看看Windows操作系统与MBRGPT的关系。
我们通常说的MBRGPT,一般指的是分区表的类型。
传统的分区方案(称为MBR分区方案)是将分区信息保存到磁盘的第一个扇区(MBR扇区)中的64个字节中,每个分区项占用16个字节,这16个字节中存有活动状态标志、文件系统标识、起止柱面号、磁头号、扇区号、隐含扇区数目(4个字节)、分区总扇区数目(4个字节)等内容。由于MBR扇区只有64个字节用于分区表,所以只能记录4个分区的信息。这就是硬盘主分区数目不能超过4个的原因。后来为了支持更多的分区,引入了扩展分区及逻辑分区的概念。但每个分区项仍用16个字节存储。
主分区数目不能超过4个的限制,很多时候,4个主分区并不能满足需要。另外最关键的是MBR分区方案无法支持超过2TB容量的磁盘。因为这一方案用4个字节存储分区的总扇区数,最大能表示232次方的扇区个数,按每扇区512字节计算,每个分区最大不能超过2TB。磁盘容量超过2TB以后,分区的起始位置也就无法表示了。在硬盘容量突飞猛进的今天,2TB的限制早已被突破。由此可见,MBR分区方案现在已经无法再满足需要了。
GPT分区表是一种由基于 Itanium 计算机中的可扩展固件接口 (EFI) 使用的磁盘分区架构。与主启动记录(MBR) 分区方法相比,GPT 具有更多的优点,因为它允许每个磁盘有多达 128 个分区,支持高达 18 千兆兆字节的卷大小,允许将主磁盘分区表和备份磁盘分区表用于冗余,还支持唯一的磁盘和分区 ID (GUID)。  与支持最大卷为 2 TB (terabytes) 并且每个磁盘最多有 4 个主分区(或 3 个主分区,1 个扩展分区和无限制的逻辑驱动器)的主启动记录 (MBR) 磁盘分区的样式相比,GUID 分区表 (GPT) 磁盘分区样式支持最大卷为 18 EB (exabytes1EB=1024PB1PB=1024TB1TB=1024GB1GB=1024MB1MB=1024KB18EB=19 327 352 832GB) 并且每磁盘最多有 128 个分区。与 MBR 分区的磁盘不同,至关重要的平台操作数据位于分区,而不是位于非分区或隐藏扇区。另外,GPT 分区磁盘有多余的主要及备份分区表来提高分区数据结构的完整性。
Windows全系列操作系统支持MBR的读取及引导,但是GPT的读取和引导有一些不同。
32位的XP系统不支持GPT的读取及引导,但是可以通过替换2003系统里的disk.sys驱动文件来达到识别GPT分区的目的,但依旧不支持GPT引导。而64位的XP和全部的2003系统则支持GPT分区的读取但不支持引导。
Vista开始就支持GPT分区的读取及引导了。
其实32位的XP内核版本号是5.1,而64位的XP和全部的2003的内核版本号则为5.2
所以我们可以这样说:从Windows 5.2开始支持GPT的读取但不支持引导,从Windows 6.0开始支持GPT的读取及引导。
知道了这么多信息,其实还要注意一点,GPT的引导是需要主板的EFI环境,这是硬性条件。(当然还有一种复杂的改造的MBRGPT的混合磁盘,这种就比较复杂及特殊了,这里就不介绍了。)

评分

参与人数 2金钱 +2 贡献 +1 收起 理由
丿不明生物、 + 1
newboy4 + 1 + 1 很给力!

查看全部评分





上一篇:刚动总裁官网下载的新系统WIN7 64位的,装完系统C盘45G空间直接剩下了4个G,这是什.
下一篇:大神帮我指点指点
  • TA的每日心情
    开心
    2021-1-16 07:24
  • 签到天数: 155 天

    [LV.7]常住居民III

    发表于 2019-3-22 09:50:08 | 显示全部楼层
    不错,科普一下,谢谢了。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    19 小时前
  • 签到天数: 2283 天

    [LV.Master]伴坛终老

    发表于 2019-3-23 09:51:17 | 显示全部楼层
    欢迎楼主分享!点个赞!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2019-3-27 22:10:31 | 显示全部楼层
    好文,很多知识点,很多人都没搞清
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则