zoukankan      html  css  js  c++  java
  • UEFI、BIOS、GPT、MBR等概念的辨析

    (本文转移自本人的旧博客)

    从各个地方包括知乎,Wiki,CSDN搜索到的一些整理,这些概念极易混淆。

    先说互相的关系

    1. BIOS和UEFI是两种固件接口标准
    2. MBR和GPT是两种分区表
    3. 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中的引导程序,通过其引导操作系统。

    易混淆的点

    1. Legacy mode=BIOS + MBR分区表;UEFI mode=UEFI + GPT分区表
    2. GUID并不是针对于GPT的一个名词,在 Windows 平台上,GUID 广泛应用于微软的产品中,用于标识如注册表项、类及接口标识、数据库、系统目录等对象。
    3. 现在常见的主板都能包括BIOS和UEFI两种标准,并提供两种启动模式
    4. Legacy+MBR模式可以安装任何系统,支持磁盘分区为MBR结构,也就是说必须要有主分区,且主分区必须要有系统;而UFEI+GPT只支持64位系统,磁盘分区必须为GPT结构,也就是说esp分区必须有引导文件。
    5. win7在使用UEFI启动安装时会出现很多问题,但是并非不能安装
  • 相关阅读:
    WCF Server Console
    Restart IIS With Powershell
    RestartService (recursively)
    Copy Files
    Stopping and Starting Dependent Services
    多线程同步控制 ManualResetEvent AutoResetEvent MSDN
    DTD 简介
    Using Powershell to Copy Files to Remote Computers
    Starting and Stopping Services (IIS 6.0)
    java中的NAN和INFINITY
  • 原文地址:https://www.cnblogs.com/molinchn/p/13228052.html
Copyright © 2011-2022 走看看