希捷硬盘读取固件区数据

首先,想读取希捷硬盘的固件区数据,用普通的方法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

原文地址:https://www.cnblogs.com/pangblog/p/3424070.html