硬盤維修知識
更多

教你如何備份主引導區

作者:佚名    文章來源:不詳    點擊數:    更新時間:2011/6/18
    核心提示:主引導扇區,也就是們常說的MBR(MASTERBOOTSECTOR),硬盤的第一個扇區,位于硬盤的0柱0面1扇,是PC機在系統引導時最先讀取的扇區,這個扇包含了兩個部分,一小段裝入程序和一個硬盤分區表
主引導扇區,也就是們常說的 MBR(MASTER BOOT SECTOR),硬盤的第一個扇區,位于硬盤的0柱0面1扇,是 PC 機在系統引導時最先讀取的扇區,這個扇包含了兩個部分,一小段裝入程序和一個硬盤分區表,其中裝入程序的作用是用來將可啟動的操作系統分區的第一個扇區(記住:是操作系統的第一個扇區,不是硬盤的第一個扇區!),也就是我們常說的引導區(很多人分不清引導區和主引導區的不同),裝入內存,并將控制權交給引導程序,從而實現操作系統的引導。裝入程序一旦被病毒或惡意程序破壞,硬盤將不能用于引導。硬盤分區表大家可能比較熟悉,其中是硬盤的分區信息,一旦遭到破壞,其后果是硬盤找不到分區,硬盤數據丟失。可見 MBR 區是多么的重要,正因為它的重要,才有許多病毒或是惡意代碼才把苗頭指向了它,一不留神,你可能就要和你的數據說“886”了,如果你的硬盤有重要數據的話,你可能可以通過重建分區的辦法找回一些或是全部的文件,記得幾年前,我們單位的一臺機器被 CIH 感染并發作了,我花了一整天的時間才將分區表重建好,我當時在就在想,要是我早備份了主引導區就好,于是我就動手寫了兩個小程序,用于備份硬盤的主引導區,在這我加上詳細的注釋把源程序貼了出來,給大家看看,有興趣的朋友可以自己編譯、鏈接,之后你就可以用來備份你的分區表了,記住有備無患、防范未然啊!

其中 MBR1.ASM 通過編譯、鏈接后生成 MBR1.EXE,用來將主引導區備份到軟區。MBR2.ASM 編譯、鏈接后生成 MBR2.EXE,萬一主引導區遭到破壞,用于將 MBR1.EXE 備份的主引導區寫回硬盤。

MBR1.ASM 的源程序如下:

;MBR1.ASM
;本程序用于備份硬盤的主引導區
DATA SEGMENT
D1 DB "本程序用于將硬盤的主引導區備份到A:\BOOT.DAT中。",0dh,0ah
db " 作者:風般的男人",0dh,0ah
db " E-MAIL:tyhhyf@hotmail.com",0dh,0ah
db " OICQ:86633320",0dh,0ah,"$"
D2 DB 'A:\BOOT.DAT',00H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV ES,AX
MOVAH,09H
MOVDX,OFFSET D1
INT21H ;顯示字符串D1
MOVAX,0201H
MOVBX,0700H
MOVCX,0001H
MOVDX,0080H
INT13H ;讀MBR區到內存
MOVCX,0020H
MOVDX, OFFSET D2
MOVAH,3CH
INT21H ;建立文件A:\BOOT.DAT
MOVAL,01H
MOVDX, OFFSET D2
MOVAH,3DH
INT21H ;打開文件A:\BOOT.DAT(用于寫)
MOVBX,AX
MOVDX,0700H
MOVCX,0200H
MOVAH,40H
INT21H ;將內存中的MBR區寫入文件中
MOV AH,4CH
INT 21H ;退出程序
CODE ENDS
END START

MBR2.ASM 的源程序如下:

;MBR2.ASM
;本程序用于將 MBR1.EXE 程序在本機硬盤備份的主引導區恢復到本機硬盤的主引導區
DATA SEGMENT
d1 db " #主引導區安裝程序#",0dh,0ah
db " 作者:風般的男人",0dh,0ah
db " E-MAIL:tyhhyf@hotmail.com",0dh,0ah
db " OICQ:86633320"0dh,0ah,"$"
d2 db " !!!警告!!!",0dh,0ah
db " 本程序僅用于將MBR1.EXE程序在本機硬盤備份的主引導區A:\BOOT.DAT"
db "文件(該文件必須在A盤根目錄上)恢復到本機硬盤的主引導區,否則硬盤分區"
db "會丟失,不聽警告,后果自負!"0dh,0ah
db " 確認要執行么?(Y/N)",0dh,0ah,"$"
d3 db " A:\BOOT.DAT文件沒找到!",0dh,0ah,"$"
d4 db "A:\BOOT.DAT",00H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV ES,AX
MOVAH,09H
MOVDX,OFFSET D1
INT21H ;顯示字符串d1
MOVAH,00H
INT16H ;等待用戶按任意鍵鍵繼續
MOVAH,07H
MOVAL,00H
MOVBH,0A4h
MOVCX,0000H
MOVDX,184FH
INT10H ;設置顯示方式(背景綠,前景紅)
MOVAH,09H
MOVDX,OFFSET D2
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,OFFSET D4;
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,OFFSET D3 ;顯示出錯信息
INT21H
MOVAH,4CH
INT21H ;退出程序
CODE ENDS
END START

當然,你也可以用一些其他的工具對分區表進行操作,比如 KV300,但是你要是和我一樣窮買不起正版又和我一樣尊重知識產權的話,你就照我的去做吧:) 說到這,我的程序也介紹完了,程序本身并沒有什么值得多說的地方,我要說的是希望大家能提高安全意識,及時備份分區表,記住在你每次重新分區,或是用 PQmagic 之類的軟件對分區進行操作后都要將你的 MBR 區做個備份,以防不測。有興趣的朋友可以和我聯系,我的 E-mail 和 QQ 在源程序中可以看到。
關于我們 - 辦學優勢 - 培訓課程 - 師資力量 - 培訓費用 - 聯系我們 - 乘車路線 - 網站地圖 - SiteMap - Article
欧美午夜三级福利片在线,欧美色欧美亚洲高清在线视频,欧美人与欧美福利视频,欧美.另类亚洲日本一区二区
亚洲国产美国国产综合一区二区 | 日韩亚洲人成网站在线观看 | 日韩国产欧美中文综合 | 日本在线观看中文字幕无线观看 | 亚洲国产视频中文字幕 | 在线亚洲国产热视频 |