MBR
电脑故障提供关于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)是硬盘有效标志。
引导扇区是每个分区(Partition)的第一扇区,而主引导扇区是硬盘的第一扇区。它由三个部分组成,主引导记录MBR、硬盘分区表DPT和硬盘有效标志。在总共512字节的主引导扇区里MBR占446个字节(偏移0--偏移1BDH),DPT占64个字节(偏移1BEH--偏移1FDH),最后两个字节“55AA”(偏移1FEH--偏移1FFH)是硬盘有效标志。
MBR功能
检查分区表
搜索可引导分区
加载活动分区的第一扇区(DOS Boot Record)
搜索可引导分区
加载活动分区的第一扇区(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,如果该标志错误系统就不能启动。
•主引导程序:偏移地址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”是分区表的结束标志,如果这两个标志被修改(有些病毒就会修改这两个标志),则系统引导时将报告找不到有效的分区表。
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=错误代码
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 命令进行分区, 难能清除此类病毒, 原因是当它读得检验标志完好, 自动
命令适用于:
1. 主引导程序受损
常见故障,硬盘不能自举,微机死锁,或显示 boot failure-insert system diskette; 经由软盘引导, fdisk 命令能列出分区信息。取硬盘同版本 dos 软盘或应急盘引导, 运行 a>fdisk /mbr 命令,仅向主引导扇区写入当前系统固有的主引导程序, 硬盘即恢复自举能力, dos 引导信息及系统文件等均正常。
2. 清除嵌入式主引导型病毒
此类病毒常见, 它们仅以先导模块嵌入主引导程序, 不触动分区表及检验标志。首选以检出此类病毒的软件清除。
遇杀毒软件不效, 简洁高效的对策是以硬盘同版本 dos 软盘引导, 运行 a>fdisk /mbr 命令, 向硬盘单一地写入当前系统固有的主引导程序, 病毒“先导”模块被覆盖, 分藏它处的残部随之丧失作用。
以常规 fdisk 命令进行分区, 难能清除此类病毒, 原因是当它读得检验标志完好, 自动