突然死したseagate製HDDの修復

投稿者: | 2010年3月16日

2009年のはじめごろに話題になったseagate製HDDの突然死ですが、先日会社の同僚のHDDでその症状が発生したとのことで、参考のサイトを教えるからそこを見て修復してくれと依頼された。
具体的には、HDDがスピンアップを繰り返してBIOSでも認識できなくなっている。
対象のHDDはST31000333AS。

ちなみに、報酬は粉末カレー(笑
サイトとして教えてもらったSeagate製HDD 解析まとめに書かれているとおりやっただけ。
接続は写真のような感じ。詳細は上記サイトにあるPDFにある。あとこのPDF内部の写真ではつないでいない物があるが、GNDもちゃんとつないだ方が良い。


写真では無いが、下で行うコマンド操作を行うときには、基板とディスク側の接点の間に紙を挟んだ状態で開始する。
手順途中でその紙を外してHDD本体と基板の接続を行って続きを行う部分がある。
この写真、電源をつないでないけどもちろん作業を行うためには電源をつなぐ。

さて毎度こういうのをやろうと思うといろいろはまるんだが、今回引っかかったのはkindle用にいつも使っているUSB-serial(TTLレベル5V)変換だと、HDD側のシリアル信号の電圧が合わなくてHDDからのデータは受けられるけどPCからのデータを送信できていなかったところ。
先日秋葉原に行ったのでそのときに買ってきたUSB-serial変換モジュールFT232RLで、J1を2-3ショート(I/O 5V)にしてつないだらPCからのコマンドを送信できるようになった。
何故いつも使っている共立で買ってきたsparkfun.comのモジュールが使用できなかったのかは謎。
まぁそこまでできれば後は上記サイトに載っている手順の通りにやるだけ。

一応、以下がコマンドを入れたログ。

Rst 0x20M
(Ctrl+Zを押す)

ASCII Diag mode

F3 T>/2

F3 2>Z

Spin Down Complete
Elapsed Time 0.139 msecs

(HDD本体と基板の間に挟んでいる紙を外す)

F3 2>U

Spin Up Complete
Elapsed Time 7.027 secs
F3 2>/1

F3 1>N1

F3 1>/T

F3 T>i4,1,22

F3 T>

(HDDの電源を切って再起動)

Rst 0x20M
(Ctrl+Zを押す)

ASCII Diag mode

F3 T>m0,2,2,,,,,22
(しばらく待ってると以下のログが出力される)
Max Wr Retries = 00, Max Rd Retries = 00, Max ECC T-Level = 14, Max Certify Rewrite Retries = 00C8

User Partition Format 3% complete, Zone 00, Pass 00, LBA 00004AA5, ErrCode 00000080, Elapsed Time 0 mins 30 secs
User Partition Format Successful – Elapsed Time 0 mins 30 secs
Zone re-format was skipped.
F3 T>

以上で正常に起動するようになったので、改善ファームウェアを拾ってきて書き換えを実行。
場所はseagate公式のこちら

isoでCDを焼いてそこから起動して書き換えるか、windowsから実行してブート領域にインストールされて(?)次回起動時に書き換えを行う物とある。今回はCDを焼くのが面倒だったので後者で実行したが、特に問題はなかった。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です