一哥MBR(硬盘主引导记录分析)

一哥MBR(硬盘主引导记录分析)

版本:v2.4.1 绿色免费版大小:7KB

类别: 硬盘工具 系统:WinAll, WinXP, Win7, Win8, Win10

立即下载
  • 一哥MBR(硬盘主引导记录分析) v2.4.1 绿色免费版0

mbr分区软件是一款专门用来解决硬盘分区问题的软件哦,小巧方便,使用起来功能也很强大,感兴趣的朋友赶紧来绿色资源网下载吧!

mbr分区软件介绍

MBR,全称为Master Boot Record,即硬盘的主引导记录。

为了便于理解,一般将MBR分为广义和狭义两种:广义的MBR包含整个扇区(引导程序、分区表及分隔标识),也就是上面所说的主引导记录;而狭义的MBR仅指引导程序而言。

硬盘的0柱面、0磁头、1扇区称为主引导扇区(也叫主引导记录MBR)。它由三个部分组成,主引导程序、硬盘分区表DPT(Disk Partition table)和硬盘有效标志(55AA)。在总共512字节的主引导扇区里主引导程序(boot loader)占446个字节,第二部分是Partition table区(分区表),即DPT,占64个字节,硬盘中分区有多少以及每一分区的大小都记在其中。第三部分是magic number,占2个字节,固定为55AA。

MBR是不属于任何一个操作系统,也不能用操作系统提供的磁盘操作命令来读取它,但可以通过命令来修改和重写,如在minix3里面,可以用命令:installboot -m /dev/c0d0 /usr/mdec/masterboot来把masterboot这个小程序写到mbr里面,masterboot通常用汇编语言来编写。我们也可以用ROM-BIOS中提供的INT13H的2号功能来读出该扇区的内容,也可用软件工具Norton8.0中的DISKEDIT.EXE来读取。

用INT13H的读磁盘扇区功能的调用参数如下:

入口参数:AH=2 (指定功能号)

AL=要读取的扇区数

DL=磁盘号(0、1-软盘;80、81-硬盘)

DH=磁头号

CL高2位+CH=柱面号

CL低6位=扇区号

CS:BX=存放读取数据的内存缓冲地址

出口参数:CS:BX=读取数据存放地址

错误信息:如果出错CF=1 AH=错误代码

用DEBUG读取位于硬盘0柱面、0磁头、1扇区的操作如下:

A>DEBUG

-A 100

XXXX:XXXX MOV AX,0201 (用功能号2读1个扇区)

XXXX:XXXX MOV BX,1000 (把读出的数据放入缓冲区的地址为CS:1000)

XXXX:XXXX MOV CX,0001 (读0柱面,1扇区)

XXXX:XXXX MOV DX,0080 (指定第一物理盘的0磁头)

XXXX:XXXX INT 13

XXXX:XXXX INT 3

XXXX:XXXX (按回车键)

-G=100 (执行以上程序段)

-D 1000 11FF (显示512字节的MBR内容)

windows操作系统下,例如xp,2003,Vista,windows7,有微软提供的接口直接读写mbr;

FILE * fd=fopen("\\\\.\\PHYSICALDRIVE0","rb+");

char buffer[512];

fread(buffer,512,1,fd);

//then you can edit buffer[512] as your wish......

fseek(fd,0,SEEK_SET); //很重要

fwrite(buffer,512,1,fd); //把修改后的MBR写入到你的机器

fclose(fd); //大功告成

具体含义如下:

(1)0x00~0x1BD:446个字节,包含一段指令,用以通知计算机如何访问分区表并定位操作系统的位置

这部分的代码会因为操作系统不同而不同,利用引导代码可以实现多重系统引导。多系统引导有两种方法可以实现:一种方法是用Windows操作系统在引导分区中设置一段代码,先加载进入用户选择系统的界面,允许用户选择要进入的系统,再进入指定的系统;第二种方法是改变MBR中的引导代码,该代码直接呈现给用户一个选择系统的界面。

(2)0x1BE~0x1FD:64个字节,4个分区表项,每个表项占用16个字节,描述一个分区,最多可以描述4个分区(这就是为什么MBR分区体系只能分成4个区【我们平时看到的分区一般可以从26个字母中选取任意多个当做分区标识(多于4个),这是因为那些分区是逻辑分区,这里的4个分区指的是主分区和扩展分区的数目,而逻辑分区是在扩展分区中划分出来的,也叫做二级、三级扩展分区。】)。

分区表项并没有顺序要求,即不要求第一个分区表项在第二个分区表项前。

分区表也不要求从第一个分区表项开始

(3)0x1FE~0x1FF:2个字节,有效结束标志“55AA”。如果没有这个标志,操作系统会认为磁盘没有初始化,无法正确加载磁盘的分区。

分区表参数含义(字节)

1 活动(80)或非活动分区(00)

2 3 4 起始的磁头 01 柱面 01 扇区00值

5 分区类型符 NTFS(07)FAT32(0B)扩展(0F)

6 7 8 结束的磁头 FE 柱面 FF 扇区FF值

9 10 11 12 本分区之前已用扇区数

13 14 15 16 本分区大小

虚拟MBR

即 EBR (extent boot record)扩展引导记录

其记录表项 与MBR相同 ,用于管理扩展还能分区上的逻辑驱动器。

查看全部

更新时间:2017-08-19
网友评论
我要跟贴
取消
同类推荐
热门精品
最新应用