计算机的故障大多与硬盘系统有关。特别是计算机病毒,它首选的攻击目标是硬盘的主引导区和系统引导区。因此,日常维护时,对引导区的备份就显得尤为重要。
硬盘的主引导区存放的是系统的主引导信息、分区信息。系统引导区存放的是DOS或Windows的引导系统、分区大小、分区的FAT表、每道扇区数和隐藏扇区数等参数。两个引导区的任何信息遇到破坏,都会引起硬盘无法启动,严重的还不能识别启动盘,无法读取数据。这就是硬盘的主引导区和系统引导区成为病毒攻击的首选对象的原因。所以对计算机工作者来讲,最好是将硬盘所有分区的主引导区、系统引导区分别读出来,保存为一个文本文件。这样,在硬盘分区信息被破坏时可以轻易修复。
本文介绍用debug汇编程序读取和保存硬盘各分区的主引导区和系统引导区的方法。
一、处理C盘的主引导区信息
1.读取程序如下:
XXXX:XXXX mov Dx,80
XXXX:XXXX mov Cx,01
XXXX:XXXX mov Bx,200
XXXX:XXXX mov Ax,201
XXXX:XXXX int 13
XXXX:XXXX int 20
程序(1)
程序执行后在地址200H~3FFH处显示C盘的主引导区信息。
2.保存主引导区信息,命名为cboot.txt
-m 200 3FF 100
’将主引导区信息移至地址100H处
-r
-cx 200 ’保存字节200H
-n cboot.txt ’文件名为cboot.txt
-w ’写盘
二、处理C盘的系统引导区信息
1.读取程序如下:
XXXX:XXXX mov Dx,0180
XXXX:XXXX mov Cx,01
XXXX:XXXX mov Bx,200
XXXX:XXXX mov Ax,201
XXXX:XXXX int 13
XXXX:XXXX int 20
程序(2)
程序执行后在地址400H~5FFH处显示C盘的系统引导区信息。
2.保存系统信息,命名为csys.txt
-m 400 5FF 100
-r
-cx 200 ’保存字节200H
-n csys.txt ’文件名为csys.txt
-w ’写盘
三、处理D盘(逻辑盘)的主引导区信息
1.读取D盘的主引导区信息
读取D盘的主引导区信息稍为复杂。必须先从启动盘的分区表中获取逻辑盘(D、E等)的起始位置,然后再将起始位置的区号、磁道数放入寄存器CX。
逻辑盘的起始值放在C盘的主引导区地址1D0~1D1H 处,本例的值为41FE。
XXXX:03D0 41 FE 0F FE FF FF 7E 04
- 7D 00 CE E3 4C 01 00 00
则只须将程序(1)的第二条语句:mov Cx,01
改为:mov Cx,FE41
其余不变。执行后,在200H-3FFH处即是D盘的主引导区信息。
对于其余逻辑盘(E、F等)的操作类似。
2.保存主引导区信息,命名为dboot.txt
-m 200 3FF 100
’将主引导区信息移至地址100H处
-r
-cx 200 ’保存字节200H
-n dboot.txt ’文件名为cboot.txt
-w ’写盘
四、处理D盘的系统引导扇区
1.读取引导区信息
从C盘分区表1D0H~1D1H处得出D盘的相对地址为 41FE,将程序(2)中第二条语句:mov Cx,01
改成 mov Cx,FE41,其余不变。执行后,在400H~ 5FFH处即是D盘的系统引导区信息。
2.保存系统信息,命名为dsys.txt
-m 400 5FF 100
-r
-cx 200 ’保存字节200H
-n dsys.txt ’文件名为csys.txt
-w ’写盘
对于其余逻辑盘(E、F等)的操作与上面类似。(韩平)
|