核心提示:主引导扇区,也就是们常说的MBR(MASTERBOOTSECTOR),硬盘的第一个扇区,位于硬盘的0柱0面1扇,是PC机在系统引导时最先读取的扇区,这个扇包含了两个部分,一小段装入程序和一个硬盘分区表
主引导扇区,也就是们常说的MBR(MASTERBOOTSECTOR),硬盘的第一个扇区,位于硬盘的0柱0面1扇,是PC机在系统引导时最先读取的扇区,这个扇包含了两个部分,一小段装入程序和一个硬盘分区表,其中装入程序的作用是用来将可启动的操作系统分区的第一个扇区(记住:是操作系统的第一个扇区,不是硬盘的第一个扇区!),也就是泊祎电脑回收网小编们常说的引导区(很多人分不清引导区和主引导区的不同),装入内存,并将控制权交给引导程序,从而实现操作系统的引导。装入程序一旦被病毒或恶意程序破坏,硬盘将不能用于引导。硬盘分区表大家可能比较熟悉,其中是硬盘的分区信息,一旦遭到破坏,其后果是硬盘找不到分区,硬盘数据丢失。可见MBR区是多么的重要,正因为它的重要,才有许多病毒或是恶意代码才把苗头指向了它,一不留神,你可能就要和你的数据说“886”了,如果你的硬盘有重要数据的话,你可能可以通过重建分区的办法找回一些或是全部的文件,记得几年前,泊祎电脑回收网小编们单位的一台机器被CIH感染并发作了,泊祎电脑回收网小编花了一整天的时间才将分区表重建好,泊祎电脑回收网小编当时在就在想,要是泊祎电脑回收网小编早备份了主引导区就好,于是泊祎电脑回收网小编就动手写了两个小程序,用于备份硬盘的主引导区,在这泊祎电脑回收网小编加上详细的注释把源程序贴了出来,给大家看看,有兴趣的朋友可以自己编译、链接,之后你就可以用来备份你的分区表了,记住有备无患、防范未然啊!
其中MBR1.ASM通过编译、链接后生成MBR1.EXE,用来将主引导区备份到软区。MBR2.ASM编译、链接后生成MBR2.EXE,万一主引导区遭到破坏,用于将MBR1.EXE备份的主引导区写回硬盘。
MBR1.ASM的源程序如下:
;MBR1.ASM
;本程序用于备份硬盘的主引导区
DATASEGMENT
D1DB"本程序用于将硬盘的主引导区备份到A:\BOOT.DAT中。",0dh,0ah
db"作者:风般的男人",0dh,0ah
db"E-MAIL:tyhhyf@hotmail.com",0dh,0ah
db"OICQ:86633320",0dh,0ah,"$"
D2DB'A:\BOOT.DAT',00H
DATAENDS
CODESEGMENT
ASSUMECS:CODE,DS:DATA,ES:DATA
START:
MOVAX,DATA
MOVDS,AX
MOVES,AX
MOVAH,09H
MOVDX,OFFSETD1
INT21H;显示字符串D1
MOVAX,0201H
MOVBX,0700H
MOVCX,0001H
MOVDX,0080H
INT13H;读MBR区到内存
MOVCX,0020H
MOVDX,OFFSETD2
MOVAH,3CH
INT21H;建立文件A:\BOOT.DAT
MOVAL,01H
MOVDX,OFFSETD2
MOVAH,3DH
INT21H;打开文件A:\BOOT.DAT(用于写)
MOVBX,AX
MOVDX,0700H
MOVCX,0200H
MOVAH,40H
INT21H;将内存中的MBR区写入文件中
MOVAH,4CH
INT21H;退出程序
CODEENDS
ENDSTART
MBR2.ASM的源程序如下:
;MBR2.ASM
;本程序用于将MBR1.EXE程序在本机硬盘备份的主引导区恢复到本机硬盘的主引导区
DATASEGMENT
d1db"#主引导区安装程序#",0dh,0ah
db"作者:风般的男人",0dh,0ah
db"E-MAIL:tyhhyf@hotmail.com",0dh,0ah
db"OICQ:86633320"0dh,0ah,"$"
d2db"!!!警告!!!",0dh,0ah
db"本程序仅用于将MBR1.EXE程序在本机硬盘备份的主引导区A:\BOOT.DAT"
db"文件(该文件必须在A盘根目录上)恢复到本机硬盘的主引导区,否则硬盘分区"
db"会丢失,不听警告,后果自负!"0dh,0ah
db"确认要执行么?(Y/N)",0dh,0ah,"$"
d3db"A:\BOOT.DAT文件没找到!",0dh,0ah,"$"
d4db"A:\BOOT.DAT",00H
DATAENDS
CODESEGMENT
ASSUMECS:CODE,DS:DATA,ES:DATA
START:
MOVAX,DATA
MOVDS,AX
MOVES,AX
MOVAH,09H
MOVDX,OFFSETD1
INT21H;显示字符串d1
MOVAH,00H
INT16H;等待用户按任意键键继续
MOVAH,07H
MOVAL,00H
MOVBH,0A4h
MOVCX,0000H
MOVDX,184FH
INT10H;设置显示方式(背景绿,前景红)
MOVAH,09H
MOVDX,OFFSETD2
INT21H;显示字符串d2(因为此程序有一定的危险性,所以
;警告一定要显眼)
READ_KEYBOARD:
MOVAH,00H
INT16H
ORAL,20H
CMPAL,79H
JZWRITE;是Y/y的话就跳转到写MBR区处
CMPAL,6EH
JZEXIT;是N/n的话跳转到退出处
JMPREAD_KEYBOARD;是其他键就重新读键
EXIT:
MOVAH,07H
MOVAL,00H
MOVBH,07H
MOVCX,0000H
MOVDX,184FH
INT10H;清屏
MOVAH,4CH
INT21H;退出程序
WRITE:
MOVAH,3DH
MOVDX,OFFSETD4;
MOVAL,00H
INT21H;打开A:\BOOT.DAT
JBERROR
PUSHAX
MOVAH,3FH
MOVDX,7000H
MOVCX,0200H
POPBX
INT21H;将A:\BOOT.DAT读入内存
MOVAH,03H
MOVAL,01H
MOVBX,7000H
MOVCX,0001H
MOVDX,0080H
INT13H;写入硬盘MBR区
JMPEXIT;跳转到退出程序处
ERROR:
MOVAH,09H
MOVDX,OFFSETD3;显示出错信息
INT21H
MOVAH,4CH
INT21H;退出程序
CODEENDS
ENDSTART
当然,你也可以用一些其他的工具对分区表进行操作,比如KV300,但是你要是和泊祎电脑回收网小编一样穷买不起正版又和泊祎电脑回收网小编一样尊重知识产权的话,你就照泊祎电脑回收网小编的去做吧:)说到这,泊祎电脑回收网小编的程序也介绍完了,程序本身并没有什么值得多说的地方,泊祎电脑回收网小编要说的是希望大家能提高安全意识,及时备份分区表,记住在你每次重新分区,或是用PQmagic之类的软件对分区进行操作后都要将你的MBR区做个备份,以防不测。有兴趣的朋友可以和泊祎电脑回收网小编联系,泊祎电脑回收网小编的E-mail和QQ在源程序中可以看到。