楊丕華



摘 要: 現今智能手機的功能越來越強大,需要大量的存儲空間,手機內存已無法滿足需求,需要存儲卡來存儲數據。文章以SD卡為例,分析了該卡的物理結構和數據存儲原理,研究了其產生邏輯故障后的數據恢復過程,并利用WinSDCard和Winhex軟件進行數據恢復。測試表明,該方法數據恢復效果較好,可用于個人數據恢復、嫌疑手機取證等。
關鍵詞: 智能手機; SD卡; 數據恢復; 邏輯故障
中圖分類號:TP391 文獻標志碼:A 文章編號:1006-8228(2017)03-20-03
Abstract: Today's Smartphone features more and more powerful, requires a lot of storage space, so a memory card is needed to store the data, as the phone memory has been unable to meet the requirement. Taking the SD card as an example, this paper analyzes the physical structure of the card and the principle of data storage, studies the data recovery process after generating a logical fault, and uses software WinSDCard and Winhex to recover the data. The test results show that the method has a good recovery effect, and can be used for personal data recovery, mobile phone forensics, etc.
Key words: Smartphone; SD card; data recovery; logical fault
0 引言
智能手機在人們的工作和學習中扮演著越來越重要的角色,智能手機具備的功能越來越多,存儲的數據量和所需的存儲空間也越來越大。當手機本身的存儲空間不能滿足需求時,就需要安裝數據存儲卡。然而,用戶在使用智能手機的過程中,由于各種主觀或客觀的原因,存儲卡會經常出現重要數據丟失和損壞的情況,給用戶造成非常大的損失。因此,為了盡可能替用戶恢復數據,挽回損失,就需要探究手機存儲卡的數據恢復方法。
目前,常用的手機存儲卡主要有RS-MMC卡、SD卡等類型[1]。筆者以SD存儲卡為例,在分析其數據存儲結構與原理的基礎上,使用WinSDCard和Winhex數據恢復軟件,研究了數據恢復的具體方法。
1 SD卡數據存儲原理
SD卡(Secure Digital Memory Card)是一種基于半導體Flash技術的新一代記憶設備。SD卡由日本松下、東芝及美國SanDisk公司于1999年8月共同開發研制[2]。SD卡體積小,其大小猶如一張郵票,重量只有2克,具有高記憶容量、數據傳輸速度快、可熱插拔、極大的移動靈活性以及很好的安全性等優良的特性,它被廣泛地用于便攜式裝置上,例如數碼相機、數碼攝像、個人數碼助理(外語縮寫PDA)、智能手機和多媒體播放器等。
SD卡可以通過市面上很普遍的USB接口讀卡器即可將存儲的測量數據讀出,省略了耗時長且不安全的數據導出過程,價格便宜,容量較大,非常適合于長期測量系統的數據存儲[3]。SD卡支持SD模式和SPI模式,其中SPI模式中使用的SPI接口在單片機系統中應用非常廣泛,在SPI總線模式下,CS為主控制器向卡發送的片選信號,SCLK為主控制器向卡發送的時鐘信號。DI(Data In)為主控制器向卡發送的單向數據信號,DO(Data Out)為卡向主控制器發送的單向數據信號[3]。SD卡的內部結構如圖1所示。
2 SD卡數據損壞的原因
在日常使用中,SD卡會由于各種原因導致數據損壞,其原因可以歸納為物理損壞和邏輯故障兩大類。
2.1 物理損壞
物理損壞主要是由于硬件發生故障、受損而造成的[4-5],具體表現形式及損壞原因如表1所示。
2.2 邏輯故障
邏輯損壞主要是由于軟件受損而造成的[4-5],主要原因有以下幾種。
⑴ 惡意破壞:主要包括各種病毒、木馬對數據的損害,造成數據丟失。
⑵ 誤刪除、誤格式化,將文件的首字節改為E5H。
⑶ 系統故障:比如在讀寫數據時,意外停止、撥出;拷貝數據未正式結束,就撥出、強行停止;在從電腦退出時,未按正常退出步驟操作,人為(彈)撥出等,造成數據無法找到,手機不能識別SD卡。
SD卡出現邏輯故障后,數據之間的關系出現錯誤,但是只要SD卡未有重復讀寫的操作,數據仍可以部分使用,數據恢復的希望還是比較大的。
3 SD卡數據恢復方法介紹
3.1 物理損壞的修復及避免方法
SD卡一旦由于物理原因造成數據損壞,必須請專業的硬件維修機構對數據進行恢復,需要對SD卡進行芯片級的維修,這不僅費用昂貴,而且數據也不一定能完全恢復,還容易造成電路燒毀,SD卡可能直接報廢,給用戶造成巨大的損失。因此,用戶在使用智能手機存儲卡時應注意以下幾點,以避免發生物理損壞,造成重要數據損毀。
⑴ 及時對數據進行備份。用戶應定期將文件拷貝至手機內存、電腦、移動硬盤或云盤。
⑵ 在讀/寫SD卡數據時,不要拔出SD卡。有些卡在系統拷貝進度條消失后仍處于工作狀態,應等待讀寫狀態燈熄滅后再拔下讀卡器或存儲卡。
⑶ 避免熱插拔SD卡。若在開機狀態插入新的SD卡,由于手機沒有對卡進行初始化,可能造成無法正常識別,還可能損壞手機和存儲卡。
⑷ 在智能手機電池電量不足時,盡量少讀寫SD卡。
3.2 邏輯故障的數據恢復方法
對于邏輯故障引起的數據丟失和損壞,只要數據區沒有被徹底覆蓋,用戶通過相關軟件的使用,一般都可以順利恢復。比如誤刪除操作,實際上此時保存在硬盤中的文件并沒有真正被完全覆蓋,而是把指向數據存儲空間的鏈條刪除了,真正的數據還是以二進制的方式存儲在SD上。只要這些數據不被覆蓋,通過一些數據恢復軟件,尋找主文件表中數據的存放位置,對這些存儲數據的SD卡進行掃描,通過掃描找到存在的數據殘段并進行數據修復并備份修復好的數據[6]。數據恢復流程見圖2。
接下來,本文結合WinSDCard(SD存儲卡數據備份軟件)和Winhex數據恢復軟件,介紹如何對數據出現邏輯故障的SD存儲卡的數據進行恢復。主要過程分為兩步:
第一步:利用WinSDCard軟件將SD存儲卡的數據復制成為一個RAW原始映像文件。
運行WinSDCard,然后插入裝有SD卡的讀卡器,WinSDCard會發現新插入的SD存儲卡。選中該盤符,點擊“Backup Image工作模式”,然后備份數據成為鏡像文件。
第二步:使用Winhex軟件恢復數據。
啟動Winhex, 打開鏡像后的文件。選擇“工具/磁盤工具”菜單,使用“通過文件類型恢復”的功能菜單,在彈出的窗口中選擇以下幾種方式,對SD存儲卡數據進行恢復操作:
⑴ “選擇文件類型”:是指需要指定文件類型,如果要恢復的文件類型是WORD,那么就選擇“Msword”文件類型;如果要添加沒有在列表中的文件類型,可以選擇“自定義”文件類型;
⑵ “輸出文件夾”:是存放恢復后的文件,默認路徑為“C:Recovery Disk U”,也可以自行設置文件路徑;
⑶ “為每個文件類型創建子文件夾”選項是為每一種文件類型建立一個子目錄,默認選中該功能;
⑷ “僅在選塊中搜索”:是選擇搜索模式,如果SD存儲卡的容量不是很大,可以選擇這個模式;如果SD存儲卡容量很大,可以選擇“搜索全部扇區邊界”模式,如果想更精確,可以選擇“完整的字節級搜索”字節搜索模式,這個模式的速度慢些;
⑸ 最后,點擊“確定”,等待文件恢復。
經過上述步驟,數據恢復結束,退出程序。
4 結論
為測試采用本文方法恢復數據的效果,筆者首先對MICRO SD存儲卡中的圖片、文檔和視頻等不同數據類型的文件作刪除操作,之后利用WinSDCard和Winhex軟件恢復數據。實驗證明,采用該方法恢復了95%的被刪除的文件,而且內容恢復準確率達97%。
本文分析了SD存儲卡的物理結構和數據存儲原理,重點研究了SD卡的邏輯故障,提出了利用WinSDCard和Winhex軟件進行數據恢復的方法,實踐證明有很好的數據恢復效果。在實際操作中,為進一步提高內容恢復的準確率,還需嘗試不同的數據恢復軟件。
參考文獻(References):
[1] 陶榮,饒佳藝,嚴麗娜等.智能手機RS-MMC存儲卡數據恢復研究[J].電子設計工程,2012.20(17):180-182
[2] 周立功.ARM嵌入式系統軟件開發實例(二)[M].北京航空航天大學出版社,2006.
[3] 劉素花,龔德俊,徐永平等.SD卡在海洋數據存儲中的應用[J].海洋科學,2009.33(3):16-20
[4] 李志強.常見硬盤數據損壞的類型及恢復方法[J].硅谷,2011.23:124-126
[5] 杜江,賈昌海.基于Thumbs.db文件的數據恢復技術研究與開發[J].電子設計工程,2011.17:10-12
[6] 梁宇恩,沈建剛,梁啟來.計算機數據恢復技術[M].西安電子科技大學出版社,2009.