硬盘MBR和GPT分区详解

上传人:yh****1 文档编号:125940335 上传时间:2020-03-21 格式:DOC 页数:36 大小:627.50KB
返回 下载 相关 举报
硬盘MBR和GPT分区详解_第1页
第1页 / 共36页
硬盘MBR和GPT分区详解_第2页
第2页 / 共36页
硬盘MBR和GPT分区详解_第3页
第3页 / 共36页
硬盘MBR和GPT分区详解_第4页
第4页 / 共36页
硬盘MBR和GPT分区详解_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《硬盘MBR和GPT分区详解》由会员分享,可在线阅读,更多相关《硬盘MBR和GPT分区详解(36页珍藏版)》请在金锄头文库上搜索。

1、 .硬盘MBR和GPT分区详解 目前磁盘分区有两种形式:GPT分区和MBR分区。MBR相比而言比较常见,大多数磁盘都是采用这种分区形式。MBR分区和GPT分区的区别在于:MBR最多只支持4个主分区,GPT能够支持128个主分区。然而GPT分区形式在重装系统需要主板的EFI支持,所以导致出现上面的这种情况。因此解决的办法就是将分区形式转换为MBR分区形式。但是在转换之前必须要做好数据备份,将磁盘里重要的东西全部拷出来,因为只有整个磁盘全部为空时,才能够进行转换。传统的分区方案(称为MBR分区方案)是将分区信息保存到磁盘的第一个扇区(MBR扇区)中的64个字节中,每个分区项占用16个字节,这16个

2、字节中存有活动状态标志、文件系统标识、起止柱面号、磁头号、扇区号、隐含扇区数目(4个字节)、分区总扇区数目(4个字节)等内容。由于MBR扇区只有64个字节用于分区表,所以只能记录4个分区的信息。这就是硬盘主分区数目不能超过4个的原因。后来为了支持更多的分区,引入了扩展分区及逻辑分区的概念。但每个分区项仍用16个字节存储。GPT磁盘是指使用GUID分区表的磁盘,是源自EFI标准的一种较新的磁盘分区表结构的标准。与普遍使用的主引导记录(MBR)分区方案相比,GPT提供了更加灵活的磁盘分区机制。 MBR的全称是MasterBootRecord(主引导记录),MBR早在1983年IBMPCDOS2.0

3、中就已经提出。之所以叫“主引导记录”,是因为它是存在于驱动器开始部分的一个特殊的启动扇区。这个扇区包含了已安装的操作系统的启动加载器和驱动器的逻辑分区信息。 主引导扇区是硬盘的第一扇区。它由三个部分组成,主引导记录MBR、硬盘分区表DPT和硬盘有效标志。在总共512字节的主引导扇区里MBR占446个字节,偏移地址0000H-0088H),它负责从活动分区中装载,并运行系统引导程序;第二部分是Partitiontable区(DPT分区表),占64个字节;第三部分是Magicnumber,占2个字节。MBR扇区代码在DPT共64个字节中,以16个字节为分区表项单位描述一个分区的属性。也就是说,第一

4、个分区表项描述一个分区的属性,一般为基本分区。第 二个分区表项描述除基本分区外的其余空间,一般而言,就是我们所说的扩展分区。这部分的大体说明见表1。 DPT代码分析 注:上表中的超过1字节的数据都以实际数据显示,就是按高位到地位的方式显示。存储时是按低位到高位存储的。两者表现不同,请仔细看清楚。以后出现的表, 图均同。也可以在winhex中看到这些参数的意义: 说明:每个分区表项占用16个字节,假定偏移地址从0开始。如图3的分区表项3。分区表项4同分区表项3。1、0H偏移为活动分区是否标志,只能选00H和80H。80H为活动,00H为非活动。其余值对microsoft而言为非法值。2、重新说明

5、一下(这个非常重要):大于1个字节的数被以低字节在前的存储格式格式(little endian format)或称反字节顺序保存下来。低字节在前的格式是一种保存数的方法,这样,最低位的字节最先出现在十六进制数符号中。例如,相对扇区数字段的值 0x3F000000的低字节在前表示为0x0000003F。这个低字节在前的格式数的十进制数为63。3、系统在分区时,各分区都不允许跨柱面,即均以柱面为单位,这就是通常所说的分区粒度。有时候我们分区是输入分区的大小为7000M,分出来 却是6997M,就是这个原因。 偏移2H和偏移6H的扇区和柱面参数中,扇区占6位(bit),柱面占10位(bit),以偏移

