硬碟邏輯鎖

硬碟邏輯鎖

所謂“硬碟邏輯鎖”是使用了某些DOS的一個錯誤製成的。它採用了“循環分區表”的技術,使某些有這個錯誤的DOS無法用任何設備啟動,包括軟碟等移動設備。當DOS啟動時,系統會自動搜尋硬碟中的各個分區的信息,如類型、大小等,以使系統能夠識別硬碟,分別分配為C、D、E、F等驅動器,並使用戶能對其進行各種操作。而“邏輯鎖”正是利用了這一點,通過修改硬碟的分區表使分區表發生循環,即把擴展分區的第一個邏輯盤指向自身,使某些DOS系統啟動時查找分區時發生死循環而無法啟動。

基本介紹

  • 中文名:硬碟邏輯鎖
  • 外文名:Hard disk logic lock
  • 含義:使用某些DOS的一個錯誤製成的
  • 採用技術:循環分區表”的技術
  • 危害:導致電腦無法使用
概念,解決辦法,非MS-DOS啟動,MS-DOS啟動,其他,

概念

許多電腦用戶都見過或聽說過,當硬碟中了所謂的“邏輯鎖”後,無論是用軟碟、硬碟,還是光碟都不能啟動一些電腦。那么,“邏輯鎖”到底是什麼呢?
這其實是DOS啟動時的一個錯誤造成的。據說早在1992年,就有一個叫Mike的反病毒專家發現了此問題,並報告給了有此問題的DOS的生產廠 家,如生產PC-DOS的IBM公司、生產DR-DOS/NovellDOS的Novell公司、生產MS-DOS的微軟公司等等。不久後,IBM、 Novell等公司紛紛宣布其DOS的新版本已徹底解決了此問題,唯有擁有MS-DOS的微軟公司沒有理會,導致MS-DOS的新版本,如6.x、7.x 等仍繼續存在此問題。
然而,由於微軟的MS-DOS使用得最為廣泛,所以其影響和危害也最大。一旦用戶的硬碟被“邏輯鎖”鎖住,各種微軟的作業系統,如MS-DOS 5.x/6.x/7.x/8.0等的啟動盤均無法啟動,造成了硬體故障的假像,而且連許多高手對此都束手無策。由於這種現像非常可怕,將導致電腦無法使 用,所以許多人紛紛去尋找預防及解決的辦法。。

解決辦法

有人提到了“解決方法”,如硬碟熱插拔、DM低格等等,不僅麻煩、危險,而且會可能對硬碟中的所有數據造成破壞。比如硬碟熱插拔後(需拆機箱且拿下硬 盤,並在啟動後再重新裝上硬碟,非常麻煩且危險),即使是用軟碟啟動成功了,此時硬碟將徹底不能被識別,包括各種硬碟工具也不能識別。如果用DM跳過 BIOS對硬碟進行低格,這樣一來,硬碟上的所有數據將全部丟失,不可恢復,損失非常大。由此可見,硬碟熱插拔等“方法”都是不實用也不可行的。
因此,只要找到了好的解決辦法,並進行相應的操作,所謂的“硬碟邏輯鎖”是可以輕易解決的,大家不妨一試。

非MS-DOS啟動

由上文可知,“硬碟邏輯鎖”主要對微軟的MS-DOS系統發生影響,因此,使用其它的DOS啟動就可以了。為此,我特意對幾種較實用的高版本的DOS,如MS-DOS 7.10、PC-DOS 7.10、DR-DOS 7.05、ROM-DOS 7.10、FreeDOS beta9、PTS-DOS Pro 2000的啟動盤在硬碟中了“邏輯鎖”的情況下進行了啟動測試,結果如下:
PC-DOS 7.10啟動盤:啟動一切正常;
DR-DOS 7.05(版本號:7.10)啟動盤:啟動一切正常;
ROM-DOS 7.10啟動盤:啟動一切正常;
FreeDOS beta9(版本號:7.10):啟動時顯示硬碟有錯誤,並完全正常啟動;
PTS-DOS Pro 2000(版本號:6.90):啟動一切正常。
註:以上各種DOS都十分穩定,且均支持FAT32分區和大硬碟,其中ROM-DOS 7.10還完全本地支持長檔案名稱,且兼容性非常好。
因此,可以用任何一種以上的DOS啟動盤啟動帶有“邏輯鎖”的硬碟,啟動後已被鎖住的硬碟驅動器盤符(如C:)雖然看不到,但各種磁碟分區軟體,如 Norton Disk Editor 2002、Norton Disk Doctor 2002,以及DOS自帶的FDISK程式等,均可以顯示出被鎖住的硬碟。此時既可用上面提到的DISKEDIT等工具對此硬碟進行查看/手工修復等操 作,也可以用一些軟體進行自動修復。如NetResq,SRCTools等,以徹底去掉硬碟上的“邏輯鎖”,且硬碟上的數據不會受到任何損壞。

