ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

MBR和GPT

2021-05-09 22:05:32  阅读:277  来源: 互联网

标签:分区 扇区 分区表 GPT 磁盘 MBR


一、机械硬盘原理

  • 机械硬盘结构

机械硬盘由坚硬金属材料制成的涂以磁性介质的盘片,盘片两面称为盘面或扇面,都可以记录信息,由磁头对盘面进行操作一般用磁头号区分。结构特性决定了机械硬盘如果受到剧烈冲击,磁头与盘面可能产生的哪怕是轻微撞击都有可能报废。假设磁头不动,硬盘旋转,那么磁头就会在磁盘表面画出一个圆形轨迹并将之磁化,数据就保存在这些磁化区中,称之为磁道,将每个磁道分段,一个弧段就是一个扇区。一个硬盘可以包含多个扇面,扇面同轴重叠放置,每个盘面磁道数相同,具有相同周长的磁道所形成的圆柱称之为柱面,柱面数与磁道数相等。如下图:

 

  • 机械硬盘寻址方式

最初的寻址方式称为CHS,在LBA(Logical Block Address)概念诞生之前,由他负责管理磁盘地址。所谓CHS即柱面(cylinder),磁头(header),扇区(sector),通过这三个变量描述磁盘地址,需要明白的是,这里表示的已不是物理地址而是逻辑地址了。这种方法也称作是LARGE寻址方式。 

后来,人们通过为每个扇区分配逻辑地址,以扇区为单位进行寻址,也就有了LBA寻址方式。但是为了保持与CHS模式的兼容,通过逻辑变换算法,可以转换为磁头/柱面/扇区三种参数来表示,和 LARGE寻址模式一样,这里的地址也是逻辑地址了。(固态硬盘的存储原理虽然与机械硬盘不同,采用的是flash存储,但仍然使用LBA进行管理,此处不再详述。)

硬盘容量 = 磁头数×柱面数×扇区数×扇区大小(一般为512byte)。

二、MBR分区结构

   MBR磁盘分区是一种使用最为广泛的分区结构,它也被称为DOS分区结构,但它并不仅仅应用于Windows系统平台,也应用于Linux,基于X86的UNIX等系统平台。它位于磁盘的0号扇区(一扇区等于512字节),是一个重要的扇区(简称MBR扇区)。

MBR扇区由以下四部分组成:

引导代码:引导代码占MBR分区的前440字节,负责整个系统启动。如果引导代码被破坏,系统将无法启动。

Windows磁盘签名:占引导代码后面的4字节,是Windows初始化磁盘写入的磁盘标签,如果此标签被破坏,则系统会提示“初始化磁盘”。

MBR分区表:占Windows磁盘标签后面的64个字节,是整个硬盘的分区表。

MBR结束标志:占MBR扇区最后2个字节,一直为“55 AA”。

wKioL1LKNVbgiJppAAHQQfWcPwQ942.jpg

注意:作者分析磁盘使用的工具是Winhex,如果读者需要请自行下载。

 

下面详细分析分区表结构

   磁盘在使用前都要进行分区,也就是将硬盘划分为一个个逻辑的区域。每一个分区都有一个确定的起始结束位置。MBR磁盘的分区形式一般有3种,既主分区,扩展分区和非DOS分区。主分区既主DOS分区,扩展分区既扩展的DOS分区(扩展分区可以分逻辑分区),非DOS分区对于主分区的操作系统来说是一块被划分出去的区域,只能非DOS分区中操作系统可以管理。

如下:是MBR分区表

wKiom1LKNgyzkviIAACTxTAiH_Y413.jpg

MBR一共占用64个字节,其中每16个字节为一个分区表项。也就是在MBR扇区中只能记录4个分区信息,可以是4个主分区,或者是3个主分区1个扩展分区。

每个分区项中对应的字节解释如下表:

wKioL1LKNlXCchlUAAFbjpz0d3s644.jpg

wKiom1LKNu_xS0nCAAC7bgZMKmE917.jpg

wKioL1LKN22TWqhvAAERmt888K4487.jpg

wKiom1LKN6LDOsMdAAFADGBiJ4A015.jpg

