癥狀:我的朋友在網(wǎng)上被人炸了!被人炸了以后硬盤一直無(wú)法啟動(dòng).后來(lái)他把硬盤拿到我這里,讓我想想辦法。我先用軟盤啟動(dòng)時(shí)軟驅(qū)燈亮了一會(huì)兒就沒(méi)有反應(yīng)了,然后試過(guò)了光驅(qū)啟動(dòng),掛雙硬盤,也沒(méi)有任何作用,真奇怪!
方法一:
由于在CMOS里面可以找到硬盤,所以可以斷定硬盤沒(méi)有損壞,但是為何就無(wú)法啟動(dòng)呢?最后我們猜想可能是黑客程序在硬盤里面放了什么邏輯炸彈(先在這里賣個(gè)關(guān)子,下面再講原理^_^),想了許多的辦法,有兩個(gè)方法應(yīng)該可以解決:一個(gè)就是低級(jí)格式化,但是這樣的話就違背我們DIY的精神當(dāng)然我們是不會(huì)用的,還有一個(gè)方法就是我重點(diǎn)講的啦!那就是對(duì)硬盤進(jìn)行熱拔插,那是一個(gè)讓每一個(gè)DIY的小鳥和菜鳥們都聞風(fēng)喪膽的事。于是我們?cè)诩与姛岚尾逯皯?yīng)該先做好了一切的準(zhǔn)備,并盡可能想一下會(huì)出現(xiàn)的問(wèn)題,把硬盤的電源線先給拔松了一點(diǎn),防止在熱拔插時(shí)拔不出來(lái),那就遭了,不過(guò)也不能太松不然會(huì)找不到硬盤的,找一張軟盤啟動(dòng)盤,并插到軟驅(qū)里,加電開機(jī),看著熟悉的畫面,心里有說(shuō)不出的激動(dòng),可是激動(dòng)歸激動(dòng)手可不要抖,不然硬盤燒掉就慘了,(那就會(huì)欲哭無(wú)淚,到那時(shí)也沒(méi)有人會(huì)來(lái)同情你的),到了最精彩的時(shí)候了,眼睛牢牢盯住你的顯示器,軟驅(qū)燈亮之前(就是要在DOS自舉之前并且裝入硬盤驅(qū)動(dòng)后,)按下鍵盤上的“PAUSE”!再把硬盤上的電源線的給拔掉,然后就恢復(fù)暫定,一直到DOS啟動(dòng)完成出現(xiàn)DOS提示符的時(shí)候,這時(shí)你再把電源線給插到硬盤上去,這時(shí)如果硬盤沒(méi)壞的話,就會(huì)發(fā)現(xiàn)已經(jīng)可以用磁盤分區(qū)工具FDISK命令來(lái)查看硬盤的分區(qū)表了,不過(guò)沒(méi)有這么簡(jiǎn)單,里面的分區(qū)表已經(jīng)被黑客程序給惡意修改了,只能查看不能修改也不能刪除而且一團(tuán)糟,用普通的辦法還是不能解決的,此時(shí)只有DEBUG來(lái)手工恢復(fù)了!不過(guò)只能修復(fù)C盤也就是主引導(dǎo)分區(qū),因?yàn)閿U(kuò)展分區(qū)已經(jīng)修改了。好了大家終于可以松口氣了,剛才由于太緊張手心全是汗。恢復(fù)了以后,硬盤就可以用FDISK把主引導(dǎo)分區(qū)的其它空間分成擴(kuò)展分區(qū)與邏輯盤了。一切OK!硬盤一直用到現(xiàn)到現(xiàn)在也沒(méi)有壞!終于大功告成!
看到現(xiàn)在大家一定想知道這個(gè)硬盤為什么不能用普通的辦法啟動(dòng)的原因吧??!聽我慢慢講來(lái):那是因?yàn)橛?jì)算機(jī)在引導(dǎo)DOS系統(tǒng)時(shí)將會(huì)搜索邏輯盤(就是你所謂的C:D:E:…啦??!)的順序,當(dāng)DOS被引導(dǎo)時(shí),她會(huì)去找主引導(dǎo)扇區(qū)的分區(qū)表信息,她位于硬盤的零頭零柱面的第一個(gè)扇區(qū)的OBEH地址開始的地方,當(dāng)分區(qū)信息開始的地方為80H時(shí)表示是主引導(dǎo)分區(qū),其他的為擴(kuò)展分區(qū),主引導(dǎo)分區(qū)被定義為邏輯盤C盤,然后查找擴(kuò)展分區(qū)的邏輯盤,被定義為D盤,以此類推找到E,F(xiàn),G…..而我們?cè)跓岚尾逵脖P軟驅(qū)啟動(dòng)DOS之后用DEBUG讀入主引導(dǎo)分區(qū)記錄發(fā)現(xiàn)擴(kuò)展分區(qū)的第一個(gè)邏輯盤指向自己,這就是正常無(wú)法啟動(dòng)的原因,DOS在查找第一個(gè)邏輯盤后,查找下個(gè)邏輯盤總是找到是自己,這樣一來(lái)就形成了死循環(huán),所以使軟驅(qū),光驅(qū),雙硬盤都不能啟動(dòng),現(xiàn)在明白了嗎?不過(guò)這種辦法只是供各位參考研究在沒(méi)有辦法的時(shí)候并且過(guò)了保修期的時(shí)候才可以使用呀!(編輯推薦:還是用低格的辦法比較安全了,不過(guò)這兩位朋友的DIY精神是值得我們學(xué)習(xí)的。)不然硬盤燒了可別來(lái)怪我喲!(那可是最終必殺呀!)切記!
使用DEBUG手工修復(fù)硬盤步驟如下:
a:\>debug
-a
-xxxx:100 mov ax,0201讀一個(gè)扇區(qū)的內(nèi)容
-xxxx:103 mov bx,500設(shè)置一個(gè)緩存地址
-xxxx:106 mov cx,0001設(shè)置第一個(gè)硬盤的硬盤指針
-xxxx:109 mov dx,0080讀零磁頭
-xxxx:10c int 13
硬盤中斷
-xxxx:10e int 20
-xxxx:0110退出程序返回到指示符
-g運(yùn)行
-d500查看運(yùn)行后500地址的內(nèi)容
這時(shí)候會(huì)發(fā)現(xiàn)地址6be開始的內(nèi)容是硬盤分區(qū)的信息,發(fā)現(xiàn)此硬盤的擴(kuò)展分區(qū)指向自己,這就使DOS或WINDOWS啟動(dòng)時(shí)查找硬盤邏輯盤進(jìn)去死循環(huán),知道了原因就好辦了,在DEBUG指示符下用E命令修改內(nèi)存數(shù)據(jù)具體如下:
E6BE
xx.0 xx.0 xx.0……………………………………..
…………………..55 AA (55 AA表示硬盤有效的標(biāo)記,不要修改)
(xx0表示把以前的數(shù)據(jù)“xx”改成0)
再用硬盤中斷13把修改好的數(shù)據(jù)寫入硬盤就可以啦!
如下:A:\>debug
a 100表示修改100地址的匯編指令
-xxxx:100 mov ax,0301寫硬盤一個(gè)扇區(qū)
-xxxx:這里直接按回車
-g運(yùn)行
-q退出
然后運(yùn)行FDISK/MBR(重置硬盤引導(dǎo)扇區(qū)的引導(dǎo)程序),再重新啟動(dòng)電腦就行了!(圣堂天使黑晶)
方法二
這兩天在站上看到一篇文章“硬盤歷險(xiǎn)記”,作者是圣堂天使、黑晶,講述他們勇闖禁區(qū),“膽大妄為”、采用“熱插拔”的方法解決身中邏輯炸彈的硬盤的事。其敢于冒險(xiǎn)、創(chuàng)新嘗試的精神令我心折。然而我還是認(rèn)為,那種方法的危險(xiǎn)不亞于排除地雷或者是定時(shí)炸彈,一不小心就會(huì)讓硬盤一命嗚呼,不是一般水平的DIYER能夠輕易嘗試的。非藝高膽大、眼明手快者不可為。即便如此,還是要在萬(wàn)般無(wú)奈、別無(wú)他法的情況下才死馬當(dāng)活馬醫(yī),以圖絕處生機(jī)。我雖然自認(rèn)可以算是老鳥,卻也沒(méi)有那樣的好身手采用那樣的辦法“排雷”。
其實(shí)大概在四五年前我就遇到類似的“邏輯炸彈”的問(wèn)題,據(jù)說(shuō)還是某著名防病毒廠家加入到他們產(chǎn)品中來(lái)防止盜版的。后來(lái)在bbs上討論分析過(guò),很多人提出了自己的結(jié)論和解決辦法。我看過(guò)后很受啟發(fā),剛好手頭也有兩三臺(tái)“中彈”的機(jī)子,于是經(jīng)過(guò)一番研究試驗(yàn),找到了比較安全穩(wěn)妥的辦法。決不需要熱插拔,也不需要其他特殊工具,更不用低格,最大的可能代價(jià)只是一張軟盤——我想,比起一塊硬盤的代價(jià),應(yīng)該容易承擔(dān)得多了吧!兩位作者固然勇氣可嘉,身手不凡,其實(shí)他們?cè)緵](méi)有必要冒那么大得風(fēng)險(xiǎn)的。好了,不賣關(guān)子,以下待我一一道來(lái):
1.準(zhǔn)備一張系統(tǒng)盤,最好是dos6.x的,還帶上debug、fdisk等工具(不難弄到吧?)
2.在一臺(tái)正常的機(jī)器上,先去掉系統(tǒng)盤上io.sys文件的全部屬性,然后使用你熟悉的任何二進(jìn)制編輯工具(debug就可以,古老的pctools5.0也行,或者windows下的ultraedit更好)在這個(gè)文件里面搜索字竄55aa,找到以后修改為任何其他數(shù)值(如66bb),保存退出后恢復(fù)該文件的原來(lái)屬性。
3.好了,用這張改造后的系統(tǒng)軟盤就可以順利地帶著中彈的硬盤啟動(dòng)了,當(dāng)然,現(xiàn)在還不能使用c、d之類的邏輯盤,但是fdisk應(yīng)該可以使用了,重新分區(qū)吧??!如果fdisk還是不能使用,那么就需要使用debug修改硬盤主引導(dǎo)扇區(qū)的標(biāo)志了(就是圣、黑兩位的文章里提到的做法)。
其實(shí),就算確實(shí)要使用“熱插拔”法解決邏輯炸彈,圣黑兩位的做法還是有改進(jìn)的余地。也就是說(shuō),應(yīng)該可以改用“冷拔熱插”法,這樣能夠減少一半的風(fēng)險(xiǎn)。具體是在軟盤啟動(dòng)先給硬盤插上數(shù)據(jù)線而不插電源線,等待啟動(dòng)完成后再給硬盤“熱插”上電源線,此時(shí)從理論上,以及按照我的經(jīng)驗(yàn)推斷,應(yīng)該可以使用分區(qū)軟件了。但是本人仍然沒(méi)有膽量去實(shí)際嘗試這樣的一個(gè)“熱插”,僅僅是推測(cè)而已,不知圣黑兩位或其他網(wǎng)友是否敢于一試。未經(jīng)證實(shí)之言,僅供參考。)。
至于那張改動(dòng)后的軟盤就看著辦吧:是按照原來(lái)的做法改回去呢,還是干脆重新格掉繼續(xù)使用?要不就原樣留下作為你“安全排雷”的經(jīng)歷的紀(jì)念吧,哈哈??!(zega)
方法三
近日在站上接連看到兩篇文章“硬盤歷險(xiǎn)記”和“排雷新法”,分別講述作者如何解決身中邏輯炸彈的硬盤的事。第一篇文章的作者圣堂天使、黑晶獨(dú)辟蹊徑,采用帶電插拔的方法,構(gòu)思新穎,豪氣干云,為我平生所未見,深表嘆服。“排雷新法”作者zega使用的是一種純軟件解決方案,修改系統(tǒng)文件io.sys以達(dá)到帶“病”啟動(dòng)的目的,方法雖好,但debug、fdisk、pctools、ultraedit的綜合使用太麻煩,讓一般的使用者望而卻步。
筆者一年前也遇到過(guò)這一問(wèn)題,一開始以為是硬盤“犧牲”了,遂新購(gòu)一盤。使用半月后,一日上網(wǎng)時(shí)突然死機(jī)。重啟,自檢正常,啟動(dòng)系統(tǒng)……,一分鐘沒(méi)動(dòng)靜,又“犧牲”啦,天??!冷靜之后仔細(xì)想想,不可能兩塊硬盤都?jí)陌?,要不然Seagate也太失敗了(兩塊硬盤都是Seagate的)。再想到都是上網(wǎng)死機(jī)后出現(xiàn)的故障,難道是中“招”了?軟盤也不能啟動(dòng),可惡!
怎么辦?經(jīng)過(guò)幾天的折騰,終于找到一種簡(jiǎn)單、方便、可靠的解決方法。
所需的東西很簡(jiǎn)單,兼容機(jī)(大多數(shù)的國(guó)內(nèi)品牌機(jī)也可)一臺(tái),DM軟件(買硬盤的時(shí)候送或上網(wǎng)down)。下面開始嘍:
第一步,把DM拷到好的硬盤上(如果有的話,沒(méi)有的就用軟盤好了)。
第二步,接上壞硬盤,開機(jī),進(jìn)CMOS,除好硬盤外,其他的IDE設(shè)為NONE(關(guān)鍵所在),保存,啟動(dòng)。
第三步,進(jìn)入DOS,運(yùn)行DM,選中壞硬盤,分區(qū)格式化,OK后啟動(dòng)。
第四步,進(jìn)CMOS,識(shí)別硬盤或設(shè)為AUTO,保存后啟動(dòng)。
好了,簡(jiǎn)單吧,對(duì)習(xí)慣使用DM分區(qū)格式化硬盤的網(wǎng)友來(lái)說(shuō),簡(jiǎn)直是小菜一疊。
需要說(shuō)明的是,象IBM、HP這類原裝電腦一般不能用這種方法,因?yàn)榈诙讲荒芡瓿桑簿蜔o(wú)法啟動(dòng)系統(tǒng)。
該方法的原理是DM不依賴于BIOS設(shè)置的硬盤識(shí)別安裝方式,相信網(wǎng)友們都知道在不能識(shí)別大硬盤的早期系統(tǒng)上是如何安裝大容量硬盤的吧。