主引导扇区(MBR),分区表(DPT)及活动分区(DBR)
主引导扇区(MBR),分区表(DPT)及活动分区(DBR)
主引导扇区:硬盘的0柱⾯、0磁头、1扇区(也叫主引导记录MBR),⼤⼩为512Byte。
分区表(DPT):位于主引导分区,从偏移01BEH开始到偏移01FDH结束的64字节。
活动分区DBR:DBR(DOS BOOT RECORD,原意为DOS引导记录),位于柱⾯0,磁头1,扇区1(操作系统可以访问的第⼀个扇区),即逻辑扇区0。DBR分为两部分:DOS引导程序和BPB(BIOS参数块)
⼀、硬盘的0柱⾯、0磁头、1扇区称为主引导扇区(也叫主引导记录MBR),该记录占⽤512个字节,它⽤于硬盘启动时将系统控制权转给⽤户指定的、在分区表中登记了某个操作系统分区。MBR的内容是在硬盘分区时由分区软件(如FDISK)写⼊该扇区的,MBR不属于任何⼀个操作系统,不随操作系统的不同⽽不同,即使不同,MBR也不会夹带操作系统的性质,具有公共引导的特性。但安装某些多重引导功能的软件或LINUX的LILO时有可能改写它;它先于所有的操作系统被调⼊内存并发挥作⽤,然后才将控制权交给活动主分区内的操作系统。      MBR由三部分构成:
1.主引导程序代码,占446字节
2.硬盘分区表DPT,占64字节
3.主引导扇区结束标志AA55H
标准 MBR 结构
地址描述长度
(字节)
Hex Oct Dec
0000 0000 0 代码区 440
(最⼤ 446)
01B8 0670 440 选⽤软盘标志 4
01BC 0674 444 ⼀般为空值; 0x0000 2
01BE 0676 446 标准 MBR 分区表规划
(四个16 byte的主分区表⼊⼝) 64
01FE 0776 510 55h MBR 有效标志:
0xAA55 2
01FF 0777 511 AAh
MBR, 总⼤⼩: 446 + 64 + 2 = 512
⼆、硬盘的主引导程序代码是从偏移0000H开始到偏移01BDH结束的446字节;主引导程序代码包括⼀⼩段执⾏代码。启动PC 机时,系统⾸先对硬件设备进⾏测试,成功后进⼊⾃举程序INT 19H;然后读系统磁盘0柱⾯、0磁头、1扇区的主引导扇区MBR的内容到内存指定单元0:7C00 ⾸地址开始的区域,并执⾏MBR程序段。
主引导代码实现下列功能:
1.扫描分区表查活动分区;
2.寻活动分区的起始扇区;系统错误
3.将活动分区的引导扇区读到内存;
4.执⾏引导扇区的运⾏代码。
如果主引导代码未完成这些功能,系统显⽰下列错误信息:
Invalid partition table
Error loading operating system
Missing operating system
三、硬盘分区表DPT是从偏移01BEH开始到偏移01FDH结束的64字节;硬盘分区表分为四⼩部分,每⼀⼩部分表⽰⼀个分区的信息,占16字节。在这⾥我们可以看出,硬盘的总分区数*(主分区+扩展分区)为什么不能⼤于4。扩展分区数不得⼤于1,当前活动分区数必须⼩于等于 1。这⾥有下⾯⼏点需要注意:
1.Windows系统默认情况下,⼀般都是只划分⼀个主分区给系统,剩余的部分全部划⼊扩展分区。如果存在多个主分区,那么除活动主分区外,其余分区均不可见。(2000/NT之后,在磁盘管理器中可见)
2.在MBR分区表中最多4个主分区或者3个主分区+1个扩展分区,也就是说扩展分区只能有⼀个,然后可以再细分为多个逻辑分区。
3.在Linux系统中,硬盘分区命名为sda1-sda4或者hda1-hda4(其中a表⽰硬盘编号可能是a、b、c等等)。在MBR硬盘中,分区号1-4是主分区(或者扩展分区),逻辑分区号只能从5开始。
4.在MBR分区表中,⼀个分区最⼤的容量为2T,且每个分区的起始柱⾯必须在这个disk的前2T内。你有⼀个3T的硬盘,根据要求你⾄少要把它划分为2个分区,且最后⼀个分区的起始扇区要位于硬盘的前2T空间内。如果硬盘太⼤则必须改⽤GPT。
硬盘分区结构信息
偏移长度(字节) 意义
00H 1 分区状态:00-->⾮活动分区;80--> 活动分区;
其它数值没有意义
01H 1 分区起始磁头号(HEAD),⽤到全部8位
02H 2 分区起始扇区号(SECTOR),占据02H的位0-5;
该分区的起始磁柱号(CYLINDER),占据
02H的位6-7和03H的全部8位
04H 1 ⽂件系统标志位,如82--> Linux Native分区 83--> Linux Swap 分区
05H 1 分区结束磁头号(HEAD),⽤到全部8位
06H 2 分区结束扇区号(SECTOR),占据06H的位0-5;
该分区的起始磁柱号(CYLINDER),占据
06H的位6-7和07H的全部8位
08H 4 分区起始绝对扇区
0CH 4 分区总的扇区数
四、主引导扇区的最后两个字节(偏移1FEH和偏移1FFH),其值为AA55H,如果这两个标志被修改(有些病毒就会修改这两个标志),则系统引导时将报告不到有效的分区表。
五、活动分区DBR
DBR(Dos Boot Record)原意为DOS引导记录,通常位于磁盘0磁道1柱⾯1扇区(操作系统可以访问的第⼀个扇区),其逻辑扇区号为0。
DBR分为两个部分:
1) DOS引导程序
DOS引导程序的主要任务是当MBR将系统控制权交给它时,判断本分区根⽬录前两个⽂件是不是操作系统的引导⽂件(即IO.SYS和MSDOS.SYS),如果确定存在,就把它读⼊内存,并把控制权交给它。
2) BPB(BIOS Parameter Block ,BIOS参数块)
BPB⽤来描述本DOS分区的磁盘信息,它位于DBR偏移0BH处,共13字节。
它的记录包括本分区的起始扇区、结束扇区、⽂件存储格式、硬盘介质描述符、根⽬录⼤⼩、FAT个数,分配单元的⼤⼩等重要参数。
以上仅以DOS(FAT16)分区为例,⽬前DOS已如他⽇黄花,现在的引导程序已经被更新更先进的引导程序所代替,但不管怎样的引导程序,仍与DOS引导程序处于相同位置。
所以现在的0磁道1柱⾯1扇区这个位置,准确地说不能叫作DBR,⽽应该改称为 OBR(OS Boot Record),即操作系统引导扇区,OBR(DBR)是⾼级格式化程序产⽣的,如FORMAT、PM、、DISKPART以及Windows的磁盘管理器等。
注:使⽤WinHex可以读取磁盘的引导扇区数据。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。