博舍

GPT分区结构 gpt分区特点

GPT分区结构

GPT分区结构

GPT磁盘分区的基本特点

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

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

1、保护MBR

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

2、GPT头

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

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

3、分区表

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

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

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

4、分区区域

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

5、GPT头备份

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

6.分区表备份

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

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

MBR分区表

目前来说,比较主流的两种硬盘的分区表是MBR和GPT(GUID)。今天小七带大家了解一下比较旧一点的MBR分区表(相对于GPT)。

1、简介

MBR这个概念首次出现,是在1983年的IBMPCDOS2.0操作系统当中,因此也被称为DOS分区结构。实际上,MBR分区结构是一种应用非常广泛的硬盘分区结构,不仅仅是DOS,包括windows系列操作系统、Linux以及基于X86架构的UNIX操作系统等平台均有使用。

MBR的英文全称是MainBootRecord(一说MasterBootRecord),翻译过来的中文名称是主引导记录。

它主要有以下几个特点:

1、在我们常见的电脑中,一般是BIOS+MBR、(U)efi+GPT的组合;

2、MBR分区表中单个分区最大仅支持2TB,而整个分区表最大也是仅支持2TB的硬盘;

3、MBR分区表最大只支持四个主分区(可少不可多),如果觉得四个不够用,可以使用三个主分区+一个扩展分区的组合(扩展分区仅能存在一个,但扩展分区下可以分出无数个逻辑分区);

image

▲图为MBR分区常见的两种组成

2、结构

MBR分区表占用一个扇区,位于硬盘的0磁头、0柱面、1扇区。

这里需要引用一下度娘百科对于磁头柱面扇区这三个概念的解释。

磁头(Heads):每张磁片的正反两面各有一个磁头,一个磁头对应一张磁片的一个面。因此,用第几磁头就可以表示数据在哪个磁面。

柱面(Cylinder):所有磁片中半径相同的同心磁道构成“柱面",意思是这一系列的磁道垂直叠在一起,就形成一个柱面的形状。简单地理解,柱面数=磁道数。

扇区(Sector):将磁道划分为若干个小的区段,就是扇区。虽然很小,但实际是一个扇子的形状,故称为扇区。

image

▲图为磁头、柱面、扇区示意图

①不管是CHS寻址还是LBA寻址,都需要知道磁头柱面和扇区来对数据进行定位;

②通常来说,一个扇区的大小为512字节(Byte);

③该扇区为隐藏扇区,实际上,0磁头0柱面的扇区均为隐藏扇区,一般的硬盘访问命令无法访问,因此MBR分区表放在此处比较安全,不容易遭到破坏,同理,许多病毒也会隐藏在这里,不容易被查杀。

由于MBR扇区中大部分都被MBR所占领,因此这个扇区就被称为MBR扇区。而MBR扇区主要是由MBR、DPT和结束标识三个部分组成。

image

▲图为标准MBR结构

3、工作原理

MBR的产生并不依赖于任何一个操作系统,在电脑开机通电后,BIOS进行自检,自检完成后就开始执行MBR中的启动代码(Bootloader),通过读取启动代码来确定需要引导的系统。因此,双系统或者是多系统安装完成之后,需要修改引导启动项,即为修改此处的启动代码(Bootloader)。

执行完启动代码之后,系统下一步就会读取MBR扇区中的最后两个字节,如果是55AA,则继续读取磁盘分区表DPT来确定是否有活动分区,从而启动系统;如果不是55AA,系统会认为该MBR为非法MBR,系统将停止操作并报错。

image

▲图为MBR分区表的硬盘开机过程

这里再额外提一下。

MBR中的选用磁盘标识,这个在MBR分区中比较重要。如果安装的是windows操作系统的话,系统在启动时需要依赖该磁盘签名来识别硬盘并确定该磁盘是否初始化。

而DPT的作用其实非常简单,就是管理磁盘的分区信息。如果DPT被破坏,那么系统将无法识别该磁盘上的所有分区,并且有可能会提示需要格式化磁盘。

一般小白遇到这种情况会比较无奈,只能格式化,对磁盘中宝贵的数据说拜拜,但是,其实只要修复DPT,就可以读取分区,找回数据,实际上,硬盘的数据一直都在那里。那怕是对硬盘进行一般的格式化操作,也只是将DPT中对应的分区的数据清空,并没有影响到原来的在其他扇区的数据,此时只要不进行数据的读写操作(防止覆盖原有数据),还是有可能找回丢失的数据的。

4、DPT

DPT其实有挺多可以讲的地方,这里拿一个分区(16Byte)为例,讲解一下MBR分区最大只能识别2TB硬盘的原因。

5、分区项表内容及含义

注:1Byte=8bit

image

▲图为MBR中的DPT的分区项表的内容及含义

再对其作进一步的解释:

第1字节的引导标识:如果该分区内安装了操作系统,则该分区必须为活动分区,方可成功引导该分区内的操作系统(即为80H);

第5字节的分区类型符:记录该分区的类型,每一种类型都有一个对应的值,如00H——表示该分区未用(即没有指定,DOS和win不识别该类型分区)、06H——FAT16分区;0BH——FAT32分区、07H——NTFS分区等;

第2、3、4、6、7、8字节:记录了这个分区的起始和结束磁头、扇区、柱面,即可确定该分区在硬盘中的位置以及该分区的容量;

最后的8个字节就是MBR分区为何最大只能识别2TB容量的原因了。

前提知识背景:

①计算机中采用2进制,bit是最小的大小计量单位;

②1Byte=8bit;

③一个扇区的大小是512Byte;

④Byte、KB、MB、GB、TB、PB这六者按照从小到大的顺序排列,且相邻两者间差1024倍(即2^10);

⑤在上面的缩写中,大写的B表示Byte,小写的b表示bit,两者相差8倍;

由于只有4Byte来记录本分区的总扇区数,4Byte=32bit,在2进制即有232种状态,假设全部为1,则最多有232个扇区。即

image

所以MBR分区中单个分区最多只能识别2TB容量,而由于记录已使用的扇区的字节数也是4,所以整个分区最多也只能识别2TB容量。

6、扩展分区

前面我们已经提到了当四个主分区无法满足需求的时候,可以使用三个主分区+一个扩展分区的方法,在扩展分区下,理论上可以分出无数个分区(实际还要看操作系统的限制等其他因素)。

这里还要介绍一个概念——EBR(ExtendedBootRecord),即扩展分区引导记录。其原理和工作模式与MBR非常相似,但它是链式的,也就是说一个EBR不够用,可以再增加一个,新增加的EBR链接在旧的EBR之后,一个链接着一个,就像链条一样。理论上就可以实现无数个分区。

MBR分区表的内容介绍到这里就结束了,如果对它还有兴趣的话,或者觉得这里的介绍太过简单的话,可以去查询一些相关书籍和论坛。另外,如果文中有任何错误,还望不吝赐教。

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

上一篇

下一篇