🛠️ Windows Update失敗時の標準的なトラブルシューティング手順
毎月のWindows Update おつかれさまです。
更新ボタンを押せばほぼ無事に完了しますが、30回に一回くらいは失敗しますよね。。
そんなときに思い出すための個人メモです。
本記事の内容は動作を保証するものではありません。実行により生じた不利益や損害について、筆者は一切の責任を負いかねますのでご了承ください。
1. 基本的な確認と再試行
なにはともあれ再起動
- サーバーの再起動:
- 未適用の更新がある場合や、一時的なエラーの場合、再起動するだけで解決することがあります。
- ディスク空き容量の確認:
- Cドライブの空き容量を確認し、不足している場合は不要なファイルを削除します。
- 日時設定の確認:
- サーバーの日付、時刻、タイムゾーンが正しく設定されていることを確認します。
2. Windows Updateトラブルシューティングツールの実行
Windowsには組み込みのトラブルシューティングツールがあり、一般的な問題を自動で特定・修復してくれます。個人的な経験ではこれで直ったことはないのですが、おまじない的に実施します。
- 設定を開く
- 「更新とセキュリティ」(または「システム」→「トラブルシューティング」)へ移動。
- 「その他のトラブルシューティング ツール」を選択。
- 「Windows Update」を選び、「トラブルシューティング ツールの実行」をクリックします。
- 画面の指示に従い、問題の特定と修復を試みます。
3. Windows Updateコンポーネントのリセット
本命はこの作業です。
- 管理者としてコマンドプロンプトまたはPowerShellを起動します。
- Windows Update関連サービスを停止します:
net stop wuauservnet stop bitsnet stop cryptSvcnet stop msiserver - SoftwareDistributionフォルダーを削除(または名前変更)します:
ren C:\Windows\SoftwareDistribution SoftwareDistribution.old
このフォルダにはダウンロードされた更新ファイルなどが含まれており、名前を変更することでキャッシュがリセットされます。 catroot2フォルダーの名前を変更します。
間違っても catroot(2がついていない方)は触ってはいけません。
OSが起動しなくなります。ren C:\Windows\System32\catroot2 catroot2.old- 停止したサービスを再開します:
net start wuauservnet start bitsnet start cryptSvcnet start msiserver - Windows Updateを再実行します。
4. システムファイルのチェックと修復(SFCとDISM)
Windowsシステムファイル自体に破損がある場合、以下のコマンドで修復を試みます。
これも本命の作業です。
- 管理者としてコマンドプロンプトを起動します。
sfc /scannowdism /online /cleanup-image /restorehealth- 完了後、サーバーを再起動してから更新を再試行します。
💡 これでだいたい解決する実行フロー
| 段階 | 実行内容 | 目的 |
| ステップ1 | サービスの停止とキャッシュのリセット (net stop とフォルダのリネーム) | 更新サービスのキャッシュをクリアし、破損したダウンロードファイルを排除 |
| ステップ2 | DISMによるコンポーネントストアの修復 (Dism /Online /Cleanup-Image /RestoreHealth) | Windowsコンポーネントストア(更新プログラムのソース)の破損を修復 |
| ステップ3 | SFCによるシステムファイルの修復 (sfc /scannow) | OS自体の重要なシステムファイルの破損を修復 |
| ステップ4 | サーバーの再起動 | 修復したコンポーネントを適用 |
| 最終 | Windows Updateを再実行する | サービスとファイルが健全な状態で更新を適用 |
このフローを試しても解決しない場合は、表示されたエラーコードを元に、
Microsoftのサポート情報やフォーラムで特定の解決策を検索するしかない。あとはがんばる。
出典
とはいえ、個人ブログ記事の記載をもとに会社の業務サーバーでコマンドを打つことは難しいので
公式リンクは以下です。これなら作業実施の根拠にしやすいでしょう。
無事に作業を終えて、帰宅できることを願っています。
