SeagateのHDDのファームウェアアップデート手順。実際にやってみました。

数日前のことなのですが、SeagateのHDDのファームウェアをアップデートしました。
むしゃくしゃしてやりました。反省はしていません。その時の記録です。
但し、中には手順が間違っていないにも関わらず、このファームウェア更新でディスクが認識されなくなる報告もあるそうです。そうなると、個人では復旧不可能です*1
実行される場合はディスクのバックアップを取るなりして下さい。また、不安な方はもう少し情報が出そろってからの方が良いでしょう。
つまりは、「ディスクダメになってもいいから、ファームウェアアップデートしたい!」という奇特な方向けです。

まず、ディスク名を確認してください。

FreeBSDならここLinuxあたりならここWindowsあたりならここあたりを参考に。
確認したら、Seagate社公式ページの一覧表と見比べ、今回の対象HDDかどうかを確認してください。

ファームウェアを準備しましょう。

ダウンロードするよ!

Seagate社公式ページから落とします。
なお、「メール下さい」となっている部分については、まだファームウェアの検証が済んでいないもののようです。
メールすれば貰えるが不安定だ、という情報もありますので気を付けて下さい。

ディスク焼くよ!

ファイルはISO形式、ディスクイメージです。これをディスクに書き込むのですが、注意が必要です。これを単純にライティングソフトで書きこんでしまうと「ISOファイルが入ったディスク」にが作成されてしまいます。

  • 「ISOファイルを書き込む」
  • 「ディスクイメージから書き込む」

といったメニューから書き込みましょう。
Windowsでそのようなメニューが無いライティングソフトをお使いの方は、IMGBURNというフリーウェアで書きこむことができます。こちらを利用すると良いでしょう。
Macをお使いの方は、標準付属のディスクユーティリティから書き込み可能です。LinuxBSDSolarisユーザは。。。ddcdrecordとか使えばいいんじゃね?

最終準備だよ!

HDDチェックするよ!

HDDを複数台繋いでいる方も多くいると思いますが、ファームウェアの対象HDD以外を外しましょう。
モデルによってファームウェアが違います。ファームウェアのアップデータは全てのHDDのファームウェアを書き換えてしまいますので、対象のHDD以外を必ず外しましょう。
そうでないと、間違ったファームウェアが書き込まれ、HDDが文鎮と化してしまいます。

BIOSの設定変えるよ!

BIOSの設定を変更し、CDから起動するようにします。
これはBIOSの種類によって様々です。お使いのコンピュータ、マザーボードの取扱説明書にて確認してください。

ディスクブートするよ!

以上、完了したら、いよいよ更新作業です。

ブート画面


ブート直後の画面。ライセンスが表示されるので、流し見したらよく読んだら[F10]を押します。

更新作業


これが操作画面となります。気をつけましょう、変なボタン押すとHDDをゴミ箱にダイレクトインする羽目になりますよ。
まず、[s]キーを押して現在接続されているドライブが本当に「このファームウェアアップーデータでアップデートできるか」確認します。

Scanning...という文字がぽこぽこと表示され、少し待つと現在接続されているHDDの型番が表示されます。これと先ほどの画面に表示されたHDDの型番を確認し、本当にこのファームウェアアップデータで良いか確認して下さい。

何かキーを押すと捜査画面に戻ります。さて、ここからアップデートを行います。先ほど確認したディスクの型番がA)〜C)の中にありますよね?もしなかったらZボタンで終了し(この操作は試してないので、正常な動作するか、私は責任持てません。。。)、正しいファームウェアを準備して下さい。
自分のHDDの型番があることを確認したらその型番のボタンを押します。すると、画面に色々表示されたり、ディスクが変な声上げたりする不安な時が流れます。
なお、この間はファームウェアが書き込まれている最中です。間違ってもCTRL-ALT-DELを押して強制終了させたり、電源落としたりしてはなりません。HDDがただの鈍器になります。ドンキは楽しいですが、鈍器は楽しくないですから、気をつけましょう。

ファームウェアのアップデートが完了するとこのような画面になります。何かボタンを押して終了してください。バツンっと電源が落ちてびっくりします。
このあと、BIOSの設定を戻すなりし、再起動してください。うまくブートしたらおめでとうございます。もしHDDがもの言わぬ漬物石になってしまった場合は、Seagate社のサポートメール宛にメールを送ってみましょう。

追記

FreeBSD Daily Topicsによると、HDDにファームウェアを書き込んだ後、そのままの構成で一度起動が必要とのことです。
RAID構成などで次々にファームウェアを更新する必要がある場合でも、一度コンピュータを立ち上げてファームウェアが更新された事を確認した後に、次のHDDのファームウェアアップデート作業に移るべきでしょう。尚、1台更新が終わるごとにKnoppixなどのLiveCDでファームウェアが正常に更新されたか確認すると良いでしょう。

ちなみに

私のFreeBSDサーバでファームウェアアップデートを行った結果です。一応成功し、今でも元気に走り回っています。ファームウェアを二種類準備しなければならなかったので、ディスクを二枚消費してしまいました。とほほ。。。
更新した後のatacontrolの実行結果です。ファームウェアが更新されています(実行前はSD15だった)。

$ sudo atacontrol cap ad6
Password:

Protocol Serial ATA II
device model ST31000340AS
serial number xxxxxxx
firmware revision SD1A
cylinders 16383
heads 16
sectors/track 63
lba supported 268435455 sectors
lba48 supported 1953525168 sectors
dma supported
overlap not supported

Feature Support Enable Value Vendor
write cache yes yes
read ahead yes yes
Native Command Queuing (NCQ) yes - 31/0x1F
Tagged Command Queuing (TCQ) no no 31/0x1F
SMART yes yes
microcode download yes yes
security yes no
power management yes yes
advanced power management no no 0/0x00
automatic acoustic management no no 0/0x00 254/0xFE

ただ、この作業中になぜかviaのGigaNicが死にました。現在予備の100BaseNicで運用中です。更新作業が原因ではないのですが。。。とほほ。。。

*1:データが飛んだ場合はSeagateが復旧サービスを提供するそうですが。。。