一種解析缺陷硬碟目錄恢復數據的方法與流程
2023-05-17 18:06:16
本發明涉及信息安全技術領域,特別涉及一種解析缺陷硬碟目錄恢復數據的方法。
背景技術:
在數據恢復的領域,永遠都會遇到缺陷的存儲介質。重要的數據對於用戶來說,往往都是無價的。在處理缺陷硬碟的過程中,會遇到碟片劃傷,壞道嚴重,無法正常展開硬碟分區信息。出現這種情況的時候,獲取缺陷硬碟全盤數據的希望比較小;只能最大限度的恢復儘可能多的數據出來。
目前處理缺陷硬碟目錄無法正常展開的數據恢復,通常都是採用全盤鏡像或者分頭鏡像的方法,來達到數據恢復的目的。但是,無論採用分頭鏡像還是全盤鏡像,鏡像時間都非常長,且更加容易對硬碟碟片造成更多壞道。
技術實現要素:
本發明針對現有技術的缺陷,提供了一種解析缺陷硬碟目錄恢復數據的方法,能有效的解決上述現有技術存在的問題。
一種解析缺陷硬碟目錄恢復數據的方法,包括以下步驟:
S1:使用正常分層讀取解析硬碟目錄,讀取MBR所在0扇區;
S2:在63扇區或2048扇區獲取DBR,讀取DBR所在位置扇區數據;
S3:獲取$MFT的起始位置;
執行公式:$MFT起始位置=$MFT開始簇號*每簇扇區數;
S4:找到DBR所在的扇區數+$MFT起始位置=$MFT相對於0扇區的偏移地址;讀取此位置的數據,如果無法讀取轉到S5,如果是則執行S7;
S5:獲取一個$MFTMirr的起始位置;
執行公式:$MFTMirr起始位置=$MFTMirr開始簇號*每簇扇區數;
S6:找到DBR所在的扇區數+$MFTMirr起始位置=$MFTMirr相對於0扇區的偏移地址;讀取此位置的數據;
S7:從$MFT或者$MFTMirr起始位置向後偏移10個扇區,獲取5號元文件的DATE RUN列表,DATE RUN列表記錄了目錄位置和長度;
S8:將目錄數據體鏡像,鏡像的同時,創建數據緩存歷史記錄,讀取一個塊大小,創建一個塊大小且一個塊大小為128扇區;
S9:使用創建數據緩存歷史記錄,在缺陷盤上虛擬一個正常的目錄結構;
S10:用數據緩存歷史記錄虛擬的正常目錄結構,重新瀏覽缺陷硬碟上面的所有目錄數據;
S11:對所有正常目錄數據進行有效數據的位圖標記;
S12:直接對標記的有效數據進行快速鏡像,達到缺陷硬碟目錄快速瀏覽,並快速提取有效數據的效果。
與現有技術相比本發明的優點在於:通過虛擬目錄直接快速的定位數據有效區域,準確高效提取數據正常區的數據,提高效率。
具體實施方式
為使本發明的目的、技術方案及優點更加清楚明白,以下舉實施例,對本發明做進一步詳細說明。
一種解除西數硬碟固件鎖並提取數據的方法,包括以下步驟:
S1:使用正常分層讀取解析硬碟目錄,讀取MBR所在0扇區;
S2:在63扇區或2048扇區獲取DBR,讀取DBR所在位置扇區數據;獲取DBR中重要參數:$MFT開始簇號、$MFTMirr開始簇號和每簇扇區數;
S3:獲取$MFT的起始位置
要想獲取硬碟的$MFT起始位置,必須要知道$MFT所在的簇號,以及每一個簇所佔的扇區數是多少。大多數硬碟的$MFT的開始簇號是「0xC0000」,一個簇所佔的扇區數為8個扇區,也就是$MFT起始位置=$MFT開始簇號*每簇扇區數=6291456;
S4:找到DBR所在的扇區數+$MFT起始位置=$MFT相對於0扇區的偏移地址。即為6291519(63扇區為例)。讀取此位置的數據。如果無法讀取轉到S5,如果是則執行S7。
S5:獲取一個$MFTMirr的起始位置
大多數硬碟的$MFTMirr的開始簇號是「0x10」,一個簇所佔的扇區數為8個扇區。
也就是$MFTMirr起始位置=$MFTMirr開始簇號*每簇扇區數=128
S6:找到DBR所在的扇區數+$MFTMirr起始位置=$MFTMirr相對於0扇區的偏移地址。即為191(63扇區為例)。
S7:從$MFT或者$MFTMirr起始位置向後偏移10個扇區,獲取5號元文件的DATE RUN列表,DATE RUN列表記錄了目錄位置和長度。
S8:將目錄數據體鏡像,鏡像的同時,創建數據緩存歷史記錄,讀取一個塊大小,創建一個塊大小且一個塊大小為128扇區;
S9:使用創建數據緩存歷史記錄,在缺陷盤上虛擬一個正常的目錄結構;
S10:用數據緩存歷史記錄虛擬的正常目錄結構,重新瀏覽缺陷硬碟上面的所有目錄數據;
S11:對所有正常目錄數據進行有效數據的位圖標記;
S12:直接對標記的有效數據進行快速鏡像,達到缺陷硬碟目錄快速瀏覽,並快速提取有效數據的效果。
本領域的普通技術人員將會意識到,這裡所述的實施例是為了幫助讀者理解本發明的實施方法,應被理解為本發明的保護範圍並不局限於這樣的特別陳述和實施例。本領域的普通技術人員可以根據本發明公開的這些技術啟示做出各種不脫離本發明實質的其它各種具體變形和組合,這些變形和組合仍然在本發明的保護範圍內。