MS-DOS啟動

雖然MS-DOS啟動盤在正常狀態下不能在硬碟被鎖住的情況下啟動電腦,但是由於這僅僅是MS-DOS的啟動檔案IO.SYS中的一個BUG,所以只要修 復此BUG,MS-DOS啟動盤就不會受到“邏輯鎖”的影響而能正常啟動了。不過,即使是修復BUG,也應該使用正確的方法。有人提到過通過修改 IO.SYS中的硬碟分區標記“55AA”的方法來解決問題,其實此法非常不好。因為,這種方法其實是讓IO.SYS徹底忽略硬碟的存在,即通過跳過硬碟 的方法來啟動軟碟,這樣一來,無論硬碟是否被鎖住,用此啟動軟碟啟動後硬碟都不能被識別,因此此啟動盤就不能作為正常的MS-DOS啟動盤了。相反,如果 採用正確的方法修復IO.SYS中的BUG的話,用此軟碟啟動後,若硬碟是好的,則能夠正常識別,而即使是硬碟被“邏輯鎖”鎖住了,也可以像上面的方法 (即“使用非MS-DOS的作業系統啟動”)中提到的用PC-DOS、DR-DOS、ROM-DOS、FreeDOS、PTS-DOS Pro等啟動軟碟啟動後進行進一步的修復等操作。還有人提到過MS-DOS的某些低版本,如3.2版的啟動盤以啟動電腦。但這顯然有很多缺點,一是舊版本 的DOS很難找到,二是由於其版本太低,功能很少,兼容性也很差;三是這些低版本的DOS自身不支持大硬碟(連32M都不支持)、邏輯分區等,甚至會對硬 盤造成真正的破壞,而且,MS-DOS 3.2等版本甚至連1.44M軟碟都不認識。可見,用低版本的MS-DOS啟動的方法並不是很可行。因此,使用好的方法修正高版本的MS-DOS的 IO.SYS中的BUG是很重要的。以MS-DOS 6.x的啟動盤為例,只需用任何16進制編輯器(如PCTOOLS等)查找IO.SYS檔案中的16進制字元串“07 72 03”,並將最後的“03”替換為“06”即可。其它一些版本的MS-DOS也可以使用類似的方法,比如MS-DOS 7.10的IO.SYS的具體修改方法請見 “中國DOS聯盟聯合論壇” 。這樣一來,微軟的MS-DOS啟動盤也可以像其它各種DOS那樣在硬碟被“邏輯鎖”鎖住的情況下正常啟動了。

其他

以上提到的方法都是解決“硬碟邏輯鎖”的最直接的方法(即“使用不受‘邏輯鎖'影響的DOS啟動盤來啟動電腦”),也是最好的辦法。因此,只要製作一張上 面提到的任何一種啟動盤(如PC-DOS 7.10啟動盤、ROM-DOS 7.10啟動盤、FreeDOS啟動盤,或修復的MS-DOS啟動盤等)就可以了。既可平時將此啟動盤當作正常啟動盤使用,而且當硬碟被鎖住時則可用此啟 動盤啟動並解決問題。
用製作的linux啟動u盤或者光碟(有的pe工具箱裡面已經集成了cdlinux等系統)啟動電腦,進入linux系統後,打開shell,輸入fdisk -l,按回車鍵確定,會發現有200多個sda*,然後輸入dd if=/dev/zero of=/dev/sda bs=512 count=1命令,按回車鍵確定(這個過程是將整個MBR清除,這樣邏輯鎖自然就解除了,所有的分區也都丟失了,但是硬碟中的數據全部都在),然後重啟電腦,用集成有DiskGenius的pe工具箱的u盤或者光碟啟動(此時邏輯鎖已經解除,可以用u盤或者光碟來啟動了),進入pe後,運行DiskGenius,選擇“搜尋已丟失的分區(重建分區表)",就會自動找回丟失的分區,然後保存,退出軟體,這樣,硬碟已經修復完成,接下來就可以正常的安裝作業系統了。
或者1.進PE2.打開diskgenius分區工具可以看到硬碟的數據全都消失了3.不用著急右鍵點擊硬碟選擇"搜尋已丟失的分區(重建主引導記錄)"4.選擇整個硬碟點擊"開始搜尋"5.搜尋到數據後點擊"保留"6.如果還出現這樣的對話框還是繼續選擇"保留"當進度到達100%的時候點擊確定7.點擊"保存更改"按鈕8.然後你會發現數據都回來了9.點擊“硬碟”->"重建主引導

相關詞條

熱門詞條

聯絡我們