关于硬盘的一些基础知识

LBA:logical block address....

C,H,S:Cylinder。Header。Section。扇区号从1-63,磁头号从0-255。这仅仅是一种定位的方法。最大3G

从DPT的第8到11表示LBA定位放法,12-16表示该分区大小。这种方法第一个扇区编号为0。

 有负的磁道。上面有生产信息。不能改变。

从外圈到内圈磁道号增大外圈的读写速度更快哦.

注意大小端问题!

 

主引导扇区
主引导扇区位于整个硬盘的0柱面0磁头1扇区{(柱面,磁头,扇区)|(0,0,1)},bios在执行自己固有的程序以后就会jump到MBR中的第一条指令。将系统的控制权交由mbr来执行。主引导扇区主要由三部分组成:主引导记录 MBR(Master Boot Record或者Main Boot Record)、硬盘分区表 DPT(Disk Partition Table)和结束标志字三大部分组成。


对于硬盘而言,一个扇区可能的字节数为128×2n (n=0,1,2,3)。大多情况下,取n=2,即一个扇区(sector)的大小为512字节。在总共512byte的主引导记录中,MBR的引导程序占了其中的前446个字节(偏移0H~偏移1BDH),随后的64个字节(偏移1BEH~偏移1FDH)为DPT(Disk PartitionTable,硬盘分区表),最后的两个字节“55 AA”(偏移1FEH~偏移1FFH)是分区有效结束标志。

硬盘分区表DPT(Disk Partition Table)
硬盘分区表占据MBR扇区的64个字节(偏移01BEH--偏移01FDH),可以对四个分区的信息进行描述,其中每个分区的信息占据16个字节。具体每个字节的定义可以参见硬盘分区结构信息。

80或者是00,引导分区。找os用的.文件系统标识为07则表示是NTFS

分区表项的第九,十,十一,十二字节,这四个字节代表分区之前的扇区数,意思是从分区的起始到硬盘的第一个扇区之前有多少扇区,其实是很隐晦地告诉我们分区从哪里起始

 分区表的十三,十四,十五,十六字节代表分区的大小,这四个字节表示分区的扇区数。

拓展分区中的DPT的9,10,11,12字节表示下一个逻辑分区的起始扇区与本扇区的差值

从而实现链式存储,可以推算一个分区最大不能大过2Tb;

结束标志字
结束标志字55,AA(偏移1FEH- 偏移1FFH)是MBR扇区的最后两个字节,是检验主引导记录是否有效的标志。

电脑启动过程

  • 系统开机或者重启。
  • BIOS 加电自检 ( Power On Self Test -- POST )。BIOS执行内存地址为 FFFF:0000H 处的跳转指令,跳转到固化在ROM中的自检程序处,对系统硬件(包括内存)进行检查。
  • 读取主引导记录(MBR)扇区。当BIOS检查到硬件正常并与 CMOS 中的设置相符后,按照 CMOS 中对启动设备的设置顺序检测可用的启动设备。BIOS将相应启动设备的第一个扇区(也就是MBR扇区)读入内存地址为0000:7C00H 处。
  • 检查0000:7DFEH-0000:7DFFH(MBR的结束标志位)是否等于 AA55H,若不等于则转去尝试其他启动设备,如果没有启动设备满足要求则显示"NO ROM BASIC"然后死机。
  • 当检测到有启动设备满足要求后,BIOS将控制权交给相应启动设备。启动设备的MBR将自己复制到0000:0600H处, 然后继续执行。
  • 在主分区表中搜索标志为活动的分区,也就是检验磁盘分区表DPT的首字节是不是80H。如果检测到80H,则表示该分区为活动分区,将该活动分区的第一个扇区(操作系统引导记录区,Dos Boot Recorder,DBR)读入内存地址 0000:7C00H 处。
  • 检查0000:7DFEH-0000:7DFFH(DBR的结束标志位)是否等于 AA55H, 若不等于则显示 : "Missing Operating System" 然后停止。
  • 当检测到有分区满足要求后,MBR将控制权交给相应的活动分区。

for short:
BIOS -> 硬盘MBR -> 活动分区DBR -> 操作系统

 

 搞定MBR!

posted @ 2013-03-04 19:57  Come~on!  阅读(584)  评论(0编辑  收藏  举报