UEFI与BIOS、GPT与MBR的区别

article/2025/9/25 6:28:24

  版权声明未经作者允许,严禁用于商业出版,否则追究法律责任。网络转载请注明出处,这是对原创者的起码的尊重!!!


1 磁盘分区格式

  一般来说,磁盘分区表有两种格式:MBR和GPT。

1.1 MBR

这里写图片描述

  • 磁盘的0号扇区(第一个扇区)也叫主引导扇区,它包含主引导程序、分区表DPT、硬盘有效标志。

    • 早期磁盘的扇区大小为512B
    • 主引导程序:记录主引导加载程序,也叫第一阶段引导加载程序(Initial Program Loader,IPL),446B。主要作用是:

      • 检查硬盘分区表是否完好。
      • 在分区表中寻找可引导的“活动”分区。
      • 将活动分区的第一逻辑扇区内容(也叫分区引导记录,PBR)装入内存。在DOS分区中,此扇区内容称为DOS引导记录(DBR)。
    • 分区表:记录整块磁盘的分区状态,64B。

    • 有效标志:2B。
  • 分区表(DPT):分区表只能记录4个记录,每个记录为16B。记录了每个分区的起始和结束柱面号磁头号、扇区号、柱面号,分区激活标志,文件系统类型,相对扇区号,总扇区数目。因此磁盘最多只能有4个主分区,每个主分区可以划分为若干个逻辑分区。主分区划分逻辑分区后就叫做扩展分区扩展分区不能格式化且最多只能有一个,在其前几个扇区记录了逻辑分区的信息。每个记录的格式如下:

    起始字节偏移量内容
    01分区的激活标志,表示系统可引导;一般为80
    13起始磁头号、起始扇区号、起始柱面号
    41分区的系统类型,0B(FAT32),04(FAT16)、07(NTFS);
    53结束磁头号、结束扇区、结束柱面号
    84相对扇区号,从磁盘开始到该分区开始的位移,以扇区计算
    124总扇区数,最大容量为232x512B=2TB
  • MBR分区的缺点

    • MBR分区表不支持容量大于2.2TB的分区(一些硬盘制造商将他们的容量较大的磁盘升级到了4KB的扇区,这意味着MBR的有效容量上限提升到了16 TB)
    • MBR 仅有一个扇区,若被破坏后,经常很难恢复。
    • MBR 内的存放开机管理程序的区块仅 446bytes,无法容纳较多的程序代码。

1.2 GPT

  因为过去一个扇区大小就是512bytes 而已,不过目前已经有 4K 的扇区设计出现!为了兼容于所有的磁盘,因此在扇区的定义上面,大多会使用所谓的逻辑区块地址( LBA)来处理。GPT 将磁盘所有区块以此 LBA(预设为 512B!) 来规划,而第一个 LBA 称为 LBA0 (从0 开始编号)。
  与 MBR 仅使用第一个 512bytes 区块来记录不同, GPT 使用了 34 个 LBA 区块来纪录分区信息!同时与过去MBR仅有一个扇区,被干掉就死光光的情况不同, GPT 除了前面 34 个 LBA 之外,整个磁盘的最后 33 个 LBA 也拿来作为备份!
这里写图片描述

  • LBA0 (PMBR)
      在GPT分区表的最开头,处于兼容性考虑仍然存储了一份传统的MBR(LBA 0),这个MBR叫做保护性MBR(Protective MBR)。
      保护性MBR保护GPT磁盘不受以前发布的MBR磁盘工具的危害。这些工具不能感知GPT,也无法正确地访问GPT磁盘。这些工具通过解释保护性MBR,将GPT磁盘看成一个封装的(可能无法识别)分区,而不是错误地当成一个未分区的磁盘,并且拒绝对硬盘进行操作。这就避免了意外删除分区的危险。
      在支持从GPT启动的操作系统中,这里也用于存储第一阶段的启动代码。在这个MBR中,只有一个标识为0xEE的分区,以此来表示这块硬盘使用GPT分区表。
      在使用MBR/GPT混合分区表的硬盘中,这部分存储了GPT分区表的一部分分区(通常是前四个分区),可以使不支持从GPT启动的操作系统从这个MBR启动,启动后只能操作MBR分区表中的分区。

  • LBA1 (GPT 表头)
      分区表头(LBA 1)定义了硬盘的可用空间以及组成分区表的项的大小和数量。在使用64位Windows Server2003的机器上,最多可以创建128个分区,即分区表中保留了128个项,其中每个都是128字节。(EFI标准要求分区表最小要有16,384字节,即128个分区项的大小)
      分区表头还记录了这块硬盘的GUID,记录了分区表头本身的位置和大小以及备份分区表头和分区表的位置和大小(在硬盘的最后)。它还储存着它本身和分区表的CRC32校验。固件、引导程序和操作系统在启动时可以根据这个校验值来判断分区表是否出错,如果出错了,可以使用软件从硬盘最后的备份GPT中恢复整个分区表,如果备份GPT也校验错误,硬盘将不可使用。以下是分区表头结构的具体信息:

