首先,想讀取希捷硬盤的固件區數據,用普通的方法CreateFile打開硬盤,然後Seek,ReadFile等是不行的,這樣讀取出來的只是硬盤的用戶區數據。想要讀取硬盤的固件區(系統區)數據,需要一些額外的配置。
硬件:
1、電源。
2、usb轉com口數據線。
3、一塊希捷硬盤。
操作:
用usb轉串口數據線連接硬盤,給硬盤加電,操作完成。
需要在PC上通過串口通信的方式,給希捷硬盤發送指令,以讀取希捷硬盤的固件區數據。
指令如下:
進入T模式:ctrl+z
進入T模式後,會返回(省略號代表前邊還有其他字符,在此未列出):“......F3 T>"
進入16進制模式(字母O):O1
進入ASSIC模式(字母O):O3
進入ATA模式(com口將不可用,僅進入T模式的指令可用):ctrl+t
命令 說明 / 返回 ctrl+z 進入T模式 ctrl+t 進入ATA模式,com口將不可用 F3 T> T模式 /2 進入定位模式 x 查看分區信息 A0 所有分區可讀 S11,0,,,,1 定位11柱面 r,,,,,1 將數據讀入緩存區 ? 顯示緩存區地址 / 返回T模式 O1 進入16進制模式 O3 進入ASSIC模式 /1 進入讀模式 D6447600,,,800 從取緩存區地址6447600讀800字節
返回T模式:/
進入定位模式:/2
查看分區信息(此指令可讀取出用戶分區和固件分區的柱面、每柱面的磁道數等。):x
進入讀模式(所有分區可讀,在此必須執行此命令,不然,後邊的壓入緩存和讀都無法執行):A0
定位柱面(如11柱面):S11,0,,,,1
將當前定位柱面的數據壓入緩存:r,,,,,1
顯示緩存區地址:?
進入讀模式:/1
從取緩存區地址6447600讀800字節:D6447600,,,800
通過上邊的重複定位柱面、壓入緩存、顯示緩存地址、讀取緩存數據的方式,即可完成對希捷硬盤固件區數據的讀取。
轉載請註明文章來自:http://blog.csdn.net/windows_nt