修復原理
每一個剛出廠的新硬碟都或多或少的存在壞道,只不過他們被廠家隱藏在P表和G表中,我們用一般的軟體訪問不到他。G表,又稱用戶級列表,大約能存放幾百個到一千
左右的壞道。P表,又稱工廠級列表,能存放4000左右的壞道或更多。這個時候我們就需要用到移動硬碟修復工具。反向磁化是被套用的一種修復硬碟扇區物理性損壞的方式。一般地,硬碟的磁頭只能負責讀取和寫入信號,而讀取、寫入數據信號所需要的電平信號跟磁碟表面的磁介質本身是不一樣的。而反向磁化就是通過用軟體指令迫使磁頭產生於磁介質本身相應的高低電平信號,通過多次的往復運動對損壞或者失去磁性的扇區進行反覆加磁,使這些扇區的磁介質重新獲得磁能力。
手動恢復
MBR區的程式損壞將無法從硬碟引導,但從軟碟機或光碟機啟動之後可對硬碟進行讀寫。手動修復此故障的方法較為簡單,使用較高版本的DOS的FDISK最為方便,當帶參數/mbr運行時,將直接重寫硬碟的主引導程式。實際上硬碟主引導扇區正是此程式建立的,FDISK.EXE程式之中包含有完整的硬碟主引導程式。
DBR是由高級格式化程式Format產生的,因此DBR也是一段信息代碼,同樣可能遭到破壞,最終導致無法進入作業系統。這是須將問題硬碟作為從盤掛接,隨後直接打開Winhex時選擇該磁碟,直接在右上方的”訪問“下拉列表中選擇DBR故障分區,然後打開”起始扇區模板“修復即可。
零磁軌是最為關鍵的地方,因為硬碟的分區信息表信息就在其中。一旦零磁軌損壞,硬碟將無法啟動。其實零磁軌損壞只是物理壞道的特殊情況,只不過損壞之處十分敏感。對於帶有物理壞道的硬碟,最簡單的數據恢複方法是將該硬碟設定為從盤,然後使用另一塊正常的硬碟作為主盤引導進入作業系統,在磁碟管理器中對壞盤進行盤符分配,成功後直接拷貝數據即可。
使用方法
移動硬碟在使用時間較長後總容易出現一些毛病,換個盤倒沒什麼,關鍵是裡面的資料丟失讓人蛋疼啊,前兩天用了一年多的愛國者移動硬碟就讓我鬱悶了一把,我在使用移動硬碟下載檔案時忽然出錯,以為是小錯誤就沒有在意,直接關機拔掉了硬碟,可後來再連上電腦時,發現硬碟無法讀取,XP下的提示“
檔案或目錄損壞且無法讀取”,換電腦試了下,問題依舊。但根據提示看,這應該只是檔案目錄索引損壞,修復索引即可。因為這個硬碟是NTFS格式,所以想到用chkntfs命令修復,可是卻顯示無法讀取。又嘗試用CHKDSK /F命令,結果修復剛開始就停住了,跳出命令行提示符,修復失敗。看來不僅僅是目錄索引的的問題,那是不是硬碟盒的問題呢?於是換了個硬碟盒再試,還是不行。難道是
分區表出錯嗎?因為查看該盤屬性時顯示的數據都是0,所以想到修復分區表試試。用spfdisk查看分區信息,結果卻很正常。不明所以的情況下,就想重置MBR試試。重置MBR後,重啟進入XP,結果問題依舊。重啟再進入DOS,用支持NTFS的KV3000防毒程式掃描,可以讀取該盤,且
檔案目錄和檔案都在。這說明檔案並沒有受損,那應該還是目錄索引的問題,可為什麼用CHKDSK不行呢?回到XP,再次用CHKDSK /F命令修復,沒想到這次卻順利修復完成。打開該盤,所有檔案都回來了,除了其中的少量檔案受損不能打開外,其它大部分都可以正常運行,尤其是裡面的重要檔案全部都完好無損。真奇怪,為什麼剛才不行,現在卻可以了呢?是因為重置了MBR嗎?
雖然是修復了,但我害怕會再出故障,立馬去買了一塊紐曼無憂移動硬碟來替代愛國者,還是國產貨,俺可是相當支持國貨的,雖然新款價格不便宜,但太廉價沒保障的東東我更是不敢用的,把數據全拷貝到了新盤裡面,嘎嘎!以下是比較詳細的CHKDSK命令,不會使用的可以學學,實在不會就去找EasyRecovery工具啦:
運行cmd進入該盤目錄,運行chkdsk就可以對分區進行修復。
附:
CHKDSK [volume[[path]filename]]] [/F] [/V] [/R] [/X] [/I] [/C] [/L[:size]]
volume 指定驅動器(後面跟一個冒號)、裝入點或卷名。
filename 僅用於FAT/FAT32: 指定要檢查是否有碎片的檔案
F 修復磁碟上的錯誤。
V 在FAT/FAT32 上: 顯示磁碟上每個檔案的完整路徑和名稱。
在NTFS 上: 如果有清除訊息,將其顯示。
L:size 僅用於NTFS: 將日誌檔案大小改成指定的KB 數。
如果沒有指定大小,則顯示當前的大小。
X 如果必要,強制卷先卸下。
卷的所有打開的句柄就會無效(隱含/F)
/I 僅用於NTFS: 對索引項進行強度較小的檢查
/C 僅用於NTFS: 跳過資料夾結構的循環檢查。
/I 和/C 命令行開關跳過卷的某些檢查,減少運行Chkdsk 所需的時間。
chkdsk是check disk的縮寫,用來檢查你的
磁碟的使用情況。
chkdsk命令的格式是:chkdsk磁碟名,例如要檢查A盤使用情況,就輸入chkdskA: ,檢查c盤使用情況,就輸入chkdskC: ,如果直接輸入chkdsk,就檢查當前磁碟的使用情況