起始字节偏移量内容
08签名(”EFI PART”)
84修订
124分区表头的大小
164分区表头(92B)的CRC32校验,在计算时,先把这个字段写作0处理,然后计算出所有分区表项的CRC32校验后再计算这个CRC32
204保留,必须是 0
248当前LBA(这个分区表头的位置)
328备份LBA(另一个分区表头的位置)
408第一个可用于分区的LBA(主分区表的最后一个LBA + 1)
488最后一个可用于分区的LBA(备份分区表的第一个LBA - 1)
5616硬盘GUID(在类UNIX系统中也叫UUID)
728分区表项的起始LBA(在主分区表中是2)
804最大分区表项的数量(windows是128,没有这么多也先占着空间)
844一个分区表项的大小(通常是128)
884分区表项的CRC32校验(计算的是所有分区表项的检验和即128*128字节)
92420保留,剩余字节必须是0(420字节针对512字节的LBA硬盘)
       
  • LBA2-33 (GPT分区表)
      从LBA2区块开始,每个LBA都可以有4个分区记录,所以在默认的情况下,总共可以有 4*32=128个分区记录(默认最多128个分区)!因为每个LBA有512B,因此每个记录可使用128B的空间。
      一个分区表项的前16字节是分区类型GUID。接下来的16字节是该分区唯一的GUID(这个GUID指的是该分区本身,而之前的GUID指的是该分区的类型)。再接下来是分区起始和末尾的64位LBA编号,以及分区的名字和属性。格式如下:
起始字节偏移量内容
016分区类型GUID
1616分区GUID
328起始LBA(小端格式)
408末尾LBA
488分区属性,

  
  
  类型GUID为固定值,查阅资料可得。下图列举Windows、Linux下常见几种:
类型GUID
类型GUID
  以Windows下基本数据分区为例说明:EBD0A0A2-B9E5-4433-87C0-68B6B72699C7。上述表示形式采用小端表示,其16位的串行表示为:A2A0D0EBE5B9334487C068B6B72699C7,即前三部分倒序表示。
  
  分区属性低位4字节表示与分区类型无关的属性,高位4字节表示与分区类型有关的属性。具体见下图:
分区属性

  • GPT分区优点
    • 可以在GPT分区表头自定义最大分区数;
    • LBA为64位,支持的磁盘容量大;
    • 分区表和分区表头有备份。

2 Leagcy BIOS和UEFI BIOS 的区别

2.1 Leagcy BIOS

  BIOS读入CMOS参数,并识别可开机的设备,POST通过后,找到MBR,并执行初级引导加载程序。初级引导加载程序,检查分区表的完整性,然后确定活动分区,并载入活动分区的PBR,PBR最主要的内容就是启动管理器(bootmgr或者grub),启动管理器根据定位信息找到二级引导加载程序,二级引导加载程序加载内核。如果要启动的系统安装再其他分区则将权力转交给其它分区的二级引导加载程序。

  如果你的分区表为 GPT 格式的话,那么BIOS也能够从 LBA0 的 MBR 兼容区块读取第一阶段的开机管理程序代码, 如果你的开机管理程序能够认识 GPT 的话,那么使用BIOS同样加载内核,如果开机管理程序不懂GPT,例如WindowsXP的环境,那自然就无法加载内核,开机就失败了。

2.2 UEFI BIOS

  虽然GPT可寻址8ZB,也能用较大的区块来处理开机管理程序。但是BIOS不懂GPT!还得要通过GPT提供兼容模式才能够读写这磁盘,而且BIOS仅为16位的程序,在与现阶段新的操作系统接轨方面有点弱掉了!为了解决这个问题,因此就有了UEFI这个统一可延伸固件接口的产生。
  UEFI主要是想要取代BIOS这个固件接口,因此我们也称UEFI为 UEFI BIOS。UEFI 使用C程序语言,比起使用汇编语言的传统BIOS要更容易开发!也因为使 C语言来撰写,因此如果开发者够厉害,甚至可以在UEFI开机阶段就让该系统了解TCP/IP而直接上网!根本不需要进入操作系统耶!这让小型系统的开发充满各式各样的可能性!基本上,传统BIOS与UEFI的差异如下:

