硬盘知识大杂烩(三)
原创
©著作权归作者所有:来自51CTO博客作者madin10000的原创作品,请联系作者获取转载授权,否则将追究法律责任
硬盘知识大杂烩(三)
原理篇
原理篇从硬盘的第一个物理扇区(0柱面,0磁头,1扇区)MBR说起——基本主分区——扩展分区——EBR——DBR——FAT——根目录——数据区的顺序来阐述一个完整的硬盘的工作原理。建立一个明确合理的顺序很重要,不然就越看越迷糊。这是我的感受。
A、MBR主引导记录即主引导扇区(0柱面,0磁头,1扇区) (Master Boot Record)
是硬盘的第一个物理扇区(0柱面,0磁头,1扇区),也就是硬盘的绝对"0"扇区。在它的512个字节中,包括三部分:
1.主引导程序代码,占446字节
下图的紫色区数据是mbr的一段引导代码,它其实是一个小引导程序。他是在我们对硬盘分区操作时写进去的。在DOS环境下,用FDISK/mbr也可以将一个小引导程序写进去。mbr的一段引导代码几乎是通用的。
2.硬盘分区表HDPT,占用64字节
下图的红色区数据是硬盘分区表HDPT,表明该硬盘几个基本分区(也称为主分区)大小及位置等信息。下面将详述。
3.主引导扇区结束标志AA55H ,占用2字节
下图的蓝色区数据是表示引导扇区的有效结束标志。
![硬盘知识大杂烩(三)_硬盘知识](https://s2.51cto.com/attachment/201010/201010301288440786296.png?x-oss-process=image/resize,m_fixed,w_1184)
计算机在按下power键以后,开始执行主板bios程序。进行完一系列检测和
配置以后。开始按bios中设定的系统引导顺序引导系统。假定现在是硬盘。Bios执行完自己的程序后如何把执行权交给硬盘呢。交给硬盘后又执行存储在哪里的程序呢。其实,称为mbr的一段代码起着举足轻重的作用。MBR(master boot record),即主引导记录,有时也称主引导扇区。位于整个硬盘的 0 柱面 0磁头 1 扇区(可以看作是硬盘的第一个扇区),bios在执行自己固有的程序以后就会jump到mbr中的第一条指令。将系统的控制权交由mbr来执行。在总共512byte的主引导记录中,MBR的引导程序占了其中的前 446 个字节(偏移 0H~偏移 1BDH),随后的 64 个字节(偏移 1BEH~偏移 1FDH)为DPT(Disk PartitionTable,硬盘分区表),最后的两个字节“55 AA”(偏移 1FEH~偏移1FFH)是分区有效结束标志。
MBR不随操作系统的不同而不同,意即不同的操作系统可能会存在相同的
MBR,即使不同,MBR也不会夹带操作系统的性质。具有公共引导的特性。同时,也不属于任何分区,在操作系统上是根本看不到的。(当然用专门的磁盘管理软件还是能)
我们来分析一段mbr。上图是用winhex查看的一块希捷 120GB硬盘的mbr。
(数据表示形式:我们知道,数据在硬盘上是以二进制数“1”和“0”的形式存储的,8位二进制数就是一个字节,如“00110110”
但这样计数表示出来,就会显得太长,我们常常把四位二进制数用一个一位十六进制数表示,上面“00111110”就变为“3E”,两者有一一对应关系,并且,书写也简便多了。上面最后“55AA”就是两个字节。“55”就是“01010101”,为一个字节。通常一个扇区有512个字节。偏移表示磁头在一个扇区中的移动量,以本扇区第一位字节为基点)
下面重点把红色区数据是硬盘分区表HDPT做一说明
MBR中的硬盘分区表DPT (HDPT)细解
根据现在的主引导扇区结构,一个硬盘最多有四个主分区,因为上图(主)分区表项决定的。如果要在硬盘上建立大于四个的分区,我们就采用扩展分区,在扩展分区中可以建立多个分区,这种分区叫做逻辑分区。
硬盘分区表分为四小部分,每一小部分表示一个分区的信息,占16字节。
分区表的每一部分长16字节。第0个字节是自举标志,其值为80H时,表示该分区是当前活动分区,可引导;其值为00H时,表示该分区不可引导。
第4字节是分区类型。左边的16进制数(即8个二进制位中的高4位)只取两个值:0H或1H,为0H时表示此分区为非隐藏分区,为1H时则表示是隐藏分区。右边的16进制数(即8个二进制位中的低4位)表示分区的文件系
统格式、类别(是操作系统所在的基本分区还是扩展分区)等信息:取6H则表示是FAT16格式,且大于32MB;取5H表示是DOS扩展分区;取7H表示是NTFS文件格式;取BH表示是FAT32文件格式;取CH表示是FAT32X文件格式;取EH表示是FAT16X文件格式;取FH表示是ExtendedX扩展分区。
每一分区的第1至第3字节是该分区起始地址(CHS)。其中第1字节为起始磁头号(面号);第2字节的低6位为起始扇区号,高2位则为起始柱面号的高2位;第3字节为起始柱面号的低8位。
每一分区的第5至第7字节表示分区的终止地址(CHS)。,各字节的释义与第1至第3字节雷同,故不再赘述。
分区表每一分区的第8至第11字节表示该分区的起始相对扇区号(即该扇区之前的绝对扇区个数),第12至第15字节表示该分区的实际占用扇区数。
至此,硬盘的第一个物理扇区(0柱面,0磁头,1扇区)MBR学习完毕。