UEFI、BIOS、GPT、MBR等概念的辨析
(本文转移自本人的旧博客)
从各个地方包括知乎,Wiki,CSDN搜索到的一些整理,这些概念极易混淆。
先说互相的关系
- BIOS和UEFI是两种固件接口标准
- MBR和GPT是两种分区表
- Legacy模式和UEFI模式是两种启动模式
然后说概念
BIOS
IBM推出的业界标准的固件接口,存储于主板的ROM/EEPROM/flash中,提供的功能包括:
开机自检
加载引导程序(MBR中的,通常是bootloader的第一级)
向OS提供抽象的硬件接口
PS:CMOS是PC上的另一个重要的存储器,用于保存BIOS的设置结果,CMOS是RAM。
UEFI
Unified Extensible Firmware Interface,架设在系统固件之上的软件接口,用于替代BIOS接口,EFI是UEFI的前称。
一般认为,UEFI由以下几个部分组成:
Pre-EFI初始化模块
EFI驱动程序执行环境(DXE)
EFI驱动程序
兼容性支持模块(CSM)
EFI高层应用
GUID磁盘分区表(GPT)
通常初始化模块和DXE被集成在一个ROM中;EFI驱动程序一般在设备的ROM中,或者ESP中;EFI高层应用一般在ESP中。CSM用于给不具备UEFI引导能力的操作系统提供类似于传统BIOS的系统服务。
MBR分区表
传统的分区方案(称为MBR分区方案)是将分区信息保存到磁盘的第一个扇区(MBR扇区)中的64个字节中,每个分区项占用16个字节,这16个字节中存有活动状态标志、文件系统标识、起止柱面号、磁头号、扇区号、隐含扇区数目(4个字节)、分区总扇区数目(4个字节)等内容。由于MBR扇区只有64个字节用于分区表,所以只能记录4个分区的信息。这就是硬盘主分区数目不能超过4个的原因。后来为了支持更多的分区,引入了扩展分区及逻辑分区的概念。但每个分区项仍用16个字节存储。
主分区数目不能超过4个的限制,很多时候,4个主分区并不能满足需要。另外最关键的是MBR分区方案无法支持超过2TB容量的磁盘。因为这一方案用4个字节存储分区的总扇区数,最大能表示2的32次方的扇区个数,按每扇区512字节计算,每个分区最大不能超过2TB。磁盘容量超过2TB以后,分区的起始位置也就无法表示了。在硬盘容量突飞猛进的今天,2TB的限制早已被突破。由此可见,MBR分区方案现在已经无法再满足需要了。
GPT分区表
一种由基于 Itanium 计算机中的可扩展固件接口 (EFI) 使用的磁盘分区架构。与主启动记录(MBR) 分区方法相比,GPT 具有更多的优点,因为它允许每个磁盘有多达 128 个分区,支持高达 18 千兆兆字节的卷大小,允许将主磁盘分区表和备份磁盘分区表用于冗余,还支持唯一的磁盘和分区 ID (GUID)。
GUID 分区表 (GPT) 磁盘分区样式支持最大卷为 18 EB(exabytes,1EB=1024PB,1PB=1024TB,1TB=1024GB,1GB=1024MB,1MB=1024KB。18EB=19 327 352 832GB) 并且每磁盘最多有 128 个分区。
与 MBR 分区的磁盘不同,至关重要的平台操作数据位于分区,而不是位于非分区或隐藏扇区。另外,GPT 分区磁盘有多余的主要及备份分区表来提高分区数据结构的完整性。
Legacy mode
即通过MBR/BIOS进行引导的传统模式,流程如下:
BIOS加电自检(Power On Self Test -- POST)。
读取主引导记录(MBR)。BIOS根据CMOS中的设置依次检查启动设备:将相应启动设备的第一个扇区(也就是MBR扇区)读入内存。
检查MBR的结束标志位是否等于55AAH,若不等于则转去尝试其他启动设备,如果没有启动设备满足要求则显示"NO ROM BASIC"然后死机。
当检测到有启动设备满足要求后,BIOS将控制权交给相应启动设备的MBR。
根据MBR中的引导代码启动引导程序。
UEFI mode
UEFI启动不依赖于Boot Sector(比如MBR),大致流程如下:
Pre-EFI初始化模块运行,自检
加载DXE(EFI驱动程序执行环境),枚举并加载EFI驱动程序(设备ROM或ESP中)
找到ESP中的引导程序,通过其引导操作系统。
易混淆的点
- Legacy mode=BIOS + MBR分区表;UEFI mode=UEFI + GPT分区表
- GUID并不是针对于GPT的一个名词,在 Windows 平台上,GUID 广泛应用于微软的产品中,用于标识如注册表项、类及接口标识、数据库、系统目录等对象。
- 现在常见的主板都能包括BIOS和UEFI两种标准,并提供两种启动模式
- Legacy+MBR模式可以安装任何系统,支持磁盘分区为MBR结构,也就是说必须要有主分区,且主分区必须要有系统;而UFEI+GPT只支持64位系统,磁盘分区必须为GPT结构,也就是说esp分区必须有引导文件。
- win7在使用UEFI启动安装时会出现很多问题,但是并非不能安装
UEFI、BIOS、GPT、MBR等概念的辨析的更多相关文章
- GPT vs MBR 分区 ,,, Legacy BIOS vs UEFI BIOS
MBR与GPT两种磁盘分区格式的区别 http://itoedr.blog.163.com/blog/static/120284297201378114053240 GPT Partition Tab ...
- BIOS、MBR、UEFI和GPT关系
很多用户在新买电脑,或是给已有电脑重装系统时都出现过怎么都无法引导U盘安装的情况.究其原因,还是没能搞清楚BIOS.MBR.UEFI和GPT的复杂关系.所以,今天小编就和大家分享一下它们之间的爱恨情仇 ...
- UEFI +、GPT 、BIOS 、 MBR的关系
1.传统的主板就是传统 BIOS,可在使用 MBR 分区表的硬盘(俗称 MBR磁盘,就是传统常用的模式)上安装32或64位操作系统.同时也支持使用 GUID 分区表的硬盘(俗称GPT磁盘),但该硬盘上 ...
- BIOS 搭配 MBR/GPT 的开机流程
鸟哥私房菜书上内容: BIOS 搭配 MBR/GPT 的开机流程 在计算机概论里面我们有谈到那个可爱的BIOS与CMOS两个东西, CMOS是记录各项硬件参数且嵌入在主板上面的储存器,BIOS则是一个 ...
- 对“传统BIOS”与“EFI/UEFI BIOS”的基本认识
硬盘(MBR磁盘)分区基本认识+Windows启动原理 大家常会看到硬盘分区中这样的几种说法:系统分区.启动分区.活动分区.主分区.拓展分区.逻辑分区,MBR.PBR.DPT.主引导扇区等.尤其是看到 ...
- UEFI和GPT
好就没用linux了,这几天在win8笔记本上用虚拟机装了下,也准备装到硬盘上和win8双系统使用,发现一些概念已经跟不上时代了. 一个是在虚拟机中装的时候,分配了虚拟硬盘分区时,提示选择分区表类型, ...
- UEFI BIOS Rootkit Analysis
catalog . BIOS简介 . UEFI BIOS . EFI编程简介 . UEFI Rootkit 1. BIOS简介 BIOS("Basic Input Output System ...
- UEFI和GPT下硬盘克隆后的BCD引导修复
UEFI和GPT下硬盘克隆后的BCD引导修复-Storm_Center http://www.stormcn.cn/post/1901.html 当硬盘引导换成GPT,系统启动也变成UEFI后,如果直 ...
- EFI/UEFI BIOS启动
全局唯一标识分区表(GUID Partition Table,缩写:GPT)是一个实体硬盘的分区结构.它是可扩展固件接口标准的一部分,用来替代BIOS中的主开机纪录分区表.但因为MBR分区表不支持容量 ...
随机推荐
- ZoneJS 的原理与应用
目录 序言 Zone 是什么 ZoneJS 的原理 ZoneJS 的应用场景 参考 1. 序言 ZoneJS 是 Angular 团队受到 Dart 的 Zone 的启发,为 Angular v2 及 ...
- C#LeetCode刷题-队列
队列篇 # 题名 刷题 通过率 难度 363 矩形区域不超过 K 的最大数值和 27.2% 困难 621 任务调度器 40.9% 中等 622 设计循环队列 C#LeetCode刷题之#622 ...
- C#LeetCode刷题之#441-排列硬币(Arranging Coins)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3995 访问. 你总共有 n 枚硬币,你需要将它们摆成一个阶梯形状 ...
- 动态规划算法详解 Dynamic Programming
博客出处: https://blog.csdn.net/u013309870/article/details/75193592 前言 最近在牛客网上做了几套公司的真题,发现有关动态规划(Dynamic ...
- python设计模式之模板模式
python设计模式之模板模式 编写优秀代码的一个要素是避免冗余.在面向对象编程中,方法和函数是我们用来避免编写冗余代码的重要工具. 现实中,我们没法始终写出100%通用的代码.许多算法都有一些(但并 ...
- 计算itable的大小
在ClassFileParser::parseClassFile()函数中计算vtable和itable所需要的大小,之前已经介绍过vtable大小的计算,这一篇将详细介绍itable大小的计算过程. ...
- (转载)sqlserver2008”备份集中的数据库备份与现有的XX数据库不同”解决办法
原文链接:https://www.cnblogs.com/huangfr/archive/2012/08/09/2629687.html 因为是在另一台电脑对同名数据库做的备份,用常规方法还原,提示不 ...
- 《Java从入门到失业》第二章:Java环境(四):IDE集成环境
2.4IDE集成环境 在掌握了编写.编译和运行Java程序的基本步骤以后,你肯定就在想,这太麻烦了,有没有更好的工具?当然有了,那就是IDE.IDE就是专业的集成开发环境(Integrated Dev ...
- Distributional Reinforcement Learning with Quantile Regression
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! arXiv:1710.10044v1 [cs.AI] 27 Oct 2017 In AAAI Conference on Artifici ...
- Typora--我用过的最好用的markdown编辑器
Typora Markdown编辑器,让人专注于书写的编辑器,书写博客和笔记的不二之选! 之前使用过程中只是使用了默认的功能,没有进行任何的第三发查件使用,各种方面出现了很多的局限性,比如插入了图片之 ...