扩展分区的结构分析

   由于MBR仅仅为分区表保留了64字节的存储空间,而每个分区则占用16字节的空间,也就是只能分4个分区,而4个分区在实际情况下往往是不够用的。因此就有了扩展分区,扩展分区中的每个逻辑分区的分区信息都存在一个类似MBR的扩展引导记录(简称EBR)中,扩展引导记录包括分区表和结束标志“55 AA”,没有引导代码部分。

wKioL1LKN-Kj6j8OAAFhlbN46B4606.jpg

如上图:EBR中分区表的第一项描述第一个逻辑分区,第二项指向下一个逻辑分区的EBR。如果下一个逻辑分区不存在,第二项就不需要了。

 

   MBR分区的结构大致就介绍到这了。如果硬盘的MBR被破坏,可以复制其他硬盘的MBR到故障盘,然后修复分区表,也可以初始化故障盘然后修复分区表。

 

三、GPT分区结构

GPT磁盘分区的基本特点

GPT磁盘分区结构解决了MBR只能分4个主分区的的缺点,理论上说,GPT磁盘分区结构对分区的数量好像是没有限制的。但某些操作系统可能会对此有限制。

GPT磁盘分区结构由6部分组成,如下图:

wKiom1LKQX7zOkrSAABNDHxLhq4451.jpg

 

1、保护MBR

   保护MBR位于GPT磁盘的第一扇区,也就是0号扇区,由磁盘签名,MBR磁盘分区表和结束标志组成,没有引导代码。而且分区表内只有一个分区表项,这个表项GPT根本不用,只是为了让系统认为这个磁盘是合法的。

wKiom1LKSF7SZd_BAACDsiSCWBo629.jpg

2、GPT头

   GPT头位于GPT磁盘的第二个磁盘,也就是1号扇区,该扇区是在创建GPT磁盘时生成,GPT头会定义分区表的起始位置,分区表的结束位置、每个分区表项的大小、分区表项的个数及分区表的校验和等信息。

wKiom1LKSKbx49XOAAB95x1ZyKM823.jpg

GPT头中参数的含义解释如下表:

wKiom1LKSNWQBhWbAADZkLFMSQQ667.jpg

3、分区表

   分区表位于GPT磁盘的2-33号磁盘,一共占用32个扇区,能够容纳128个分区表项。每个分区表项大小为128字节。因为每个分区表项管理一共分区,所以Windows系统允许GPT磁盘创建128个分区。

   每个分区表项中记录着分区的起始,结束地址,分区类型的GUID,分区的名字,分区属性和分区GUID。

wKioL1LKSSbwft0fAAC7B9dwnXU848.jpg

分区表项中各参数的含义解释如下表:

wKiom1LKSUHTowAAAABrpN_N6iM090.jpg

4、分区区域

   GPT分区区域就是用户使用的分区,也是用户进行数据存储的区域。分区区域的起始地址和结束地址由GPT头定义。

5、GPT头备份

   GPT头有一个备份,放在GPT磁盘的最后一个扇区,但这个GPT头备份并非完全GPT头备份,某些参数有些不一样。复制的时候根据实际情况更改一下即可。

6.分区表备份

   分区区域结束后就是分区表备份,其地址在GPT头备份扇区中有描述。分区表备份是对分区表32个扇区的完整备份。如果分区表被破坏,系统会自动读取分区表备份,也能够保证正常识别分区。

GPT的分区结构相对于MBR要简单许多,并且分区表以及GPT头都有备份。

四、常用术语解释

 MBR(Master Boot Record):主引导记录

GPT(Globally Unique Identifier Partition Table):全局唯一标识分区表,也做GUID分区表

CHS (Cylinder Header Sector):柱面、磁头、扇区的英文名称首字母缩写

LBA(Logical Block Address):逻辑块地址

UEFI(Unified Extensible Firmware Interface): 统一可扩展固件接口

 五、参考文献

1.详解MBR分区结构以及GPT分区结构_邓奇的Blog的技术博客_51CTO博客

2.MBR与GPT - 知乎 (zhihu.com)

 

 

标签:分区,扇区,分区表,GPT,磁盘,MBR
来源: https://blog.csdn.net/m0_52507081/article/details/116570138

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有