6、6H为例,其低6位用作扇区数的二进制表示。其高两位做柱 面数10位中的高两位,偏移7H组成的8位做柱面数10位中的低8位。由此可知,实际上用这种方式表示的分区容量是有限的,柱面和磁头从0开始编号,扇区 从1开始编号,所以最多只能表示1024个柱面63个扇区256个磁头512byte=8455716864byte。即通常的8.4GB(实际上 应该是7.8GB左右)限制。实际上磁头数通常只用到255个(由汇编语言的寻址寄存器决定),即使把这3个字节按线性寻址,依然力不从心。 在后来的操作系统中,超过8.4GB的分区其实已经不通过C/H/S的方式寻址了。而是通过偏移CH偏移FH共4个字节32位线性扇

7、区地址来表示分区所 占用的扇区总数。可知通过4个字节可以表示232个扇区,即2TB=2048GB,目前对于大多数计算机而言,这已经是个天文数字了。在未超过 8.4GB的分区上,C/H/S的表示方法和线性扇区的表示方法所表示的分区大小是一致的。也就是说,两种表示方法是协调的。即使不协调,也以线性寻址为 准。(可能在某些系统中会提示出错)。超过8.4GB的分区结束C/H/S一般填充为FEH FFH FFH。即C/H/S所能表示的最大值。有时候也会用柱面对1024的模来填充。不过这几个字节是什么其实都无关紧要了。虽然现在的系统均采用线性寻址的方式来处理分区的大小。但不可跨柱面的原则依然没变。本分区的

