




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、用DEBU夠復(fù)硬盤 MBFfH DBR用DEBU修復(fù)硬盤 MBR和DBR(2011-05-16 17:19:43)在硬盤的數(shù)據(jù)結(jié)構(gòu)中,主引導(dǎo)記錄 MBR和DOS引導(dǎo)記錄DBR占有非常重要的地 位。一旦它們出現(xiàn)問(wèn)題,輕則無(wú)法從硬盤啟動(dòng),重則造成整個(gè)硬盤或分區(qū)數(shù)據(jù) 無(wú)法讀取,同時(shí)它們又是硬盤數(shù)據(jù)結(jié)構(gòu)中最為脆弱、故障率最高的部位之一。有關(guān)MBR和DBR的修復(fù)方法很多,但是要徹底修復(fù)這個(gè)故障,還是用DEBUGS得徹底。DEBUGS一個(gè)Windows系統(tǒng)自帶的DOS調(diào)試程序。一些第三方的自動(dòng)修復(fù)工具軟件,雖然容易操作,但適用范圍小。以常用的NORTON DISK DOCTORS,用它修復(fù)一些標(biāo)志性字節(jié)(
2、如活動(dòng)分區(qū)標(biāo)志80、結(jié)束標(biāo)志55 AA)錯(cuò)誤是有效的,但 對(duì)于大多數(shù)非標(biāo)志性錯(cuò)誤(如引導(dǎo)程序錯(cuò)誤),它則無(wú)能為力。特別是 DBF中的 許多錯(cuò)誤,它不僅無(wú)法修復(fù),而且很容易造成其他數(shù)據(jù)結(jié)構(gòu)的損壞,致使修復(fù) 更加困難。DEBUG!然操作復(fù)雜,但卻靈活有效。它可針對(duì)不同的故障采用不同 的方法,所有的操作均在修復(fù)者的指令下進(jìn)行。只要操作者頭腦清醒,這種方 法是相當(dāng)安全的。用DEBUGS復(fù)硬盤軟故障,除了應(yīng)當(dāng)掌握 DEBUGS些常用 命令之外,更要弄清MBR和DBR的數(shù)據(jù)結(jié)構(gòu)。希望那些匯編愛(ài)好者們能通過(guò) DEBUG 進(jìn)行理論和實(shí)踐結(jié)合來(lái)修復(fù)故障,解決實(shí)際問(wèn)題。MBR字節(jié)為了正確判斷MBR是否出現(xiàn)故障,故
3、障在哪些字節(jié)上,必須首先調(diào)出 內(nèi)容。為此我們先來(lái)看一下硬盤 MBR數(shù)據(jù)結(jié)構(gòu)。MBR和分區(qū)表結(jié)構(gòu)MBR位于硬盤0柱面、0磁頭、1扇區(qū)上,它由以下三個(gè)部分組成:(1)主引導(dǎo)程序(含出錯(cuò)提示信息),偏移地址為0H-1BDH 分區(qū)表,偏移地址為1BEH-仆DH 結(jié)束標(biāo)志55 AA,偏移地址為1FEH仆FFi在這三部分中,最重要的是分區(qū)表,最難修復(fù)的也是分區(qū)表。不同容量的硬盤 或者硬盤容量相同但分區(qū)不同,分區(qū)表也各不相同。尋找分區(qū)表相同的硬盤, 對(duì)家庭用戶來(lái)說(shuō)是不現(xiàn)實(shí)的。而用相同 DOS版本分區(qū)命令建立的引導(dǎo)程序,是 基本一致的,修復(fù)時(shí)可以互相替代??梢赃@樣認(rèn)為:分區(qū)表修復(fù)了,MBR也就修復(fù)了分區(qū)表中有
4、四個(gè)分區(qū)表項(xiàng),每個(gè)表項(xiàng)長(zhǎng)度為16字節(jié)。通常只使用前兩個(gè)表項(xiàng),后兩個(gè)表項(xiàng)全部為零字節(jié)。分區(qū)表項(xiàng)中各個(gè)項(xiàng)目的偏移地址、字節(jié)數(shù)及含義見(jiàn) A07030701aA 所示。說(shuō)明:整個(gè)硬盤劃分為主分區(qū)和擴(kuò)展分區(qū),其中C盤屬于主分區(qū)(活動(dòng)分區(qū)),其他各盤均屬于擴(kuò)展分區(qū)(非活動(dòng)分區(qū))。以C盤為例:在第一分區(qū)表項(xiàng)中,第1 字節(jié)必須為80,否則無(wú)法從硬盤啟動(dòng)。第2、3、4字節(jié)分別為C盤邏輯0扇區(qū) 所在的磁頭號(hào)、扇區(qū)號(hào)和柱面號(hào),通常為1頭1扇0柱。第6、7、8字節(jié)為C盤尾扇的位置信息硬盤的末磁頭(磁頭號(hào)為硬盤磁頭數(shù)減去1)、末扇區(qū)(63扇)、C盤的終止柱面。第912字節(jié)為C盤邏輯0扇區(qū)之前的隱含扇區(qū)數(shù),常 為63(3
5、F 00 00 00)。第1316字節(jié)為C盤上自邏輯0扇區(qū)開(kāi)始的扇區(qū)總數(shù), 為方便,本文簡(jiǎn)稱為C盤或主分區(qū)的邏輯扇區(qū)總數(shù)。在第二分區(qū)表項(xiàng)中,首字節(jié)00表示本表項(xiàng)為擴(kuò)展分區(qū)。第 2、3、4字節(jié)為擴(kuò)展 分區(qū)中首扇的位置信息一一0磁頭、1扇區(qū),柱面號(hào)則為主分區(qū)(C盤)的終止柱 面號(hào)加1。第6、7、8字節(jié)為擴(kuò)展分區(qū)尾扇(也是整個(gè)硬盤的尾扇)的位置信息 硬盤的末磁頭(磁頭號(hào)為硬盤磁頭數(shù)減去1)、末扇區(qū)(63扇)、末柱面(柱面號(hào)為 硬盤柱面數(shù)減去1)。第912字節(jié)為C盤邏輯扇區(qū)總數(shù)加隱含扇區(qū)數(shù)(63),本 文簡(jiǎn)稱為主分區(qū)扇區(qū)總數(shù)。第1316字節(jié)為擴(kuò)展分區(qū)扇區(qū)總數(shù)。上述二者之和 應(yīng)為硬盤扇區(qū)總數(shù)。重建分區(qū)表
6、時(shí)必須掌握以下數(shù)據(jù):(1)硬盤的磁頭數(shù)、柱面數(shù)和扇區(qū)數(shù)。這三個(gè)數(shù)可由FDISK/MBF創(chuàng)建的分區(qū)表項(xiàng)中獲取,也可由CMO設(shè)置中獲取。二者應(yīng)當(dāng)一致。此三個(gè)數(shù)之乘積即為硬盤的 扇區(qū)總數(shù)。(2)文件系統(tǒng)類型是FAT16或是FAT32此信息應(yīng)由硬盤的使用者提供,或者從 該盤DBR中獲取,還可由FDISK/MBF創(chuàng)建的分區(qū)表項(xiàng)中看出。另外,根據(jù) C盤 的大小也可作出判斷。C盤的邏輯扇區(qū)總數(shù),可由 DBF中獲取。它與隱含扇區(qū)數(shù)之和即為主分區(qū)扇 區(qū)總數(shù)。當(dāng)然,在知道本盤起止柱面號(hào)時(shí),也可計(jì)算出這兩個(gè)扇區(qū)總數(shù)。 主分區(qū)的末扇區(qū)所在的柱面號(hào)及擴(kuò)展分區(qū)首扇區(qū)所在的柱面號(hào),后者比前者 多一個(gè)柱面。擴(kuò)展分區(qū)首扇區(qū)所在
7、的柱面號(hào)按下式計(jì)算:擴(kuò)展分區(qū)起始柱面號(hào)=主分區(qū)扇區(qū)總數(shù)/(63 X硬盤磁頭數(shù))(5)擴(kuò)展分區(qū)扇區(qū)總數(shù)=硬盤扇區(qū)總數(shù)-主分區(qū)扇區(qū)總數(shù)。除了上述MBF之外,如果一個(gè)硬盤有多個(gè)分區(qū),在其他各盤的起始柱面、0磁頭、 1扇區(qū)上,均有該盤的分區(qū)表。但沒(méi)有引導(dǎo)程序。第一表項(xiàng)為本盤的起始磁頭/扇區(qū)/柱面、分區(qū)類型、終止磁頭/扇區(qū)/柱面、隱含扇區(qū)數(shù)、邏輯扇區(qū)總數(shù);第 二表項(xiàng)為下盤(后續(xù)盤)的起始磁頭/扇區(qū)/柱面、分區(qū)類型和終止磁頭/扇區(qū)/柱 面,本盤之前的擴(kuò)展分區(qū)扇區(qū)總數(shù)、下盤 (后續(xù)盤)的扇區(qū)總數(shù)。以此來(lái)構(gòu)成各 盤間的鏈接。查看MBR的HEX顯示了解了以上情況后讓我們來(lái)實(shí)際解決一下如何查看MBF的HEX顯示。
8、A:DEBUG-A1001D2F:0100 MOV AX,02011D2F:0103 MOV BX,10001D2F:0106 MOV CX,11D2F:0109 MOV DX,801D2F:010C INT131D2F:010E INT201D2F:0110-G=100-D1000顯示讀入內(nèi)存的內(nèi)容出現(xiàn)MBR的HEX顯示后,對(duì)照前文MBR吉構(gòu)進(jìn)行檢查,特別注意關(guān)鍵字節(jié)(如55 AA活動(dòng)標(biāo)志80和非活動(dòng)標(biāo)志00等)的內(nèi)容和偏移地址是否正確。例1重建MBR一個(gè)3.5GB硬盤,系統(tǒng)啟動(dòng)時(shí)在更新 ESCD后無(wú)法繼續(xù),提示信息為:“ Diskboot failure ,insert system di
9、sk and press enter.” 只知道該硬盤有多個(gè)分區(qū),但不清楚各盤容量大小。用軟盤啟動(dòng)后,發(fā)現(xiàn)各盤全部丟失??梢耘袛酁镸BR故障,因?yàn)镈BR故障一般不會(huì)造成各盤同時(shí)丟失。在 MBR故障中,這有多種可能:一是活動(dòng)分區(qū)標(biāo)志損 壞,二是結(jié)束標(biāo)志55 AA出錯(cuò),還有可能是整個(gè) MBR被破壞。用前面查看 MBR 的方法,發(fā)現(xiàn)MBR為亂碼,需要重建。用備份的MBR恢復(fù)這是最簡(jiǎn)單的解決方案,假定備份 MBR在軟盤的第2870邏輯扇區(qū)中(見(jiàn)例1), 恢復(fù)方法為:-L10000 B36 1-D1000確認(rèn)備份MBF正常后,繼續(xù):-A1001D2F:0100 MOV AX,03011D2F:0103
10、MOV BX,10001D2F:0106 MOV CX,11D2F:0109 MOV DX,801D2F:010C INT131D2F:010E INT201D2F:0110-G=100退出DEBUG取出軟盤,重新啟動(dòng)即可 在上篇文章中,談到了用備份的MBR來(lái)恢復(fù)損壞的MBR而備份的MBR保存在啟 動(dòng)盤的末尾扇區(qū)中(第2870扇即B36H扇區(qū)。因1.44MB軟盤共2880個(gè)扇區(qū),末 尾扇區(qū)通??臻e未用)。這樣既不影響啟動(dòng)盤的正常使用,同時(shí)又給備份文件恢 復(fù)帶來(lái)了方便。為將正常 MBF備份到啟動(dòng)盤,可將啟動(dòng)盤置入軟驅(qū),在上篇查 看MBR顯示的程序后面接著執(zhí)行:-W1000 0 B36 1-Q退出
11、DEBUG!,就把MBF備份到啟動(dòng)盤的第2870邏輯扇區(qū)中了。最好將備份內(nèi) 容和存放位置做記錄,以免遺忘。此方法不僅可用作常規(guī)下的備份,還可用于 修復(fù)前的備份,以使修復(fù)更加安全。本篇著重介紹重建MBR勺方法。MBR勺故障是十分復(fù)雜的。有時(shí)只是其中某一字 節(jié)出現(xiàn)錯(cuò)誤,有時(shí)也可能是整個(gè) MBF全被損壞。為使故障能夠得到最有效最迅 速的修復(fù),應(yīng)當(dāng)針對(duì)不同的故障部位采取不同的修復(fù)方法,這正符合DEBUGS用靈活的特點(diǎn)。顯然,在這樣一篇短文中,不可能對(duì)所有常見(jiàn)故障一一給出具 體的修復(fù)方法?,F(xiàn)只討論 MBF全損壞的情況。為了保留原有數(shù)據(jù),必須重建和 原來(lái)相同的MBR這無(wú)疑難度最大。但如果將這種修復(fù)方法套用
12、到個(gè)別字節(jié)出錯(cuò)的情況,雖然完全可以排除故障,卻未必合理。合理的修復(fù)方法應(yīng)當(dāng)是小錯(cuò)小改,大錯(cuò)大改,全錯(cuò)重建。在掌握了 MBF的結(jié)構(gòu)之后,用DEBU修復(fù)就不太困難了(以下修復(fù)的方法和思路 也可通過(guò)其他程序如diskedit來(lái)實(shí)現(xiàn))。其中有一些計(jì)算,雖然也可徒手進(jìn)行, 但如有HEX十六進(jìn)制)、DEC十進(jìn)制)和BIN(二進(jìn)制)運(yùn)算功能的小型計(jì)算器, 將大大減輕工作量。仍以上篇3.5GB硬盤的故障為例?,F(xiàn)介紹兩種重建方法。方法一:用FDISK/MBF重建用上篇方法查看MBR勺HEX全為亂碼之后,接著查看DBF是否完好。因此時(shí)各 盤已經(jīng)全部丟失,必須通過(guò) BIOS中斷調(diào)用讀出C盤的DBR-A1001D2F
13、:0100 MOV AX 02011D2F:0103 MOV BX 10001D2F:0106 MOV CX 11D2F:0109 MOV DX 1801D2F:010C INT131D2F:010E INT201D2F:0110-G=100-D1000這時(shí)出現(xiàn)C盤DBF勺HEX顯示(見(jiàn)A08030701aA)。經(jīng)檢查DBF完好。在以上DBF表偏移地址1020H 1023H處,知原C盤的邏輯扇 區(qū)總數(shù)為2EE141H而隱含扇區(qū)數(shù)為3FH,因此原主分區(qū)扇區(qū)總數(shù)=2EE141+3F=2EE18OH并由以上 DBR表的ASCII碼顯示,知原 C盤采用FAT32 文件系統(tǒng)。退出DEBUG運(yùn)行FDISK
14、/MBR重建MBF中的引導(dǎo)程序和結(jié)束標(biāo)志 55 AA,并且 把整個(gè)硬盤創(chuàng)建為一個(gè)活動(dòng)分區(qū)(順便提請(qǐng)注意:對(duì)于多分區(qū)硬盤,在結(jié)束標(biāo)志 55 AA已損壞的情況下,如果分區(qū)表完好,不宜運(yùn)行FDISK/MBR否則將破壞原有的分區(qū)表)。仍進(jìn)入DEBUG查看MBR被損壞的主引導(dǎo)程序和結(jié)束標(biāo)志已重 寫,分區(qū)表項(xiàng)只有一個(gè)表項(xiàng),其內(nèi)容為:11B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 01 11C0 01 00 0B 7F FF 4F 3F 00 00 00 C1 57 68 00 00 00由此又獲得以下信息: 該硬盤起始頭/扇/柱為01/01/00,終止頭
15、/扇/柱為7F/FF/4F,即該硬盤有 128頭,63扇,848柱。此組數(shù)據(jù)也可由CMO設(shè)置中查知。該硬盤的邏輯扇區(qū)總數(shù)為 6857C1H硬盤扇區(qū)總數(shù)=6857C1+3F=685800H由 此知原擴(kuò)展分區(qū)扇區(qū)總數(shù)=685800-2EE180=397680H(3)原擴(kuò)展分區(qū)的起始柱面號(hào)=原主分區(qū)扇區(qū)總數(shù)/(硬盤磁頭數(shù)x扇區(qū)數(shù))=17DH即原主分區(qū)的終止柱面號(hào)為 380(17D-1=17CH)。第一分區(qū)表項(xiàng)的第7、 8字節(jié)共同為主分區(qū)的終止扇區(qū)號(hào)和柱面號(hào),其中前字節(jié)(第7字節(jié))中的低6位為扇區(qū)號(hào),前字節(jié)中的高2位與后字節(jié)(第8字節(jié))合為柱面號(hào)。17CH的二進(jìn)制 為0101111100,它的高兩位0
16、1與111111(因末扇區(qū)號(hào)為63=3F,二進(jìn)制為111111) 合為7F,7F即為第一表項(xiàng)的第7字節(jié)。17CH的二進(jìn)制低8位01111100為7CH 7C即第一表項(xiàng)的第8字節(jié);第一表項(xiàng)的第6字節(jié)(主分區(qū)終止磁頭號(hào))為7F。同 樣的道理,因擴(kuò)展分區(qū)的起始扇區(qū)為1,起始柱面號(hào)為17DH二進(jìn)制為0101111101),知第二表項(xiàng)的第3、4字節(jié)分別為41H和7DH而第2字節(jié)(擴(kuò)展 分區(qū)起始磁頭號(hào))為00Ho另外按規(guī)定FAT32主分區(qū)類型為0B,擴(kuò)展分區(qū)類型為 05(分別為第一表項(xiàng)的第5字節(jié)和第二表項(xiàng)的第5字節(jié))。有了以上數(shù)據(jù),按照上篇 MBR分區(qū)表項(xiàng)說(shuō)明,并注意到扇區(qū)數(shù)目HEX值(主分區(qū)邏輯扇區(qū)總數(shù)
17、為2EE141H擴(kuò)展分區(qū)扇區(qū)總數(shù)為397680H)在存儲(chǔ)單元的存放順 序,對(duì)上述分區(qū)表進(jìn)行修改以恢復(fù)原分區(qū)表 (程序續(xù)前):-E11C0 01 00 0B 7F 7F 7C 3F 00 00 00 41 E1 2E 00 00 00-E11D0 41 7D 05 7F FF 4F 80 E1 2E 00 80 76 39 00 00 00-E102 3-G=100退出DEBUG取出軟盤,重新啟動(dòng),系統(tǒng)恢復(fù)正常。方法二:用復(fù)制法重建 MBR在同一版本DOS分區(qū)命令所建立的MBR中,盡管分區(qū)表隨硬盤或分區(qū)不同而有 所不同,但它們的主引導(dǎo)程序卻具有通用性。為此可用好硬盤同版本MBF中的主引導(dǎo)程序來(lái)覆蓋已被損壞的 MBF引導(dǎo)程序。具體作法是:先將好硬盤MBF寫入軟盤某一扇區(qū)(例如啟動(dòng)盤的第2872即B38H邏輯扇)中,而后進(jìn)行以下操作:-L2000 B38 1-D200確認(rèn)拷貝的MBR無(wú)問(wèn)題后,進(jìn)入已全部損壞的主引導(dǎo)紀(jì)錄區(qū):-A1001D2F:0100 MOV AX 02011D2F
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 原木砍伐工程合同范本
- 維修電工模擬題+答案
- 獸醫(yī)免疫學(xué)模擬習(xí)題及答案
- 會(huì)計(jì)制度設(shè)計(jì)題庫(kù)
- 業(yè)務(wù)經(jīng)理月度工作總結(jié)范文
- 南方民宅租售合同范本
- 農(nóng)村蓋房樣寫合同范本
- 賣油漆合同范本
- 鹵味餐飲加盟合同范本
- 買賣意向金合同范本
- 2024年江蘇省中學(xué)生生物學(xué)奧林匹克初賽理論試題
- 環(huán)境年度報(bào)告
- 生產(chǎn)流水線的規(guī)劃方案
- 小針刀療法教學(xué)課件
- 打造寫生基地方案
- 寫作:廣告詞-【中職專用】高二語(yǔ)文高效課堂(高教版2023·職業(yè)模塊)
- 爆發(fā)性心肌炎護(hù)理查房課件
- 銷售人員人才畫像
- 鑫宇鋅合金模具設(shè)計(jì)標(biāo)準(zhǔn)
- 整理我的小書桌(課件)小學(xué)勞動(dòng)二年級(jí)通用版
- 森林撫育施工組織設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論