状況
環境
mac OS: El Capitan
で他のmacからXcode8.3.2のxipファイルをダウンロード。
しかしEl Capitanのため、Xcode.app(version8.3.2)を開けず、Sierraにアップデートしようとした。
この時点で残り容量6GB。Sierraのアップデートに必要な容量は4.9GB。
アクション
いけるだと、と思ってアップデートのために再起動。
、、起動、、
、、カーネルパニック!?(黒背景にAppleロゴが表示されてる画面で白い文字がバーっと表示される状態)
ちーん。
対処
原因は容量のパンクと推定。
どうにかして不要なファイルを消して起動に必要な容量を確保したい。
起動方法はApple公式: Mac の起動時のキーコンビネーションを参照した。
やったことその1: セーフブート(セーフモードで起動)
電源を落とした状態で、shiftキーを押しながら起動。
結果: 起動せず。
やったことその2: NVRAMリセット起動
電源を落とした状態で、⌘ option P Rキーの4つを押しながら起動。
カーネルパニックが起きたときの対処法らしい。
結果: 起動せず。
やったことその3: mac OS復元から起動
電源を落とした状態で、⌘ Rキーの2つを同時に押しながら起動。
結果: 起動成功。
ディスクユーティリティからTerminalを起動
画面上部のツールバーから起動できる。
Terminalの基本操作はこの記事(Macでターミナルで使える基本のコマンド8選)を参照してください。
ディレクトリ移動
起動時のディレクトリを確認($ pwd
)すると"/private/var/root"
という謎の場所にいる。
普段使っている"/Users/[user-name]/Library"
らへんにアクセスしたい。
でも普段使っている"/Users/[user-name]"
の実際のpathは"Volumes/Macintosh HD/Users/[user-name]"
らしいので
一旦"/"
まで一つずつ戻って($ cd ..
)、
それぞれのディレクトリに内包されているディレクトリを確認($ ls -al
)して"Volumes"
を探す。
すると"/"
の中に"Volumes"
があるはずなので、そこに移動($ cd Volumes
)する。
"/Volumes"
にてまた内包されているディレクトリを確認すると、"Macintosh HD"
があるはずなので移動するが、ここで注意が必要。
Terminalではファイルやディレクトリにスペースなどの特殊文字が含まれる場合は"\"
(バックスラッシュ)を使ってエスケープする必要があるので、"Macintosh HD"
に移動する場合は、$ cd Macintosh\ HD
と入力する。
不要なファイルを消す
あとは容量を食っているであろうファイル、ディレクトリを消しまくる。($ rm -rf [ディレクトリ名]
)
消す際は常にTerminalがどのディレクトリにいるのか確かめ($ pwd
)、細心の注意を払うこと。
今回は思い切ってXcode.appを消しました。推定容量10GB。
今回は時間がなかったため、確実にデカいのを1つ消した。
普通は溜まったキャッシュなどを消すのがおすすめ。
容量の確認
$ diskutil cs list
を実行すると、Macintosh HDのstatusが見れる
消す前のFree Space
は94KBでした。(笑) そりゃ起動できないわ。。
バックアップをとる
USBにファイルのバックアップをとることもできる。
USBのディレクトリpathは、"Volumes/[USB名]"
になる。
システム起動
ファイル操作が終わったTerminalを終了して、システム終了。
今度は普通に電源を入れて起動を待つ。
起動すれば成功。
しなければまたファイルを消しに行くか、諦めてApple storeに投げます。
以上です。
スクリーンショットがなくて申し訳ないです。焦っていて、それどころではありませんでいした。
再現できなくはないけどしたくはないです。(笑)
まとめ
macの空き容量が少ない時の再起動は危険。
特に再起動を伴うOSアップデートなどを行うときは少なくとも10GBくらいの余裕をもたせておくこと。