MacBook Air (Mid 2012[13]) の SSD がふたたび逝った


はじまりは

ログイン画面でキーボード入力を受け付けなくなった。 しばらく触っていると、レインボーカーソルが回りだした。

電源ボタン押して再起動するも、アップルマークの起動画面で進捗バーが進まない。

MacBook Air (Mid 2012[13]) は、その昔 SSDが壊れるということでリコール対象になったもので、その時はリコールの発表1週間前ぐらいに壊れて自分で交換したやつ(後日 Apple から費用は負担してもらったケド)。

悪夢ふたたび の記録です。

まずはお決まりの NVRAM(PRAM) リセット

  • 電源を落とす
  • 電源ボタンを押した直後に「command(⌘)」+「option」+「P」+「R」
  • 画面が落ち、もう一度起動音が聞こえるまでキーは押したまま
  • 起動音が聞こえたらキーを離す

状況変わらず。

念のため SMC リセット

状況からして効果は無いと思うが念のためトライ

  • 電源を落す
  • ACアダプタは接続しておく
  • 「shift」+「control」+「option」を押しながら電源ボタンを押す
  • 電源ボタンと3つのボタンを同時に離す

やはり状況変わらず。

セーフモードで起動する

  • 電源を落とす
  • 電源ボタンを押した直後に「shift」
  • 起動画面が出たらキーを離す

起動せず。。

リカバリモードで

ここまではある程度予想どおり。

リカバリモードのディスクユーティリティで復旧のオチを想定した。

  • 電源を落とす
  • 「command(⌘)」+「R」を押しながら電源ボタンを押す
  • 灰色画面が出てしばらくしたらキーを離す

f:id:Naotsugu:20170712210546p:plain

一番下のディスクユーティリティで「続ける」

f:id:Naotsugu:20170712210942p:plain

対象のドライブを選択して「First Aid」

この First Aid でファイルの破損を修復して復旧。のつもりが、復旧できないのでデータのバックアップを取ることをお勧めされた。

このあたりから嫌な予感に変わる。

シングルユーザモードでディスク復旧

最近は非推奨のようだが、fsck を直接実行したら治ったという話もある。

  • 電源を落とす
  • 「command(⌘)」+「S」を押しながら電源ボタンを押す

どこぞから画像拝借すると、以下のように起動する。

f:id:Naotsugu:20170712212156p:plain

fsck 実行

# /sbin/fsck -fy

問題がなかった場合は、** The volume (<ボリューム名>) appears to be OK

問題が見つかり、変更や修復が行われた場合は、***** FILE SYSTEM WAS MODIFIED *****

と出るので、何回かやれば復旧し、

# reboot

で解決。

と行きたかったが、そもそもファイルの復旧前に異常終了しているようで、効果なし。

Apple Hardware Test

すでに SSD の死亡は確信へと変わっていたが、Apple Hardware Test を実行

  • 電源を落とす
  • 電源ボタンを押してすぐに「D」キーを押す
  • Apple Hardware Test のアイコンが表示されるまで、「D」キーを押し続ける

どこぞから拝借した画像でこんな感じ。

f:id:Naotsugu:20170712213823p:plain

「Test」ボタンでテスト実行。

「問題なし」だって。すくなくともマザーボードやメモリは多分大丈夫。

ターミナルからデータバックアップ

いろいろやった結果、最初は80%ぐらいまでは進んでいた起動時の進捗バーも、10% ぐらい進んで勝手に電源が落ちるようになり、状況悪化中。 早い目にバックアップとっておくことにする。

外付けHD 無いので、USBメモリにバックアップ取ることにする。 昔 SSD 死んだ時以降、なるべくローカルにデータ持たないよう心がけてきたので、容量もそう多くないでしょう。

リカバリモードで起動し、メニューから「ユーティリティ」「ターミナル」を選択。

df で見ると、内蔵 SSD は /Volumes/ボリューム名 でマウントされているので、同じく /Volumes/usb でマウントされている USBメモリにデータ退避。

起動はできなくても内蔵 SSD のデータは読めた。壊れているのはシステムファイルがあるセクタなのかな?

$ tar cvfz /Volumes/usb/backup.tgz /Volumes/xxx/xxx

・・・

やっぱり容量足りない。さすがに無理だった。

どうしようか

  1. 古いPC引っ張り出してSSH経由でバックアップ取る
  2. 何かと必要になるし、外付けドライブを調達する
  3. データ残したまま OS の上書きインストールにチャレンジする
  4. SSD 死亡は確定として、早々に SSD を調達する

とか考えていたら、最近は交換用キットになって売ってるのね。

専用の外付けケースで、取り外した SSD を USB3.0 経由で外部記憶装置として使えるということで、これにしよ。

ドライバなども付いてるし。すでに2回目なのでもう持ってるけど。

Sierra クリーンインストール

翌日届いた SSD。

Transcend の SSD キットでは、最初に新しい SSD を専用ケースで USB3.0 接続し、ディスクユーティリティを使って内蔵 SSD からリストアする手順になっている。

けど今回は内蔵 SSD が死にかけなので、SSD を交換して Sierra をクリーンインストールして、死にかけの SSD を USB3.0 接続してデータを吸い上げることにする。

SSD を付け替えて、リカバリモードで起動。ディスクユーティリティでフォーマット。フォーマットには以下を指定。

  • Mac OS X 拡張ジャーナリング(Mac OS X Extended(journaled))
  • スキーム GUID Partition Map


OS インストール

f:id:Naotsugu:20170712210546p:plain

Wifi 接続して画面通りに進むだけ。

インストール後、死にかけ SSD を 専用ケースで USB3.0 接続してデータ復旧。

つながりません

データ復旧に入ろうかというところで、なぜか死にかけ SSD を USB 接続しても全くマウントされず、認識すらされない模様。

いろいそ試すも、拉致があかないので、死にかけSSDを再度戻し、クリーンインストールした SSD を USB接続で繋いでデータ退避することに。

再び裏蓋あけて SSD 交換し、クリーンインストールした SSD を USB接続してリカバリモードで起動。

メニューから「ユーティリティ」「ターミナル」を選択して tar で吸い上げ。

$ tar cvfz /Volumes/usb/backup.tgz /Volumes/xxx/xxx

データ退避完了したら、再び裏蓋あけて SSD 交換して起動。

これにて復旧完了

tgz 解凍。

バックアップは絶対パスで取ったので、-C で解凍先を指定しないと残念なことになる。

$ tar xvfz backup.tgz -C ./temp

これで終わりと思いきや、日本語のファイル名が文字化けし放題です。リカバリモード時のターミナルの lang 指定が悪かったのかな?

こういう時は、よしなに文字コード判別してくれる unar を使う。

brew 導入済み前提で、こんな塩梅。

$ brew install unar

$ sudo unar -o ./temp backup.tgz

必要に応じてオーナー変更。

$ sudo chown -R オーナー:staff ./temp

死にかけの SSD は

これなのですが、

[asin:B00CYA5HX4:detail]

純正のものより少しサイズが大きいのか、Transcend SSD MacBook Air 専用アップグレードキットに付いてきた専用ケースにいれてもフタが締まりません。