![]() |
學(xué)校地址:湖南省 長(zhǎng)沙市 雨花區(qū) 車站南路紅花坡路口 |
![]() |
學(xué)校地址:湖南省 長(zhǎng)沙市 雨花區(qū) 車站南路紅花坡路口 |
不知道你是否曾碰到過(guò)bios里面能夠檢測(cè)到硬盤(pán),但是你從軟盤(pán)和硬盤(pán)都啟動(dòng)不了計(jì)算機(jī)的情形?也許這時(shí)候你就會(huì)認(rèn)為是硬盤(pán)壞掉了,可實(shí)際上,很有可能是你的硬盤(pán)中了邏輯鎖。
硬盤(pán)邏輯鎖總共有三種,本質(zhì)都是對(duì)硬盤(pán)的分區(qū)表作了修改,以前只是一些黑客程序使用它,開(kāi)始大范圍對(duì)計(jì)算機(jī)造成危害是在臭名昭著的KV3000反盜版事件的時(shí)候,那時(shí)江民公司為了打擊盜版。在KV3000新版升級(jí)程序植入了一個(gè)黑客程序,當(dāng)檢測(cè)到用戶使用了盜版的KV3000以后就將硬盤(pán)的分區(qū)表鎖住,被稱為“主動(dòng)邏輯鎖”,其實(shí)就是硬盤(pán)邏輯鎖的一種,當(dāng)時(shí)卻使無(wú)數(shù)無(wú)辜的人受害,江民公司也因此被定罪。這是舊事不談,下面我們就來(lái)介紹一下它的三種情況和解決方法。
首先我們來(lái)了解一下硬盤(pán)的分區(qū)表。硬盤(pán)分區(qū)表位于磁盤(pán)的0磁頭0柱面1扇區(qū),這個(gè)扇區(qū)從01BEH開(kāi)始的64個(gè)字節(jié)就是分區(qū)表。分區(qū)表共64字節(jié),分為4欄,每欄16個(gè)字節(jié)描述一個(gè)分區(qū)。如果用FDISK程序分區(qū),那 多只用兩欄,第一欄描述主引導(dǎo)分區(qū),第二欄描述擴(kuò)展分區(qū)。分區(qū)表的結(jié)構(gòu)與各字節(jié)的含義如下:
00H—標(biāo)志活動(dòng)字節(jié);顒(dòng)DOS分區(qū)為80H,其它為00H。
01H—本分區(qū)邏輯0扇區(qū)所在的磁頭號(hào)。
02H—邏輯0扇區(qū)所在柱面中的扇區(qū)號(hào)。
03H—邏輯0扇區(qū)所在的柱面號(hào)。
04H—分區(qū)類型標(biāo)志。
05H—本分區(qū) 后一個(gè)扇區(qū)的磁頭號(hào)。
06H— 后一個(gè)扇區(qū)的扇區(qū)號(hào)。
07H— 后一個(gè)柱面的柱面號(hào)。
08H—硬盤(pán)上在本分區(qū)之前的扇區(qū)總數(shù),用雙字節(jié)表示。
0CH—本分區(qū)的扇區(qū)總數(shù),從邏輯0扇區(qū)計(jì)數(shù),不含隱藏扇區(qū),用雙字節(jié)表示。
分區(qū)表的 后兩個(gè)字節(jié)是它的有效標(biāo)志,改變后將無(wú)法從硬盤(pán)啟動(dòng),這就是第一種簡(jiǎn)單的鎖住硬盤(pán)的方法。不過(guò)比較容易解決,只要從軟盤(pán)啟動(dòng)就一切正常,啟動(dòng)后用Debug或Diskedit等軟件將硬盤(pán)分區(qū)表中的標(biāo)志恢復(fù)就可以了。第二種方法是修改分區(qū)參數(shù),如果將分區(qū)參數(shù)全部變?yōu)?,則啟動(dòng)后由于找不到分區(qū)參數(shù)無(wú)法從硬盤(pán)啟動(dòng),用啟動(dòng)盤(pán)從軟盤(pán)啟動(dòng)后也不認(rèn)硬盤(pán),不過(guò)機(jī)器畢竟能夠啟動(dòng),我們可以在啟動(dòng)后用軟盤(pán)里的debug等工具修復(fù)被改動(dòng)的分區(qū)表參數(shù),重新啟動(dòng)后就沒(méi)問(wèn)題了。
我們重點(diǎn)要講的就是第三種,也就是上文提到的“主動(dòng)邏輯鎖”,它是因?yàn)榉謪^(qū)表參數(shù)被修改成了一個(gè)死循環(huán)。正常啟動(dòng)時(shí)DOS接管硬盤(pán)后查找分區(qū)表,主引導(dǎo)分區(qū)被定義為C盤(pán),然后查找邏輯盤(pán),定義為D盤(pán),然后是E、F、G,而這個(gè)主動(dòng)邏輯鎖就是將第一個(gè)邏輯盤(pán)(一般是D盤(pán))的下一個(gè)分區(qū)指向它本身,不斷讀取下一個(gè),其實(shí)就是讀它自己,結(jié)果陷入死循環(huán)。因?yàn)镈OS啟動(dòng)必須含基本輸入輸出文件io.sys(我們?cè)趙indows下也可以看到,位于C盤(pán)根目錄下)。而它是有些固執(zhí)的,啟動(dòng)以后非要把硬盤(pán)分區(qū)表讀完然后接管不可,所以無(wú)論我們用什么啟動(dòng),它一查找邏輯盤(pán)就死循環(huán),我們就看到了硬盤(pán)燈常亮系統(tǒng)掛起的情況了。
那么我們?nèi)绾谓忾_(kāi)它呢?從根本上講就是讓io.sys不起作用或者在它起作用以前將分區(qū)表參數(shù)修改回來(lái)。
1、debug法。
用這種方法首先必須要能啟動(dòng)機(jī)器,我們可以在一臺(tái)正常的電腦上修改啟動(dòng)軟盤(pán)中的io.sys文件,查找到第一個(gè)“55aa”字符串,找到以后修改為任何其他數(shù)值,用這張啟動(dòng)軟盤(pán)你就可以順利地帶著被鎖的硬盤(pán)啟動(dòng)了。不過(guò)這時(shí)該硬盤(pán)的分區(qū)表已經(jīng)不正常,所以我們無(wú)法用FDISK來(lái)刪除和修改分區(qū),而且仍然無(wú)法用正常的啟動(dòng)盤(pán)啟動(dòng)系統(tǒng),這時(shí)可以用DEBUG來(lái)手工恢復(fù)。具體命令如下:
a:/>debug
-a
-????:100 mov ax,0201(讀一扇區(qū)內(nèi)容)
-????:103 mov bx,500(設(shè)置一緩存地址)
-????:106 mov cx,0001(設(shè)置第一硬盤(pán)的硬盤(pán)指針)
-????:109 mov dx,0080(讀零磁頭)
-????:10c int 13 (硬盤(pán)中斷)
-????:10e int 20
-????:0110 回車
。ㄗⅲ-????各硬盤(pán)不相同,跟后面的:1??都是自動(dòng)顯示的,我們要輸入的只是其后的內(nèi)容)
-g
-d500 (查看運(yùn)行后緩存地址500的內(nèi)容,這時(shí)候我們會(huì)發(fā)現(xiàn)地址6be開(kāi)始的內(nèi)容就是硬盤(pán)分區(qū)表信息,如果硬盤(pán)的擴(kuò)展分區(qū)正是指向自己,那么DOS或WINDOWS啟動(dòng)時(shí)就會(huì)因查找邏輯分區(qū)而陷入死循環(huán)。)在DEBUG指示符下繼續(xù)修改內(nèi)存數(shù)據(jù):
E6BE
??.0 ??.0 ??.0……
……
……55 AA
55 AA是硬盤(pán)有效的標(biāo)志,不要修改,??.0表示把以前的數(shù)據(jù)“??”改成了0,再用硬盤(pán)中斷13把修改好的數(shù)據(jù)寫(xiě)入硬盤(pán)就可以了:
A:/>debug
a 100 (表示修改100地址的匯編指令)
-????:100 mov ax,0301 (寫(xiě)硬盤(pán)一個(gè)扇區(qū))
-????: 回車
-g (運(yùn)行)
-q (退出)
退出后運(yùn)行fdisk/mbr來(lái)重置硬盤(pán)引導(dǎo)程序,重新啟動(dòng)即可。
這種方法雖然麻煩一點(diǎn),但是它能夠恢復(fù)硬盤(pán)分區(qū)表,也就是說(shuō)恢復(fù)以后硬盤(pán)中的數(shù)據(jù)也不會(huì)丟失。而以下方法雖然更加方便,但是要么硬盤(pán)中的數(shù)據(jù)難保,要么有一定危險(xiǎn)性。
2、外掛軟件法
這種方法原理都是繞過(guò)bios對(duì)硬盤(pán)的檢測(cè)而直接用一些能夠自己查找硬盤(pán)的軟件來(lái)控制硬盤(pán)。
首先是DM,現(xiàn)在每一個(gè)硬盤(pán)廠商都有自己的DiskManager程序,而且都能放進(jìn)一張軟盤(pán)里,你可以下載一個(gè)使用,如果不清楚自己硬盤(pán)的牌子,也可以用IBM出的DM萬(wàn)用版,不過(guò)它對(duì)現(xiàn)在32G以上的大硬盤(pán)支持不好。我們先在bios里面將硬盤(pán)所在的IDE口設(shè)置為none,(如果你不知道哪個(gè)是,全部設(shè)為none也可以),然后用啟動(dòng)盤(pán)啟動(dòng)系統(tǒng),啟動(dòng)完成后將軟盤(pán)取出,放入裝有DM軟件的軟盤(pán),運(yùn)行DM,它會(huì)檢測(cè)到你的病硬盤(pán)的存在,然后將它重新分區(qū)就搞定了。DM具體用法比較簡(jiǎn)單,就不詳細(xì)說(shuō)了,不過(guò)對(duì)E文不太好的朋友可能有些困難,請(qǐng)教身邊的吧。
我們還可以使用低格軟件,也是每一種硬盤(pán)都有自己的低格軟件,但也有通用的Lformat程序(只有30多k),前面的做法相同,還是在bios里面屏蔽掉硬盤(pán),用啟動(dòng)盤(pán)啟動(dòng),然后換軟盤(pán)運(yùn)行低格程序?qū)τ脖P(pán)進(jìn)行低級(jí)格式化,由于分區(qū)表只在硬盤(pán) 前列部分,所以估摸著格過(guò)前面的分區(qū)表部分就可以停止了,然后重新啟動(dòng)在bios里面將硬盤(pán)設(shè)出來(lái),就可以像一塊新的硬盤(pán)一樣對(duì)它進(jìn)行分區(qū)等操作了。
3、熱插拔
這是 危險(xiǎn)的一種方法,很有可能將你的硬盤(pán)燒毀,所以請(qǐng)謹(jǐn)慎。具體做法很簡(jiǎn)單,首先將硬盤(pán)的電源線拔掉,然后軟盤(pán)啟動(dòng)系統(tǒng),啟動(dòng)完成后再將硬盤(pán)的電源線插上,這時(shí)候系統(tǒng)就能夠控制硬盤(pán)了,可以對(duì)它進(jìn)行分區(qū),恢復(fù)分區(qū)表等操作。我有一個(gè)菜鳥(niǎo)朋友就是在熱插拔硬盤(pán)3次以后搞定的。不過(guò)此種方法存在危險(xiǎn),強(qiáng)烈不推薦使用,如因此損壞,本人概不負(fù)責(zé)。
其實(shí) 好的情況是你有分區(qū)表備份,那恢復(fù)起來(lái)就比較容易了,而且數(shù)據(jù)也不會(huì)丟失。所以說(shuō)呢,亡羊補(bǔ)牢固然不錯(cuò),但是如果能事先就做好了保險(xiǎn)工作,那就不用愁了。
|
關(guān)于收錄1 |
關(guān)于收錄2 |
網(wǎng)站幫助 |
廣告合作 |
下載聲明 |
友情連接 |
網(wǎng)站地圖 |
| 共有文章: 12228 篇
今日新文: 75 篇
當(dāng)前在線: