Legacy和UEFI,MBR和GPT的区别

Legacy和UEFI,MBR和GPT的区别Legacy 和 UEFI 指的是系统引导方式 Legacy 为传统 BIOS UEFI 为新式 BIOS MBR 和 GPT 指的是磁盘分区表类型 一般情况下都是 Legacy MBR UEFI GPT 这两种组合 但 Legacy GPT UEFI MBR 也可以实现 Legacy 用的是 8086 汇编 UEFI99 以上用 C UEFI 的 APP 和 Drives 可以用 C C 64 位的 UEFI 固件是 64 位的操作

Legacy和UEFI指的是系统引导方式(Legacy为传统BIOS,UEFI为新式BIOS),MBR和GPT指的是磁盘分区表类型。

一般情况下都是Legacy+MBR, UEFI+GPT这两种组合。但Legacy+GPT,UEFI+MBR也可以实现。

硬盘一个逻辑扇区有512个字节,硬盘的第一个扇区,也就是0磁道0柱面1扇区,也就是逻辑扇区0,这个扇区就叫做主引导记录,叫MBR(master boot record)翻译成中文就叫(明(M)白(B)人(R)),就是你得弄明白了。

MBR记录了整块磁盘的重要信息,是计算机开机后访问磁盘时所必须要读取的首个扇区。主要有三个部分:

  1. 主引导记录(Master Boot Record,MBR):占据446个字节,主要作用是检查分区表是否正确,并且在系统硬件完成自检以后将控制权交给磁盘上的引导程序(如GNU,GRUB)
  2. 分区表(partition table):占据64个字节,可以对四个分区的信息进行描述,其中每个分区的信息占据16个字节
  3. 结束标志字:0x55AA,最后两个字节,是检验主引导记录是否有效的标志

注:MBR有两个意思,根据语境确定指的是第一个扇区还是主引导记录。

下面这个图就是主引导记录:

Legacy和UEFI,MBR和GPT的区别

Legacy和UEFI,MBR和GPT的区别

明白为什么MBR分区表最多为什么只能有4个主分区了吧?

因为每个分区信息需要16个字节,所以对于采用MBR型分区结构的磁盘,最多只能识别4个主(primary)或扩展(extend)分区。扩展分区也是主要分区的一种,但它与主分区的不同在于理论上可以划分为无数个逻辑分区。

主分区和扩展分区

磁盘中最多可以有4个Primary和Extended的扇区,而Extended只能有一个,如果要把磁盘分区成四个分区,那么只能是:

P+P+P+P 或者 P+P+P+E 

上面的情况中, 3P+E只有三个主分区可用,因为Extended不能被格式化作为数据访问的分区,还需要进一步分区成逻辑分区。如果要四个都可用,就需要分区成4P

扩展分区中逻辑驱动器的引导记录是链式的。每一个逻辑分区都有一个和MBR结构类似的扩展引导记录(EBR),其分区表的第一项指向该逻辑分区本身的引导扇区,第二项指向下一个逻辑驱动器的EBR,分区表第三、第四项没有用到

需要注意的问题:

  1. 主分区和扩展分区最多只有四个
  2. 扩展分区最多只能有一个
  3. 逻辑分区是由扩展分区持续切割出来的分区
  4. 只有主分区和逻辑分区才能被格式化作为数据访问的分区
  5. Linux系统默认将前4个序号作为主分区或扩展分区,而逻辑分区的序号肯定从5开始

下图来自Inside the Linux boot process,较为清晰的画出了MBR中各个部分的结构

MBR

GPT分区表位于磁盘的逻辑扇区第2-33号扇区,一共占用32个扇区,能够容纳128 (4*32)个分区表项。每个分区表项大小为128字节,所以Windows系统允许GPT磁盘创建128个主分区。(注:GPT不存在主分区和扩展分区的概念,可以理解为都是主分区。支持几乎无限个分区数量,限制只在于操作系统,如Windows支持最多128个GPT分区。)
分区表项中记录着分区的起始,结束地址,分区类型的GUID,分区的名字,分区属性和分区GUID。
所以说除了MBR之外首尾还各需要33个扇区。手动分区的时候要特别注意尾部留空。




Legacy和UEFI,MBR和GPT的区别

GPT分区的第1个扇区,也就是扇区0。

Legacy和UEFI,MBR和GPT的区别

下面先说说UEFI启动MBR吧,首先MBR分区表一定要有一个FAT32分区,是不是活动分区无所谓,因为UEFI没有活动分区的说法。(注:活动分区是指MBR磁盘上用以启动操作系统的一个主分区,一块硬盘上只能有一个活动分区。GPT磁盘没有活动分区这个概念
只要手动修复一下FAT32分区的BCD文件就行了,用BOOTICE工具编辑一下就OK了。(注:微软的启动配置数据(BCD)出现于Windows Vista,应用于Windows Vista及以后版本的Windows,类似于Linux下的grub)
如果遇到下图的错误,就是BCD的问题:




Legacy和UEFI,MBR和GPT的区别

Legacy和UEFI,MBR和GPT的区别

参考链接:让传统BIOS启动GPT磁盘的操作系统;让UEFI启动MBR磁盘的操作系统_图那丁吧_百度贴吧

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/214542.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午4:00
下一篇 2026年3月18日 下午4:01


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号