adventcalendar2017

容量不足でMACが起動しなくなった時の覚書

グレンジ Advent Calendar 2017 4日目の記事を担当しました、woki と申します。
グレンジでクライアントサイドエンジニアをしております。

今回は、容量不足でMACが起動しなくなった時に行なった対応の記事になります。

【事象】

MACを起動するとロゴが表示され進捗インジケータが半分ほど進んだところでシャットダウンしてしまう(この時点では原因不明)

【結論】

バックアップとってOS再インストールしました

おわり

【過程】

■ PRAMリセットしてみる

起動時に option + command + P + R 起動音が2回なったら離す
→ 改善されず (´'ω'`)

■ セーフモード起動してみる

起動音が鳴った直後に shift ロゴが見えたら離す
→ セーフモードで起動せず (´'ω'`)

■ リカバリーモードで起動してみる

起動時に command + R ロゴが見えたら離す
→リカバリーモードで起動できた ( 'ω' )

▼ディスクユーティリティでFirstAid実行

→ エラーが表示される

ファイルシステム検査の終了コードは8です
ボリューム用のブート・サポート・パーティションは必要に応じてアップデート中
ファイルシステムを検証または修復できませんでした
操作が失敗しました...

→ 再度試すも...FirstAidで修復できない模様 (´'ω'`)

ディスクユーティリティで情報を探す
使用状況999.35GB、空き0
→これが原因かも?消そうと試みるもアクセスできず...

■ シングルユーザモードで起動してみる

起動時に command + s
→ 起動した ( 'ω' )

とりあえず修復してみる
$ /sbin/fsck -fy

エラー
$ The volume Macintosh HD could not be verified completely.
$ /dev/rdiskOs2 (hfs) EXITED WITH SIGNAL 8

dfコマンドでパーティションが表示されず...
→どうやらパーティションが壊れてる?

■ 容量が一杯だったのを思い出し、消してみる

/Users/配下で不要なファイル消そうとしたらReadOnlyでマウントされているため消せなかった
書き込み権限で再マウントする
$ mount –uw /

消えてもいいファイルを10GBほど削除

シャットダウン
sudo shutdown -h now

リカバリモードで起動、ディスクユーティリティでFirstAid実行
が・・・駄目っ・・・

■ 修復を諦めてデータだけバックアップを取ることにした

シングルユーザモードで外付けHDDを繋ぐ
→マウントすべき外付けHDDの名前がどれか分からない
ので一旦外す
$ ls /dev/
外付けHDDのUSBさす
$ ls /dev/
で増えた名前が多分それ(今回は disk1s1 だった)

バックアップ用のフォルダ作る
$ mount -o update /
$ mkdir -p mnt/backup

マウントする
$ mount_hfs /dev/disk1s1 /mnt/backup

バックアップ用のフォルダにコピーする
$ cp -ipR /Users/Downloads /mnt/backup/Downloads

-i 上書きされるファイルがあれば、その可否を確認します。
-p 元のファイルの属性(タイムスタンプ等)を可能な限り保持します。
R 再帰処理(recursive)ディレクトリ配下全て

外付けHDDを別のpcで開いてファイルが読み込めることを確認

リカバリモードで起動して壊れたパーティションを消去、OSの再インストール、避難したデータを復元

今日が始まる٩( 'ω' )و