比较项目传 BIOSUEFI
使用程序语言汇编语言C 语言
硬件资源控制使用中断管理、不可变内存与IO存取使用驱动程序与协议
处理器运作环境16 位CPU 保护模式
扩充方式透过 IRQ 连结直接加载驱动程序
第三方厂商支持较差较佳且可支持多平台
图形化能力较差较佳
内建简化操作系统前环境不支援支援

  与传统的BIOS不同,UEFI简直就像是一个低阶的操作系统,甚至于连主板上面的硬件资源的管理,也跟操作系统相当类似,只需要加载驱动程序即可控制操作。同时由于程控得宜,一般来说,使用UEFI接口的主机,在开机的速度上要比BIOS来的快上许多!因此很多人都觉得UEFI似乎可以发展成为一个很有用的操作系统耶,不过,关于这个,你无须担心未来除了 Linux 之外,还得要增加学一个 UEFI 的操作系统啦!为啥呢?
  UEFI当初在发展的时候,就制定一些控制在里头,包括硬件资源的管理使用轮询 (polling)的方式来管理,与BIOS直接了解CPU以中断的方式来管理比较, 这种 polling的效率是稍微慢一些的,另外,UEFI并不能提供完整的快取功能,因此执行效率也没有办法提升。不过由于加载所有的UEFI驱动程序之后, 系统会开启一个类似操作系统的shell环境,用户可以此环境中执行任意的UEFI应用程序,而且效果比MSDOS更好。
  所以,因为效果华丽但效能不佳,因此这个UEFI大多用来作为启动操作系统之前的硬件检测、开机管理、软件设定等目的,基本上作为OS是比较难的。 同时,当加载操作系统后,一般来说,UEFI就会停止工作,并将系统交给操作系统,这与早期的BIOS差异不大。比较特别的是,某些特定的环境下,这些UEFI程序是可以部份继续执行的,以协助某些操作系统无法找到特定装置时,该装置还是可以持续运作。
  此外,由于过去cracker经常藉由BIOS开机阶段来破坏系统,并取得系统的控制权,因此UEFI加入了一个所谓的安全启动 (secure boot) 机制, 这个机制代表着即将开机的操作系统必须要被UEFI所验证,否则就无法顺利开机!微软用了很多这样的机制来管理硬件。 不过加入这个机制后,许多的操作系统,包括Linux,就很有可能无法顺利开机喔!所以,某些时刻,你可能得要将UEFI的secure boot 功能关闭, 才能够顺利的进入 Linux 哩!
  另外,与BIOS模式相比,虽然UEFI可以直接取得GPT的分区表,不过最好依旧拥有BIOS boot的支持,同时,为了与windows兼容,并且提供其他第三方厂商所使用的UEFI应用程序储存的空间,你必须要格式化一个vfat的文件系统, 大约提供512MB到1G左右的容量,以让其他 UEFI 执行较为方便。
  由于UEFI已经克服了BIOS的1024柱面的问题,因此你的开机管理程序与内核可以放置在磁盘开始的前2TB位置内即可!加上之前提到的 BIOS boot 以及 UEFI 支持的分区槽,基本上你的/boot目录几乎都是/dev/sda3之后的号码了!这样开机还是没有问题的!所以要注意喔!与以前熟悉的分区状况已经不同,/boot不再是/dev/sda1 !


  版权声明未经作者允许,严禁用于商业出版,否则追究法律责任。网络转载请注明出处,这是对原创者的起码的尊重!!!



http://chatgpt.dhexx.cn/article/RddGn5aI.shtml

相关文章

磁盘分区形式MBR与GPT介绍

磁盘分区形式MBR与GPT介绍 磁盘分区形式有两种: 1、MBR(主启动记录)形式,它是存在于磁盘驱动器开始部分的一个特殊的启动扇区; 2、GPT(GUID分区表)形式,它是一种使用UEFI启动的磁盘…

Legacy和UEFI,MBR和GPT的区别

Legacy和UEFI指的是系统引导方式(Legacy为传统BIOS,UEFI为新式BIOS),MBR和GPT指的是磁盘分区表类型。 一般情况下都是LegacyMBR, UEFIGPT这两种组合。但LegacyGPT,UEFIMBR也可以实现。 Legacy用的是8086汇编,UEFI 99…

BIOS修改mbr为gpt的步骤

之前传统的硬盘分区模式都是mbr,但是现在的win10系统硬件不断扩容,传统分区模式已经不能满足了,所以我们就可以将硬盘mbr改成gpt,那么要如何操作呢?其实方法也不难,针对这个问题,下文小编给大家…

MBR和GPT分区区别

MBR分区和GPT分区区别 总结:UEFI是新式的BIOS,legacy是传统BIOS。你在UEFI模式下安装的系统,只能用UEFI模式引导;同理,如果你是在Legacy模式下安装的系统,也只能在legacy模式下进系统。UEFI只支持64为系统…

详解MBR与GPT分区

1 MBR分区 MBR是Master Boot Record的缩写,是一种旧的分区表格式,用于在硬盘上标识和管理分区。MBR分区表可以标识最多4个主分区或3个主分区和1个扩展分区。 2TB的限制是指,使用MBR分区表格式的硬盘最大只能分区到2TB,因为MBR使…

