在數據恢復實際工作中,當計算機不認硬盤,或者硬盤的壞道較多,計算機無法做鏡像時,需要用額外的設備工具來讀取硬盤數據,或者維修硬盤的固件使硬盤復活。這種比較專業的操作,數據恢復工程師一般使用PC3000這類的專業工具來做,但是這些工具價格上都比較貴,對偶爾遇到硬盤物理故障需要修復硬盤恢復數據的用戶來說,成本偏高。有沒有既便宜又好用的方法呢?其實只要掌握一些單片機編程和基礎的電子線路知識,是完全可以自己DIY一個讀寫硬盤數據的小工具的,如果結合一些硬盤維修指令的知識,這個小工具也能修修硬盤。
單片機由于其成本低廉,性能可靠,在工業控制領域廣泛運用,而且現在的單片機開發環境也比較簡單易用,用C語言就可以編程。因此采用單片機來讀寫硬盤,是個不錯的選擇,唯一的缺點就是速度太慢,這個算是代價吧。
常用的單片機一般都是8位機,例如8051系列、PIC系列、AVR系列等,低速的DSP也可以看做是16位的單片機,一些32位的ARM片子,如果不上操作系統,也可當做單片機用,就是資源比較豐富而已。我們這里先采用8位的AVR單片機來做這個小工具?;镜乃悸肪褪怯肁VR的Mega16單片機的IO口,讀寫硬盤的IO口、控制線和地址線。但是Mega16的每個IO口是8位,硬盤的數據線是16位,需要做IO的擴展,將8位數據線擴展成16位數據線,來讀寫硬盤。
IO擴展可以用CPLD或者像8255之類的擴展芯片,用CPLD比較靈活,但是涉及到硬件描述語言HDL的編程和下載調試,比較復雜。采用8255比較簡單,只需要在單片機端編程控制就可以了,但是8255有個缺點,就是在工作模式切換時,IO管腳會全部拉低,此時,接到硬盤復位管腳上的信號也被拉低,引起硬盤的意外復位。因此需要采用一個倒相器,將8255輸出的硬盤控制信號反相,這樣當8255輸出口全部拉低時,硬盤復位信號經倒相器后處于拉高狀態,就不會引起硬盤的意外復位了。8255的具體使用和倒相器的連接見下圖所示:
圖1 8255使用說明
我們用8255的A口和B口連接到硬盤的16根數據線上,C口的8根線連接到硬盤的地址線和控制線上,通過以前ATA協議的分析,若采用PIO方式讀寫硬盤,且不考慮IORDY信號,可以只用5根地址線(CS1、CS0、DA2、DA1、DA0)和三根控制線(IOW、IOR和RESET)來實現PIO模式下的寄存器傳輸和數據傳輸。因此,可利用8255的C口來實現。大家要是有人分析過PC3000的PCI版,就會發現,ACE也是這個思路,只是他用的是復雜一些的xilinx FPGA和245芯片實現罷了。再來看一下倒相器的使用:
圖2 倒相器
采用的是74HC04,將RST信號,IOW和IOR信號,CS1和CS0信號接到反相器,保證了8255模式切換時,不會引起硬盤的誤操作。
在核心的單片機端,使用了PA口的8根IO連接到8255的數據線,PB口的5根IO連接到8255的控制線和地址線。具體看下圖:
圖3 Mega16單片機
除了PA和PB口外,PC口用于連接到JTAG調試端,實現在線調試。PD口用于連接串口輸出,用于調試和觀察硬盤數據。
按照原理圖繪制電路板,畫好的電路板效果圖為:
圖4 電路效果圖
板子制作好調通,剩下的工作就是單片機編程了,采用C語言來實現是比較簡單的,主要就是硬盤寄存器的讀寫,比如狀態寄存器和命令寄存器等,結合PIO時序要求,編寫相應的程序就行了,如果有示波器,可以看一下控制管腳輸出信號的時序,對加快軟件調試非常有用。后續文章會進一步講解單片機讀寫硬盤的編程知識。
將程序編好調試好后,通過JTAG或ISP接口下載到單片機當中,就完成了單片機讀寫硬盤小工具的制作,利用這個小工具,可以進一步學習ATA協議和硬盤維修指令,提高數據恢復技能。
關于達思科技
達思科技的全稱是達思凱瑞技術(北京)有限公司,是數據恢復行業的著名品牌,在全國乃至整個亞洲地區具有較高的知名度。達思科技是一家真正掌握數據恢復核心技術的企業,公司的數據恢復技術研發中心不但承擔公司自主知識產權數據恢復軟件的研發任務,還為眾多大型企事業單位擔當數據安全顧問的角色。達思科技對數據恢復技術的深入研究,尤其在Unix及Linux大型存儲設備的數據恢復方面(包括EXT3文件系統刪除數據、UFS文件系統數據恢復、XFS文件系統數據恢復技術、IBM-AIX JFS2文件系統數據恢復高端技術、Vmware虛擬機數據恢復技術等)獨樹一幟,在同行業中具有較為明顯的優勢,達思科技承接的其他公司無法恢復的疑難案例不計其數。
達思科技數據恢復技術研發中心于2009年10月啟動了科技創新計劃,陸續發布了多款自主軟件產品。截止到2013年12月,達思科技自主知識產權的數據恢復軟件達到23款,其中Unix和Linux企業級數據恢復技術以及手機等移動終端數據恢復技術國際領先!
達思科技職業院校數據恢復實訓室是國內職業院校的首選,已經在多家學校正式運營,其中北京勞動保障職業學院、北京政法職業學院、北京商貿學校等中高職均采用達思數據恢復實訓室,開設了數據恢復專業課程。開展了深度校企合作,深受師生青睞。
達思數據恢復實驗室解決方案是多家涉密單位和科研機構指定建設單位,達思科技具備大型、中型和小型數據恢復實驗室設計與建設的能力,為涉密單位提供了安全保密數據恢復實驗室,為數據安全筑起最后一道防線。典型成功案例有天津市國家保密局數據恢復實驗室項目、總裝備部裝甲兵工程學院數據恢復實驗室項目、中央和國家機關涉密載體銷毀中心數據恢復項目等。