Tech Racho エンジニアの「?」を「!」に。
  • IT Tips

macOSのアップデート失敗後にダウンロード前の状態に戻す

更新履歴

  • 2018/04/20: 初版公開
  • 2020/11/13: 追記、更新

こんにちは、hachi8833です。

macOSのアップデートに立て続けに失敗し、その後復旧したときの方法をメモします。本記事はmacOS High Sierra時点で執筆しました。

ファイルシステムが壊れるという、より深刻な事態の場合は、起動しなくなったMacからネットワーク経由でデータをサルベージするもご覧ください。

症状

自分の場合はESET CyberSecurity ProにせかされてmacOS High Sierra 10.13.4アップデートをインストールしようとして発生しました。

もちろん、TimeMachineでのバックアップ完了を確認してから始めました。

App Storeアプリでのダウンロードがやけに時間がかかるなと思いつつ、やっと終わって再起動すると、黒背景のプログレスバーが表示されて10分ほど経過した後でこんな画面が出てきました。

せっかくなので検索用にメッセージをメモしておきます。

コンピュータにmacOSをインストールできませんでした
macOSのインストール中にエラーが起きました。Apple Diagnosticsを使ってMacハードウェアをチェックするには、シャットダウンしてから、電源ボタンを押し、すぐにDキーを押したままにして、診断が開始されるまで待ってください。
インストーラを終了してコンピュータを再起動してからやり直してください。
[再起動]

おそらく何らかの原因で、ダウンロードしたファイルに傷が入ってしまったのでしょう。

1. macOSを復旧する

ここから取れる道はいくつかあるといえばありますが、まずはmacOSを復旧します。

  • 起動後にDキーを押したままにして、自動診断を走らせる(これを最初にやるべき)

  • ハードウェアに問題が生じていたら、諦めてGenious barに持っていくなどする

  • ハードウェアが無事なら(自分の場合はこれ)、自動診断画面の[再起動]をクリックして再起動
  • 再起動直後にコマンドキーとRキーを同時にしばらく押し続け、復旧用の画面を出す

  • [TimeMachineバックアップから復元]を選ぶ

  • [続ける]を選ぶ

ローカルスナップショットを活用しよう

一度目の修復では、この[続ける]の次の画面でTimeMachine(Wi-Fi越し)からバカ正直に復旧をかけてしまったので、6時間ぐらいつぶしてしまいました。

二度目の修復で復旧元としてローカルスナップショットを選択してみたら、3分もかからずに復旧しました。ローカルスナップショット、偉い!

後はほぼ秒殺とも言える速度で復旧します。それなりに余分な容量を食うのでしょうけど、ローカルスナップショットありがたいです。

ローカルスナップショットはHigh Sierra以降でないと使えませんのでご注意ください。

参考: ローカルスナップショットをコマンドラインで確認する方法

ターミナルで以下のコマンドを実行すれば、Macを再起動せずにローカルスナップショットの一覧を確認できます(6桁の数字は時分秒です)。root権限は不要でした。

$ tmutil listlocalsnapshots /
# 実行例
~$ tmutil listlocalsnapshots /
Snapshots for volume group containing disk /:
com.apple.TimeMachine.2020-11-12-185058.local
com.apple.TimeMachine.2020-11-12-203437.local
com.apple.TimeMachine.2020-11-12-213628.local
com.apple.TimeMachine.2020-11-12-223439.local
com.apple.TimeMachine.2020-11-12-234307.local
com.apple.TimeMachine.2020-11-13-010433.local
com.apple.TimeMachine.2020-11-13-060152.local
com.apple.TimeMachine.2020-11-13-070218.local
com.apple.TimeMachine.2020-11-13-083600.local
com.apple.TimeMachine.2020-11-13-093155.local
com.apple.TimeMachine.2020-11-13-103205.local

参考: macOSのローカルスナップショット - panda’s tech note

2. ダウンロードしたアップデートを消してやり直す

追記(2020/11/13): macOS Catalina(おそらくMojaveも)ではこの方法でアップデートファイルを削除する前にSIPを一時的に無効にする必要があります。削除した後はSIPを再び有効にしましょう。
参考: システム整合性保護(System Integrity Protection: SIP)の無効化 – Intego Support

ここからが本題です。
ローカルスナップショットのおかげでひとまず再起動前の状態には戻りましたが、ダウンロードしたファイルに傷が入ったままでは再起動するたびに同じ目に遭ってしまうので、何とかしてダウンロードからやり直したいところです。

ここからは以下の方法が使えます。

要するにダウンロードファイルを消してしまえば、ダウンロードをなかったことにしてくれるそうです。

なお、アップデートをダウンロード中にMacがスリープすると失敗しやすいようです。ダウンロード中はスリープを止めておくことをおすすめします。

GUIで削除する場合

Finderから消す場合は、Finderの[移動] > [フォルダへ移動]メニューを開き、/ライブラリ/Updatesと入力してフォルダを開き、そこにあるファイルを全部消し、再起動します。

これで再起動後にApp Storeを開くと、アップデートがちゃんとダウンロード可能になっています。

参考: コマンドラインで削除する場合(経験者向け)

「ターミナルでsudo rm -rf /Library/Updates/*を実行して再起動」でできます(root権限が必要でした)。

危険を伴う可能性のあるコマンドなので、入力ミスにはくれぐれもご注意ください。

参考: 【絶対にやってはいけないLinuxコマンド「# rm -rf /」をやっている動画みつけた】確認無しで指定されたパス以下全てのファイルを削除 | 今村だけがよくわかるブログ

関連記事

起動しなくなったMacからネットワーク経由でデータをサルベージする

Mac: homebrew caskを一括アップデートできるhomebrew-cask-upgrade

Mac+HomebrewでPostgreSQLが起動しない場合の対応


CONTACT

TechRachoでは、パートナーシップをご検討いただける方からの
ご連絡をお待ちしております。ぜひお気軽にご意見・ご相談ください。