おっぱいそん!

pythonを数値計算に使うときのテクニックとかをまとめていきたい。

MacBook Pro (Mid 2012, 13インチ)のSATA cableの交換

2週間ほど前に、MACのOSが立ち上がらなくなりました。
結論から言うと、SATAケーブルを交換したら治ったのですが、その記録をここに書いておきます。
*特にMACBookPro Mid 2012モデルの方向けの追記をしました。

時系列

  • MACを久々に再起動させようとすると、OSが起動しなくなってしまいました。最初はソフト的な問題かと思い、PRAMのリセットやディスクの修復などWebにある対処法を一通りやってみましたが、ダメでした。
  • 次に、データやアプリケーションは消さずに(HDDをフォーマットせずに)OSXのみの再インストールを試みましたが、これも失敗しました。そこで、諦めて、HDDをフォーマットしてしまうことにしました。重要なデータはDropBox等に置いているのですが、バックアップを取っていないデータもあったので、救出しました。HDDから、データを救出する方法は、例えば、下のようなやり方があると思います。僕の場合は、1.の方法では外付けHDDとして認識されなかったので、方法2.でデータを取り出しました。
  1. MACの中のHDDを外付けのHDDとして、動かす(具体的には、他のMACとThunderboltケーブルでつないで、ターゲットディスクモードで他のMACからHDDのデータを取り出す)。詳しくは「ターゲットディスクモード Thunderbolt」などでググってください。
  2. リカバリーモードで使えるターミナルで、MACの中のHDDのデータをUSBメモリなどに移す。http://techracho.bpsinc.jp/morimorihoge/2014_07_09/18182を参照。上のリンクでは、ネットワーク経由でデータを吸いだしていますが、USBメモリや外付けHDDなどを使うほうが楽だと思います。また、最初、ターミナルからdfコマンドで、Macintosh HDが見えなくても、暗号化されている場合、ディスクユーティリティから、パスワードを入れることで、マウントできます(ディスクユーティリティからHDDが見れない場合はこの方法は無理だと思います)。この方法では、ターミナルからコマンドを使って、データを移動させないとダメです。シェルコマンドに慣れてない人はググる
  3. MacBookからHDDを物理的に取り出して、SATA-USBケーブルなど(内蔵のHDDを外付けにできるケースを買うのが楽かもしれません)を使って、他のMACに差して、データを取り出す。
  • バックアップを取った時点では、リカバリーモードは起動出来ていたのですが、その後、リカバリーモードも起動しなくなりました。そこで、USBにOSX(Yosemite)を入れて、USBのOSXのリカバリーモードを使って、HDDをフォーマットしようとしました。http://c-through.blogto.jp/archives/41437338.html

しかし、以下のようなエラーが出て、フォーマットできませんでした。

データ探索による意図しない読み取りを予防するためのボリュームデータのワイプ処理を完了できませんでした。

英語だと(日本語だと情報が少なかったので、英語でリカバリーモードを立ち上げて、エラーを英語で吐かせて、ググったりしてました)、

wiping volume data to prevent future accidental probing failed

この時点で、完全にHDDの故障だと思い込み、SSDを注文しました。ところが、新品にSSDでも、同じエラーが出たため、別の原因だと気が付きました。

  • 上のエラーでググると、HDD(or SSD)とマザーボード(ロジックボード)をつなぐケーブル(SATAケーブル)関係のトラブルが多いことが分かりました。とりあえず、SATAケーブルが外れかけていないかチェックしましたが、ちゃんと刺さっていましたので、SATAケーブルの故障の可能性が高まりました。また、もともと入っていたHDDを外付けHDDにできるケースにいれて、フォーマットを試みると、フォーマットに成功したので、HDDは故障していなかったことが分かりました。
  • ここで、MacBookSATAケーブルを交換してみようと思い、調べてみると、ジーニアスバーor正規サービスプロバイダで買うのが良さそうなので、正規サービスプロバイダに注文しました。https://sites.google.com/site/bknobiboroku/mac/change_the_sata_cable_of_macbookpro_mid2012

