1 MBR常识介绍

MBR(Master Boot Record),是硬盘的主引导记录,在主引导扇区,位于硬盘的cylinder 0, head 0, sector 1 (Sector是从1开始的)。MBR可以通过FDISK创建,通过INT 13h的fun 2来读取。

引导扇区是每个分区(Partition)的第一扇区,而主引导扇区是硬盘的第一扇区。它由三个部分组成,主引导记录MBR、硬盘分区表DPT和硬盘有效标志。在总共512字节的主引导扇区里MBR占446个字节(偏移0--偏移1BDH),DPT占64个字节(偏移1BEH--偏移1FDH),最后两个字节“55AA”(偏移1FEH--偏移1FFH)是硬盘有效标志。
 
MBR功能
检查分区表

搜索可引导分区

加载活动分区的第一扇区(DOS Boot Record)
  
MBR组成
一个扇区的硬盘主引导记录MBR由4个部分组成:

•主引导程序:偏移地址0000H--0088H,它负责从活动分区中装载,并运行系统引导程序。

•出错信息数据区:偏移地址0089H--00E1H为出错信息,00E2H--01BDH全为0字节。

•分区表(DPT,DiskPartitionTable):含4个分区项,偏移地址01BEH--01FDH,每个分区表项长16个字节,共64字节为分区项1、分区项2、分区项3、分区项4。

•结束标志字:偏移地址01FE--01FF的2个字节值为结束标志55AA,如果该标志错误系统就不能启动。  
MBR结构
0 字节 分区状态: 如0-->非活动分区,80--> 活动分区

1 字节 该分区起始头(HEAD)

2 字节 该分区起始扇区和起始柱面

4 字节 该分区类型,如82--> Linux Native分区,83--> Linux Swap 分区

5 字节 该分区终止头(HEAD)

6 字节 该分区终止扇区和终止柱面

8 双字节 该分区起始绝对分区

C 双字节 该分区扇区数

最后的两个标志“55 AA”是分区表的结束标志,如果这两个标志被修改(有些病毒就会修改这两个标志),则系统引导时将报告找不到有效的分区表。  
读取MBR
入口参数:AH=2 (指定功能号)

AL=要读取的扇区数

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

DH=磁头号

CL高2位+CH=柱面号

CL低6位=扇区号

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

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

错误信息:如果出错CF=1 AH=错误代码  
修复MBR
fdisk /mbr :重写硬盘主引导区,注意中间有个空格。

命令适用于:

1. 主引导程序受损

常见故障,硬盘不能自举,微机死锁,或显示 boot failure-insert system diskette; 经由软盘引导, fdisk 命令能列出分区信息。取硬盘同版本 dos 软盘或应急盘引导, 运行 a>fdisk /mbr 命令,仅向主引导扇区写入当前系统固有的主引导程序, 硬盘即恢复自举能力, dos 引导信息及系统文件等均正常。

2. 清除嵌入式主引导型病毒

此类病毒常见, 它们仅以先导模块嵌入主引导程序, 不触动分区表及检验标志。首选以检出此类病毒的软件清除。

遇杀毒软件不效, 简洁高效的对策是以硬盘同版本 dos 软盘引导, 运行 a>fdisk /mbr 命令, 向硬盘单一地写入当前系统固有的主引导程序, 病毒“先导”模块被覆盖, 分藏它处的残部随之丧失作用。

以常规 fdisk 命令进行分区, 难能清除此类病毒, 原因是当它读得检验标志完好, 自动逾越主引导程序写操作, 仅登录分区表。硬盘格式化后不能自举。行之有效的措施是运行 a>fdisk /mbr命令。

3. 仅设基本 dos 分区硬盘的主引导信息全损

前述表现之外, 执行 a>c:, 显示 invalid drive specification,分区表遭毁; fdisk 命令不能列出分区信息。

分别运行原用的 ms dos 7.0 及 7.1 fdisk /mbr命令, 常规重写全套完全适用的主引导信息, 由于其 dos 引导信息、文件分配表、根目录及用户数据完好, c 盘均迅即康复。

4. 清除 lilo 信息

在以系统自带的 linux load 过程中, 每修改主引导信息, 籍以引导 linux。

需要时, 删除 linux 分区后, 可用 fdisk /mbr 命令恢复系统固有的主引导程序。

5. 清除主引导程序“空闲”字节中的外加信息

既往所见各版本 dos 登录的主引导程序基本相同, 其末段均为大于200 字节的“空闲”(00h); ms dos 7.1 / 8.0 使用新版主引息程序, “空闲”字节数大减。

上述“空闲”字节有被利用登录开机密码、软件鉴别信息之类。若有需要, 也可用 fdisk /mbr 命令复原, 即予清除。

 

2 修复MBR方法

硬盘,在BIOS里正常识别,但是用低格软件和Winxp 格式化功能都不行,提示:MBR读取错误。应该是引导扇区读不出来了.

请用以下方法解决:

方法1:首先用光驱引导或者用软驱进入纯dos模式,再用 fdisk /mbr 命令恢复系统固有的主引导程序

方法2:用xp安装盘,进入恢复控制台, fixmbr x:

方法3:WinXP以上系统使用Diskpart命令里面的Clean擦出MBR