- ログイン後のプログレスバー停止はユーザーLibraryの破損が原因だった
- セーフモード・OS再インストールでも直らないケースがある
- 最終的にLibraryリネーム+.AppleSetupDone削除+セーフモードで復旧
きっかけはCursorでClaude Codeを使っていたときのフリーズ。強制再起動したら、パスワード入力後の画面でプログレスバーが途中で止まったまま、何分待っても進まない。
この記事では、実際に試した手順を時系列で記録しています。同じ症状で困っている人の参考になれば。
環境はApple Silicon Mac(M1 Max)、FileVault有効、ストレージ1TB。
- 症状の整理
- プログレスバーが止まる主な原因
- 試したこと①:基本的な対処(効果なし)
- 試したこと②:リカバリモードからの原因除去(効果なし)
- 試したこと③:macOS再インストール(効果なし)
- リカバリモードでのTips:コマンドのコピペができない問題
- 最終的に復旧できた手順
- 復旧後にやったこと
- 今回の教訓
症状の整理
まず状況を正確に把握するのが大事だった。
今回の症状は「ログイン画面までは行く → パスワード入力後のプログレスバーが途中で止まる」というもの。OS自体の起動は正常で、ユーザーログインのプロセスで何かがハングしている状態。
再起動直前に気になったのは2つ。
CursorでClaude Codeがフリーズしていたこと。そして再起動の直前にGoogle Updaterがログイン項目に追加された、という通知が出たような気がすること。正直うろ覚えだが、後の調査でGoogle関連のLaunchAgentsが複数あったので、無関係ではなさそう。
プログレスバーが止まる主な原因
Macでログイン後にプログレスバーが止まる原因は、大きくソフトウェア系とハードウェア系に分かれる。
ソフトウェア系(今回のケース) - ユーザーLibrary内のファイル破損(設定ファイル、キャッシュ、LaunchAgents等) - ログイン項目やLaunchAgentsの異常(Google Updater等のバックグラウンドプロセス) - macOSのシステムファイル破損 - アプリのウィンドウ復元によるハング
ハードウェア系 - SSD/HDDの劣化・故障 - メモリの異常
ハードウェア系が疑われる場合は、Apple Diagnostics(電源長押し → 起動オプション → Dキー)でハードウェアチェックを行うのが先。今回はソフトウェアの問題だったが、まずハードの故障を除外することが重要。
試したこと①:基本的な対処(効果なし)
まずは定番の対処から。
電源長押し → 再起動。Apple SiliconではSMC/NVRAMは自動管理なので、完全シャットダウンからの再起動で十分。ただし効果なし。
周辺機器を全て外して再起動も試したが、変化なし。USB機器やディスプレイアダプタが干渉するケースもあるので、念のため。
セーフモードも試した。電源長押し → 起動オプション → Shift押しながら「続ける」。しかしセーフモードでも同じところでプログレスバーが止まる。
試したこと②:リカバリモードからの原因除去(効果なし)
リカバリモードに入って、ターミナルからファイル操作を行った。
電源長押し → 起動オプション → 歯車アイコン(オプション) を選択するとリカバリモードに入れる。
FileVault有効時の注意点
ここでハマったのがFileVault。Apple SiliconではシステムボリュームとDataボリュームが分かれていて、ユーザーデータは「Data」ボリュームにある。FileVaultが有効だと、このDataボリュームが暗号化されていてそのままではアクセスできない。
diskutil apfs unlockVolume disk3s5
パスワードを入力してアンロックする必要がある。リカバリモードに入り直すたびにアンロックが必要なので、これを何度もやることになった。
削除・無効化したもの
シャットダウンログ(/var/db/diagnostics/shutdown.log)を確認したところ、Cursor、Claude Code、Google Driveの3つがシャットダウン時にハングしていたことが判明。
以下を順番に試したが、すべて効果なしだった。
Google Updater関連のLaunchAgents削除
- com.google.GoogleUpdater.wake.plist
- com.google.keystone.agent.plist
- com.google.keystone.xpcservice.plist
Google Updaterはバックグラウンドで自動更新を管理するプロセス。ログイン項目に勝手に追加されることがあり、今回も怪しかったが削除しても復旧しなかった。
ユーザーLaunchAgents全体を無効化(フォルダごとリネーム)
Cursor / Claude Codeの状態ファイル削除
- Session Storage、Local Storage、Crashpad、GPUCache
- ~/.local/share/claude
システム側の無効化
- /Library/LaunchAgents → リネーム
- /Library/LaunchDaemons → リネーム
- /Library/Extensions → リネーム(HighPoint RAID関連のkextあり)
Saved Application State削除(ウィンドウ復元の無効化)
Google Drive.appのリネーム
試したこと③:macOS再インストール(効果なし)
リカバリモードから「macOSを再インストール」を実行。データは消えず、OSだけ上書きされる。
ただしストレージ容量が足りないと言われたので、以下を削除して空きを確保した。
~/Library/Caches(大量にあって削除に数分かかった)~/.Trash~/Library/Application Support/Cursor~/Library/Application Support/Google~/.npm~/.nodebrew
再インストールは合計2時間以上かかった(途中で画面が真っ暗になって焦ったが、スリープに入っただけだった。キーを押せば復帰する。絶対に電源ボタンは押さないこと)。しかしログイン後のプログレスバーは相変わらず止まる。
正直この時点で完全初期化も覚悟した。それでも動かなかったらどうしよう、と超絶ブルーに。
このMacは2021年10月発売のM1 Max。もう4年半になる。「もしかして替え時なのか?」が一瞬頭をよぎったけど、いやいやM1 Maxがたかだか4年半でダメになるわけないだろ、と思い直してトラブルシュートを続行。
リカバリモードでのTips:コマンドのコピペができない問題
ここまで読んで気づいた人もいるかもしれないが、リカバリモードのターミナルではブラウザが使えない。つまりClaude等のAIチャットで教えてもらったコマンドをコピペできない。
"/Volumes/Macintosh HD/Users/takeyoshimasaru/Library/Application Support/com.apple.backgroundtaskmanagementagent" みたいな長いパスを毎回手打ちする地獄。タイポしたらNo such file or directory。打ち直し。またタイポ。
自分は別のPCでClaudeに聞きながら作業していたが、画面を見ながら手打ちするのがとにかく苦痛。対策として、短いパスで済むように変数を使う手がある。
U="/Volumes/Macintosh HD/Users/ユーザー名"
これを最初に打っておけば、あとは "$U/Library/..." で済む。リカバリモードでも使える小技なので覚えておくといい。
最終的に復旧できた手順
OS再インストールでも直らない → ユーザープロファイル自体の問題と判断。
ステップ1:ユーザーLibraryを丸ごとリネーム
リカバリモードのターミナルで:
mv "/Volumes/Macintosh HD/Users/ユーザー名/Library" "/Volumes/Macintosh HD/Users/ユーザー名/Library_old"
macOSがログイン時に新しいLibraryを自動生成する。これだけでは直らなかったが、最終的な復旧に必要なステップだった。
ステップ2:.AppleSetupDone を削除
rm "/Volumes/Macintosh HD/var/db/.AppleSetupDone"
macOSに「初回セットアップがまだ」と認識させる。これにより次回起動時にセットアップアシスタントが起動する。
ステップ3:セーフモードで起動
電源長押し → 起動オプション → Macintosh HD選択 → Shift押しながら「続ける」
セーフモードで起動すると、テキスト入力式のログイン画面が表示された(.AppleSetupDone削除に加え、途中で defaults write ... SHOWFULLNAME -bool true も実行していたのでどちらの効果かは不明)。ユーザー名とパスワードを入力すると、アクセシビリティ等の初期設定画面を経てデスクトップにたどり着けた。
ステップ4:通常起動で確認
セーフモードからAppleメニュー → 再起動。通常モードでも無事ログインできた。
復旧後にやったこと
iCloud同期の確認
Libraryをリネームしたので設定が初期化されているが、ユーザ辞書やKeychainはiCloud同期で自動復元された。
無効化したものを戻す
sudo mv /Library/LaunchAgents_disabled /Library/LaunchAgents sudo mv /Library/LaunchDaemons_disabled /Library/LaunchDaemons sudo mv /Library/Extensions_disabled /Library/Extensions sudo nvram -d boot-args
最後の nvram -d boot-args は、途中でVerboseモードを有効にしていたのでその解除。忘れると毎回起動時に黒い画面にログが流れる。
再インストール・やり直しが必要だったもの
Libraryが初期化されたので、想像以上にやり直しが多かった。
アプリ・ツールの再インストール
- Cursor(公式サイトから)→ さらに拡張機能も入れ直し。おまけにアップデートが走ってUIが変わりまくっていたので設定もやり直し
- Claude Code(npm install -g @anthropic-ai/claude-code)
- nodebrew + Node.js
- rbenv / pyenv
- Google Drive
設定のやり直し - キーボードとトラックパッドの設定(トラッキング速度、タップでクリック等) - 各サービスへのログイン(GitHub、npm、各種SaaS等)
データの復旧 - スティッキーメモ(Stickies)が完全に吹っ飛んだ。カンバンボード的にタスク管理に使っていたので地味に痛い。内容が少なかったのが不幸中の幸い
Chrome拡張機能の再インストール・設定やり直し
Chromeの同期で拡張自体は戻るが、各拡張のオプション画面で設定した内容は同期されないことが多い。これが一番面倒だった。なおTime Machineがあれば ~/Library/Application Support/Google/Chrome/ を復元するだけで設定ごと戻せる。
Time Machineバックアップの設定
今回の教訓として、外付けストレージにTime Machineを設定した。次回同じことが起きてもクリーンインストール+復元で済む。
今回の教訓
今回学んだことをまとめておく。
FileVault有効時はリカバリが面倒。Dataボリュームのアンロックが毎回必要で、リカバリモードに入り直すたびにやり直し。セキュリティとのトレードオフだが、覚えておくべき。
shutdown.logはトラブル原因の特定に使える。/var/db/diagnostics/shutdown.log を見れば、前回のシャットダウン時にどのプロセスがハングしていたかわかる。
Libraryリネームは最終手段として有効。iCloudに同期されているデータ(辞書、Keychain等)は自動復元されるので、思ったよりダメージは少ない。ただし各アプリの設定はやり直しになる。
Time Machineは絶対にやっておくべき。今回の復旧に数時間かかったが、バックアップがあればクリーンインストール+復元で30分で終わっていた。
ハードウェア故障の切り分けを最初にやる。Apple Diagnostics(電源長押し → Dキー)でハードの異常がないか確認してからソフトウェア対処に進むのが効率的。今回はやらなかったが、先にやっておけばハード故障の不安を早期に排除できた。
また、再起動前にフリーズしたアプリは必ず強制終了する。macOSは開いていたアプリを次回ログイン時に復元しようとするため、フリーズ状態のまま再起動するとその壊れた状態ごと復元されてログインがハングする可能性がある。急ぎで再起動したい場合は、再起動ダイアログの「再ログイン時にウインドウを再度開く」のチェックを外すこと。
今回のトラブルシュートではClaudeに聞きながら進めたが、リカバリモードのターミナル操作やFileVaultの仕組みなど、普段触らない知識を即座に教えてもらえたのが本当に助かった。