不支持打开非业务域名htts:....请重新配置

最近做小程序加载html 出现的提示 自己的处理方法是点击右上角的详情 勾选即可

fiddler 抓取 htts 失败

1.清除C:\Users\Administrator\AppData\Roaming\Microsoft\Crypto\RSA 目录下所有文件(首次安装fiddler请忽略) 2.清除电脑上的根证书,WINR快捷键,输入:certmgr.msc, 然后回车,查找所有fiddler证…

Spring cloud Gateway HTTS配置

在Web服务应用中,为了数据的传输安全,使用安全证书,使用TLS/SSL加密。这里就介绍一下Spring Cloud Gateway的HTTPS配置。 7.1 TLS/ SSL配置 TLS:安全传输层协议(TLS)用于在两个通信应用程序之间提供保密性…

漫画:htts是如何保证一台主机把数据安全发给另一台主机

通过漫画的形式由浅入深带你读懂htts是如何保证一台主机把数据安全发给另一台主机的 对称加密 一禅:在每次发送真实数据之前,服务器先生成一把密钥,然后先把密钥传输给客户端。之后服务器给客户端发送真实数据的时候,会用这把密钥…

给网站配置免费的HTTS证书

最近看到网上说 https 的网站 Google 会优先收录,所以就抽时间记录下配置博客的过程。 ACME 使用 LetEncrypt 证书作为博客的 https 实现方式。 acme.sh 实现了 acme 协议, 可以从 letsencrypt 生成免费的证书. github https://github.com/Neilpang/acme.sh 主要步骤…

htts ca 制作

https://www.cnblogs.com/gsls200808/p/4502044.html rm -rf /etc/pki/CA/*.old touch /etc/pki/CA/index.txt echo 01 > /etc/pki/CA/serial echo 02 > /etc/pki/CA/serial rm -rf keys mkdir keys 生成根CA并自签(Common Name填RootCA) openssl genrsa -des3 -out ke…

阿里云服务器nginx配置ssl步骤htts

阿里云服务器中要配置ssl 1.先在服务器安装nginx,安装步骤自行搜索,很多。 2.获取ssl证书,可以参考https://mp.csdn.net/console/editor/html/87912845这篇文章,里面有阿里云的免费证书获取方式。 3.安装好以后打开nginx配置文件。 在里面…

Spring Boot 配置 Https 自己生成htts证书

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/u012702547/article/details/99405309 https 现在已经越来越普及了,特别是做一些小程…

Git 的HTTS和SSH方式的区别和使用

文章目录 前言HTTPS协议模式SSH 协议模式1.确认自己电脑是否拥有SSH密钥:2.生成 SSH 密钥3.将SSH密钥添加到服务器4.利用SSH密钥推送 参考链接: 前言 Git 有两种远程仓库与本地仓库之间 push/clone/pull 等操作的验证模式。一种是 HTTPS 模式&#xff0…

TCP / IP 协议族和HTTS

TCP / IP 协议族 概念 一系列协议所组成一个网络分层模型 为什么要分层? 因为网络的不稳定性 如果我们传一个50M的数据,如果失败,每次都将需要重新传50M,但我们把它分成多块,失败时候只需重新传输失败的那一块。 具…

htts 原理

我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取。所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议。 HTTPS简介 HTTPS其实是有两部分组成:HTTP SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。服务端和…

charles抓htts包总结

参考:Charles问题之抓Android手机应用Https包,出现Unknown - 简书 (jianshu.com)Charles问题之Windows10下抓取https包,出现unknown - 简书 (jianshu.com) 一、安装charles root证书 二、在浏览器安装证书(用以电脑浏览器抓https) 三、手机抓…

htts加密过程

文章目录 HTTPS 什么是HTTPS什么是‘加密’ 加密的方式有哪些 对称加密非对称加密 总结HTTPS传输过程 什么是HTTPS HTTPS与HTTP一样都是应用层协议,与HTTP不同的是:HTTP的协议内容都是按照文本方式进行明文传输的,这导致在传输过程第三方者…

HTTS 为什么更安全?

本文已收录于专栏 ⭐️ 《计算机网络》⭐️ 学习指南: HTTPS引入SSL协议加密方式摘要算法数字证书 SSL/TLS握手经典面试题HTTP 与 HTTPS 区别?HTTPS 目前有哪些不足? 完结散花参考文献 HTTPS 引入 HTTP 最凸出的优点是「简单、灵活和易于扩…

HTTPS安全通信基础

导读HTTPS协议提供了较为完善的方案,HTTPS不是一种新协议,是通过HTTP结合SSL/TSL实现了通信安全。但是HTTPS也有其缺点,所以要结合具体场景情况合理地使用才能发挥HTTPS的强大作用。 HTTP是一个优秀的通信协议,不过事物皆具有双面…