8、扇区总数加上与前一分区之间的保留扇区数目依然必 须是柱面容量的整数倍。(保留扇区中的第一个扇区就是存放分区表的MBR或虚拟MBR的扇区,分区的扇区总数在线性表示方式上是不计入保留扇区的。如果是 第一个分区,保留扇区是本分区前的所有扇区。附:分区表类型标志如图43.2 扩展分区 扩展分区中的每个逻辑驱动器都存在一个类似于MBR的扩展引导记录( Extended Boot Record, EBR),也有人称之为虚拟mbr或扩展mbr,意思是一样的。扩展引导记录包括一个扩展分区表和该扇区的标签。扩展引导记录将记录只包含扩展分区中每个 逻辑驱动器的第一个柱面的第一面的信息。一个逻辑驱动器中的引导扇区一

9、般位于相对扇区32或63。但是,如果磁盘上没有扩展分区,那么就不会有扩展引导记 录和逻辑驱动器。第一个逻辑驱动器的扩展分区表中的第一项指向它自身的引导扇区。第二项指向下一个逻辑驱动器的EBR。如果不存在进一步的逻辑驱动器,第 二项就不会使用,而且被记录成一系列零。如果有附加的逻辑驱动器,那么第二个逻辑驱动器的扩展分区表的第一项会指向它本身的引导扇区。第二个逻辑驱动器的 扩展分区表的第二项指向下一个逻辑驱动器的EBR。扩展分区表的第三项和第四项永远都不会被使用。 通过一幅4分区的磁盘结构图可以看到磁盘的大致组织形式。如图5 关于扩展分区,如图6所示,扩展分区中逻辑驱动器的扩展引导记录是一个连接表

10、。该图显示了一个扩展分区上的三个逻辑驱动器,说明了前面的逻辑驱动器和最后 一个逻辑驱动器之间在扩展分区表中的差异。 除了扩展分区上最后一个逻辑驱动器外,表2中所描述的扩展分区表的格式在每个逻辑驱动器中都是重复的:第一个项标识了逻辑驱动器本身的引导扇区,第二个项 标识了下一个逻辑驱动器的EBR。最后一个逻辑驱动器的扩展分区表只会列出它本身的分区项。最后一个扩展分区表的第二个项到第四个项被使用。 扩展分区表项中的相对扇区数字段所显示的是从扩展分区开始到逻辑驱动器中第一个扇区的位移的字节数。总扇区数字段中的数是指组成该逻辑驱动器的扇区数 目。总扇区数字段的值等于从扩展分区表项所定义的引导扇区到逻辑驱

11、动器末尾的扇区数。MBR分区表系统 所谓启动加载器,是一小段代码,用于加载驱动器上其他分区上更大的加载器。如果你安装了Windows,Windows启动加载器的初始信息就放在这个区域里如果MBR的信息被覆盖导致Windows不能启动,你就需要使用Windows的MBR修复功能来使其恢复正常。如果你安装了Linux,则位于MBR里的通常会是GRUB加载器。 分区表偏移地址为01BEH-01FDH,每个分区表项长16个字节,共64字节为分区项1、分区项2、分区项3、分区项4,分别对应MBR的四个主分区。 Magicnumber也就是结束标志字,偏移地址01FE-01FF的2个字节,固定为55AA,

12、如果该标志错误系统就不能启动。1、MBR区 MBR(Main Boot Record 主引导记录区)位于整个硬盘的0磁道0柱面1扇区。不过,在总共512字节的主引导扇区中,MBR只占用了其中的446个字节,另外的64个字节交给了 DPT(Disk Partition Table硬盘分区表),最后两个字节“55,AA”是分区的结束标志。这个整体构成了硬盘的主引导扇区。 主引导记录中包含了硬盘的一系列参数和一段引导程序。其中的硬盘引导程序的主要作用是检查分区表是否正确并且在系统硬件完成自检以后引导具有激活标志的分 区上的操作系统,并将控制权交给启动程序。MBR是由分区程序(如Fdiskexe)所产

13、生的,它不依赖任何操作系统,而且硬盘引导程序也是可以改变 的,从而实现多系统共存。 下面,我们以一个实例让大家更直观地来了解主引导记录:例:80 01 01 00 0B FE BF FC 3F 00 00 00 7E 86 BB 00在这里我们可以看到,最前面的“80”是一个分区的激活标志,表示系统可引导;“01 01 00”表示分区开始的磁头号为01,开始的扇区号为01,开始的柱面号为00;“0B”表示分区的系统类型是FAT32,其他比较常用的有 04(FAT16)、07(NTFS);“FE BF FC”表示分区结束的磁头号为254,分区结束的扇区号为63、分区结束的柱面号为764;“3F

14、00 00 00”表示首扇区的相对扇区号为63;“7E 86 BB 00”表示总扇区数为12289622。2、DBR区 DBR(Dos Boot Record)是操作系统引导记录区的意思。它通常位于硬盘的0磁道1柱面1扇区,是操作系统可以直接访问的第一个扇区,它包括一个引导程序和一个被称为 BPB(Bios Parameter Block)的本分区参数记录表。引导程序的主要任务是当MBR将系统控制权交给它时,判断本分区跟目录前两个文件是不是操作系统的引导文件(以DOS为 例,即是Iosys和Msdossys)。如果确定存在,就把它读入内存,并把控制权 交给该文件。BPB参数块记录着本分区的起始

15、扇区、结束扇区、文件存储格式、硬盘介质描述符、根目录大小、FAT个数,分配单元的大小等重要参数。DBR 是由高级格式化程序(即Formatcom等程序)所产生的。3、FAT区 在DBR之后的是我们比较熟悉的FAT(File Allocation Table文件分配表)区。在解释文件分配表的概念之前,我们先来谈谈簇(Cluster)的概念。文件占用磁盘空间时,基本单位不是字节而是簇。一般情 况下,软盘每簇是1个扇区,硬盘每簇的扇区数与硬盘的总容量大小有关,可能是4、8、16、32、64 同一个文件的数据并不一定完整地存放在磁盘的一个连续的区域内,而往往会分成若干段,像一条链子一样存放。这种存储方式称为文件的链式存储。由于硬盘上保 存着段与段之间的连接信息(即FAT),操作系统在读取文件时,总是能够准确地找到各段的位置并正确读出。 为了实现文件的链式存储,硬盘上必须准确地记录哪些簇已经被文件占用,还必须为每个已经占用的簇指明存储后继内容的下一个簇的簇号。对一个文件的最后一 簇,则要指明本簇无后继簇。这些都是由FAT表来保存的,表中有很多表项,每项记录一个簇的信息。由于FAT对于文件管理的重要性,所以FAT有一个备 份,即在原FAT的后面再建一个同样的FAT。初形成的FAT中所有项都标明为“未占

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 设计及方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号