- はじまりは
- まずはお決まりの NVRAM(PRAM) リセット
- 念のため SMC リセット
- セーフモードで起動する
- リカバリモードで
- シングルユーザモードでディスク復旧
- Apple Hardware Test
- ターミナルからデータバックアップ
- どうしようか
- Sierra クリーンインストール
- つながりません
- これにて復旧完了
- 死にかけの SSD は
はじまりは
ログイン画面でキーボード入力を受け付けなくなった。 しばらく触っていると、レインボーカーソルが回りだした。
電源ボタン押して再起動するも、アップルマークの起動画面で進捗バーが進まない。
MacBook Air (Mid 2012[13]) は、その昔 SSDが壊れるということでリコール対象になったもので、その時はリコールの発表1週間前ぐらいに壊れて自分で交換したやつ(後日 Apple から費用は負担してもらったケド)。
悪夢ふたたび の記録です。
まずはお決まりの NVRAM(PRAM) リセット
- 電源を落とす
- 電源ボタンを押した直後に「command(⌘)」+「option」+「P」+「R」
- 画面が落ち、もう一度起動音が聞こえるまでキーは押したまま
- 起動音が聞こえたらキーを離す
状況変わらず。
念のため SMC リセット
状況からして効果は無いと思うが念のためトライ
- 電源を落す
- ACアダプタは接続しておく
- 「shift」+「control」+「option」を押しながら電源ボタンを押す
- 電源ボタンと3つのボタンを同時に離す
やはり状況変わらず。
セーフモードで起動する
- 電源を落とす
- 電源ボタンを押した直後に「shift」
- 起動画面が出たらキーを離す
起動せず。。
リカバリモードで
ここまではある程度予想どおり。
リカバリモードのディスクユーティリティで復旧のオチを想定した。
- 電源を落とす
- 「command(⌘)」+「R」を押しながら電源ボタンを押す
- 灰色画面が出てしばらくしたらキーを離す
一番下のディスクユーティリティで「続ける」
対象のドライブを選択して「First Aid」
この First Aid でファイルの破損を修復して復旧。のつもりが、復旧できないのでデータのバックアップを取ることをお勧めされた。
このあたりから嫌な予感に変わる。
シングルユーザモードでディスク復旧
最近は非推奨のようだが、fsck を直接実行したら治ったという話もある。
- 電源を落とす
- 「command(⌘)」+「S」を押しながら電源ボタンを押す
どこぞから画像拝借すると、以下のように起動する。
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」キーを押し続ける
どこぞから拝借した画像でこんな感じ。
「Test」ボタンでテスト実行。
「問題なし」だって。すくなくともマザーボードやメモリは多分大丈夫。
ターミナルからデータバックアップ
いろいろやった結果、最初は80%ぐらいまでは進んでいた起動時の進捗バーも、10% ぐらい進んで勝手に電源が落ちるようになり、状況悪化中。 早い目にバックアップとっておくことにする。
外付けHD 無いので、USBメモリにバックアップ取ることにする。 昔 SSD 死んだ時以降、なるべくローカルにデータ持たないよう心がけてきたので、容量もそう多くないでしょう。
リカバリモードで起動し、メニューから「ユーティリティ」「ターミナル」を選択。
df
で見ると、内蔵 SSD は /Volumes/ボリューム名
でマウントされているので、同じく /Volumes/usb
でマウントされている USBメモリにデータ退避。
起動はできなくても内蔵 SSD のデータは読めた。壊れているのはシステムファイルがあるセクタなのかな?
$ tar cvfz /Volumes/usb/backup.tgz /Volumes/xxx/xxx
・・・
やっぱり容量足りない。さすがに無理だった。
どうしようか
- 古いPC引っ張り出してSSH経由でバックアップ取る
- 何かと必要になるし、外付けドライブを調達する
- データ残したまま OS の上書きインストールにチャレンジする
- 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 インストール
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 は
これなのですが、
純正のものより少しサイズが大きいのか、Transcend SSD MacBook Air 専用アップグレードキットに付いてきた専用ケースにいれてもフタが締まりません。