ちなみに、SATAケーブルは非正規の店でも、購入できますが、倍以上するので、公式の店で買えるなら買ったほうがいいです。
僕の場合は、まず、家から比較的近い正規サービスプロバイダに電話で購入できるか問い合わせて、注文(値段は2000円)しました(その店には在庫は置いていなくて、取り寄せでした。その店の場合は翌日には取り寄せられるとのことでした)。できれば、郵送して貰いたかったのですが、そのようなサービスはやっていなかったので、後日、電車で一時間かけて取りに行きました。電話で問い合わせた時には、取り寄せ可能という話だったのですが、受け取りの時には、本来、部品だけ取り寄せのようなサービスはやっていないので…みたいなことを言われたので、正規サービスプロバイダでも店によって、扱いが違うかもしれません。一軒目の正規サービスプロバイダでダメでも、いくつか問い合わせてみるといいかもしれません。
新しいSATAケーブルに取り替えると、フォーマットに成功し、OSも無事、クリーンインストールできました。
SATAケーブルの取り替えのやり方は例えば、MacBook Pro 13" Unibody Mid 2012 Hard Drive Cable Replacement - iFixitを参照。そんなに難しくはないのですが、新しいSATAケーブルの折れ曲がってるいる部分(CDドライブとネジでくっつけるあたり)がピタッとつかず、元のSATAケーブルに比べてあまり収まりが良くなかったです。

結論

  • AppleCareに入っている人や、自分で修理や原因の特定が無理そうな人は、ジーニアスバーや正規サービスプロバイダに持って行って、修理してもらうのが楽だと思います。僕はAppleCareに入っていなかったし、修理代を払うなら、新しいMACを買おうと思っていたので、自分で修理を試みました。
  • HDDをフォーマットする前に、外付けにして、起動を試みたりすべきでした。また、HDDのフォーマットに失敗した後も、すぐに、HDDの故障と決めつけるのではなく、外付けにして、起動を試みるべきでした。(SATAケーブルの故障と気づくのに、時間がかかった理由として、リカバリーモードなどで、HDDが完全に認識されなくなるのではなく、フォーマットできないというトラブルだったのと、HDDが壊れるという話はたまに聞きますが、SATAケーブルが壊れるという話は聞いたことがなかったので、全く疑ってなかったことがあります)
  • Mid 2012, 13-inchのMacBookProを使っている方は、SATAケーブルの故障の可能性が高そうです。ネットでMacBookSATAケーブル交換の事例を調べてみると、明らかにMid 2012のモデルが他のモデルより、SATAケーブル故障の事例が多いです。

例えば、
https://sites.google.com/site/bknobiboroku/mac/change_the_sata_cable_of_macbookpro_mid2012
http://www.dannydullin.com/macbook-pro-mid-2012-hard-drive-cable-issue/
http://forums.macrumors.com/threads/mbp-wont-start-from-sata-ssd-works-with-usb.1756227/
http://vintagecomp.livedoor.biz/archives/51790440.htmlなど。
ちなみに、買うべきケーブルの型番は923-0741です。

[追記2017.1.1]
以下のリンクの記事に依ると、2012MidのモデルのSATAケーブルは、やはり元々問題があるようで、交換プログラムが出ているようです....
MacbookPro(2012mid)でHDDが認識しなくなったらAppleストアか正規店に相談すると無料で修理できる可能性が高い - ぼっちバイカーのブログ
正規サービスプロバイダに持っていくと、そもそも無料で交換してくれるみたいなので、持っていきましょう。
(私のSATAケーブル代2000円と、MAC用のドライバー代と時間(プライスレス)を返してください!)
こういうのって、ユーザーに能動的に通知されないものなのですね... 例えば、危険が伴うような不具合(バッテリー関連とか)だと流石に何かあるのでしょうけど。