一、硬盘的结构
这里讲的主要是网上所谓的老式磁盘,它是由一个个盘片组成的,我们先从个盘片结构讲起。如下图所示,图中的一圈圈灰色同心圆为一条条磁道,从圆心向外画直线,可以将磁道划分为若干个弧段,每个磁道上一个弧段被称之为一个扇区(图中蓝色部分)。扇区是磁盘的最小组成单元,通常是512字节
磁盘由多个盘片组成,每个盘片都有一个可读写的磁头。磁头固定,盘片旋转一周所走的轨迹就是磁道。磁道又可以划分扇区,
扇区一般为512个字。相同磁道号组成的圆柱称为柱面/磁柱.如下图所示。
磁头(head):256个
磁道(track):1024个
扇区(sector):63个
柱面(cylinder):head*track*512=8M
存储容量 = 磁头数 × 磁道(柱面)数 × 每道扇区数 × 每扇区字节数
二、MBR分区
1、MBR: Master Boot Record,1982年,使用32位表示扇区数(2^32),分区不超过2T
2、如何分区:按柱面
3、0磁道0扇区:512bytes
446bytes: boot loader (与分区无关,引导加载器,不同的操作系统引导程序也不同centos5,6使用的是grub;cetos7是grub2)
64bytes:分区表(真正存放分区 的位置,每个分区要消耗16个字节)
16bytes: 标识一个分区
2bytes: 55AA(没有55AA系统会认为系统没有分区)
4、4个主分区;3主分区+1扩展(N个逻辑分区)
MBR分区结构
三、GPT分区
GPT:GUID(Globals Unique Identifiers)partition table 支持128个分区,使用64位,支持8Z(512Byte/block )64Z(4096Byte/block)
使用128位UUID 表示磁盘和分区GPT分区表自动备份在头和尾两份,并有CRC校验位
UEFI (统一扩展固件接口)硬件支持GPT,使操作系统启动
GPT分区结构
保护MBR:保护MBR位于GPT磁盘的第一扇区,也就是0号扇区,有磁盘签名,MBR磁盘分区表和结束标志组成,没有引导代码。而且分区表内只有一个分区表项,这个表项GPT根本不用,只是为了让系统认为这个磁盘是合法的。
GPT头:GPT头会定义分区表的起始位置,分区表的结束位置、每个分区表项的大小、分区表项的个数及分区表的校验和等信息。
分区表:每个分区表项中记录着分区的起始,结束地址,分区类型,分区名字,分区属性。
分区区域:GPT分区区域就是用户使用的分区,也是用户进行数据存储的区域。分区区域的起始地址和结束地址由GPT头定义。
GPT的优势
GPT意为GUID分区表。(GUID意为全局唯一标识符)。这是一个正逐渐取代MBR的新标准。它和UEFI相辅相成——UEFI用于取代老旧的BIOS,而GPT则取代老旧的MBR。之所以叫作“GUID分区表”,是因为你的驱动器上的每个分区都有一个全局唯一的标识符(globally
unique
identifier,GUID)——这是一个随机生成的字符串,可以保证为地球上的每一个GPT分区都分配完全唯一的标识符。
这个标准没有MBR的那些限制。磁盘驱动器容量可以大得多,大到操作系统和文件系统都没法支持。它同时还支持几乎无限个分区数量,限制只在于操作系统——Windows支持最多128个GPT分区,而且你还不需要创建扩展分区。
在MBR磁盘上,分区和启动信息是保存在一起的。如果这部分数据被覆盖或破坏,事情就麻烦了。相对的,GPT在整个磁盘上保存多个这部分信息的副本,因此它更为健壮,并可以恢复被破坏的这部分信息。GPT还为这些信息保存了循环冗余校验码(CRC)以保证其完整和正确——如果数据被破坏,GPT会发觉这些破坏,并从磁盘上的其他地方进行恢复。而MBR则对这些问题无能为力——只有在问题出现后,你才会发现计算机无法启动,或者磁盘分区都不翼而飞了。
四、模拟恢复MBR分区
1、添加硬盘,使之立即生效
2、查看分区,存放在0磁道0扇区
3、查看分区的二进制列表,其中446字节是它的boot loader,后面64字节是它真正存放分区的位置,最后是一个55aa的标志位
4、备份MBR
5、查看是否备份成功
6、数据迁移,恢复数据,要求迁移到的磁盘是空磁盘
7、模拟破坏
模拟破坏55aa
已经破坏了55AA,系统会认为没有分区了
9、恢复分区表
原创文章,作者:xiaoqing,如若转载,请注明出处:http://www.178linux.com/42606