Windows10 Windows Updateに何度も失敗する。

最終更新

Windows Update インストール失敗でロールバックされる。

昨日のWindows Updateで失敗を繰り返したため、今後のためにメモ。

OS: Windows 10 Home 64bit バージョン 1511 [ビルド 10586.679]
(まだ、Windows 10 Version 1607 アニバーサリーにはしていません)

2016年3月頃にクリーンインストールしたもの。ゲームが快適に遊べるように、いろいろカスタマイズしてあります。RAMDISK使用。

PC構成 詳細

  • Windows 悪意のあるソフトウェアの削除ツール
  • Adobe Flash Player のセキュリティ更新プログラム

上の2つは、1回でインストール成功。

問題は、「KB3198586 x64 ベース システム用 Windows 10 Version 1511 の累積的な更新プログラム」です。

インストール→再起動開始→30%まで更新されてから再起動される→
Windows更新プログラムを構成できませんでした 変更を元にもどしています」と表示される。→その後Windowsが起動されるが更新プログラムのインストールは失敗になっている。→ループ

エラーコードは表示なし。

もう1台のWindows10 Home 64bitマシンは問題ありません。(Win7からアップグレードしたノートPC。各種設定のカスタマイズは少な目。RAMDISK不使用)

対処法その1を最後以外やりました。たいていはこれで直ることが多いのですが、今回のケースでは効果がありませんでした。
その2は飛ばし、その3の段階でようやく直りました。長かった……。

2017年3月、Windows 10 Version 1511 の累積的な更新プログラム KB4013198が失敗続きです。(試行回数10回超)

→解決しました。これについては 累積的な更新プログラムのインストール失敗 エラー 0x8007002 にて。

Windows Updateに失敗する場合の対処法 その1

Windows 10 - Windows Update に失敗する場合の対処法
http://answers.microsoft.com/ja-jp/windows/forum/windows_10-update/windows-10-windows-update/a8a3a4cb-9d67-406e-8ae6-d25451c237d7

これはリンク先の記述が良くまとまっているので、そちらをご覧ください。

付け加えること ↓

方法1 ― トラブルシューティングの別の方法

Microsoft 簡易修正ツールソリューションを使用する方法
https://support.microsoft.com/ja-jp/kb/2970908

「Windowsを更新できない問題を解決する」のリンクから、ツール(wu10.diagcab)をダウンロード。起動させたら、「詳細設定」→「管理者として実行する」→「次へ(N)」

[追記] 新たな修正ツールが提供されています。

Fix Windows Update errors
https://support.microsoft.com/ja-jp/help/10164/fix-windows-update-errors

Windows10の場合はlatestwu.diagcabをダウンロードして実行します。

方法3 ― DISM.EXE /online /cleanup-image /restorehealth コマンドについて。

ついでに下のコマンドも実行してみるといいでしょう。
DISM /Online /Cleanup-Image /StartComponentCleanup

なお、/restorehealth オプションはWindows8以降で利用可能。Windows7以前では利用不可だったはずです。

方法5の注意点1 ― Microsoft Update カタログから更新プログラムをダウンロードする際

  • IEでアクセスする場合
    https://catalog.update.microsoft.com/v7/site/Home.aspx

    クッキー有効 + ActiveXをダウンロードする必要がある。

  • IE以外のブラウザでアクセスする場合
    https://www.catalog.update.microsoft.com/Home.aspx

    クッキーを有効にすること。

    firefoxの場合はさらに、オプション→プライバシー→「プライベートウィンドウでサイトによるトラッキングをブロックする」のチェックを外す→Firefox再起動してからアクセスする。

  • 上記URLについて、http、httpsのどちらでも可。
  • MicrosoftEdgeからはダウンロード不可。(2016/11/10時点)

方法5の注意点2 ― Microsoft Update カタログからダウンロードした更新プログラムをインストールする際

対象: TEMPフォルダーをRAMDISKに置いているPCのみ

インストール時にTEMPフォルダーを使用することがあり、TEMPフォルダーをRAMDISKに置いていると、更新プログラムのインストールに失敗することがあります。

TEMPフォルダーをRAMDISKからローカルディスクに戻してみて、問題が無くなるか試してみましょう。

私の方で確認したエラー原因2つ。

  • RAMDISKの空き容量不足

    ファイルの容量が大きいもの(特に累積的な更新プログラム)は要注意。インストール中、展開されたものを見たら、数GBになっていたこともある。

  • RAMDISKをNTFS以外でフォーマットしている。

    FAT32において、ファイル数が多すぎるというエラーが出たことがある。NTFSではそのようなエラーにはならなかった。これは、フォーマット形式により、扱える容量・ファイル数・1ファイルの最大サイズに違いがあるため。FAT32はNTFSと比較すると扱えるファイル数が少なく、1ファイルのサイズは4GBまでに制限される。

Windows Updateに失敗する場合の対処法 その2

Windows10 windowsupdate 累積的な更新で必ず失敗する より
http://answers.microsoft.com/ja-jp/windows/forum/windows_10-update/windows10-windowsupdate/b01a06a4-c680-4a88-8a6d-ae53a23ff4f7

システムファイルのクリーンアップ

  1. エクスプローラからWindowsパーティションを選択(通常はCドライブ)→右クリック→プロパティ
  2. 全般タブ→ディスクのクリーンアップ→システムファイルのクリーンアップ
  3. OK

Windows DefenderとWindows Firewallを有効⇔無効を切り替えてみる。

サードパーティ製セキュリティソフトの利用の有無にかかわらずやってみましょう。

※ Windows10では、Windows Firewallを無効か停止にしているとWindows Updateに失敗。そのため、Windows Firewallを有効→開始する必要がありました。

レジストリの掃除

対象: Windowsの他のユーザーアカウントを削除したことがあるPC

レジストリに、削除済みのユーザーアカウントの残骸が残っていることがあります。これがエラーの原因だったこともあるとか。残骸があれば、削除しておきましょう。

  1. レジストリエディタ(regedit.exe)を起動。
  2. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList 配下のキーを見る。
  3. S-1-5-21で始まるものが2つ以上存在する場合

    ProfileImagePath(C:\Users\ユーザー名)に削除済みのユーザー名があれば、そのレジストリキーを削除する。
    (削除前に、システムの復元ポイント作成を作成しておくこと)

    S-1-5-21で始まるものが1つだけの場合

    それは現在利用中のユーザーアカウントのものだから、何もしなくてよい。念のため、ProfileImagePathを見て、現在のユーザー名と相違ないか確認を。

    ※ S-1-5-18、S-1-5-19、S-1-5-20には何もしないこと。

Windows Updateに失敗する場合の対処法 その3

  1. サービス・タスクの設定の見直し
  2. 以前のシステムの復元ポイントに戻す。
    (何かをインストールしたり設定変更等する前に戻してみる)
  3. シャットダウンしてから、セーフモードで起動。
  4. セーフモードで、C:\Windows\SoftwareDistributionフォルダー、C:\Windows\System32\catroot2フォルダーのリネームまたは削除。
    再起動(通常通りWindowsを起動)。

    注意: Windows Updateの今までの履歴が消えます。

  5. [RAMDISKを利用している場合のみ]
    IEの一時キャッシュフォルダーをRAMDISKに置いてある時は、インターネットオプションからインターネット一時ファイルの場所をローカルディスクに戻し、サインアウト→サインイン

今回(2016/11/09)は、1,2まではインストール失敗、3,4,5を行った後に成功しました。その中のどれが効果があったのか特定できません。

4の手順

  1. コマンドプロンプト(cmd.exe)を管理者として起動。以下のコマンドを実行する。
  2. net stop wuauserv
    net stop CryptSvc

    (2つのサービス Windows Update、Cryptographic Servicesを停止)

  3. ren %systemroot%\SoftwareDistribution SoftwareDistribution_old
    ren %systemroot%\System32\catroot2 catroot2_old

    (フォルダーをリネーム。これによって、次回Windows Updateサービスが実行されたときに、フォルダーが再作成される)

  4. PCを再起動
  5. 古いフォルダーは保管不要であれば削除可能。(コマンドプロンプトから、下のコマンドを実行)

    rd /s /q %systemroot%\SoftwareDistribution_old
    rd /s /q %systemroot%\System32\catroot2_old

これは、システムファイルのクリーンアップの内、Windows Updateのクリーンアップが正常に行われない場合に使う方法でもあります。

次に試すつもりだったこと

  • TEMPフォルダーをRAMDISKからローカルディスクに戻す。
  • セキュリティソフトの一時無効化、または一時アンインストール
  • 別のユーザーアカウントからupdate (無ければ、新規ユーザーアカウントを作成)
  • Windowsの初期化・クリーンインストール
  • Windows 10 Version 1607 アニバーサリーにアップグレード (クリーンインストールで)

Windows Updateに失敗する場合の対処法 その4 [追加]

下のURLに、Windows updateのリセット用バッチファイルが掲載されています。

内容には、上で書いたことの一部と、dnsキャッシュのクリア、ネットワーク関連のリセット、Windows Updateに関連するサービスの権限のリセット、dllファイルの再登録等、たくさん網羅されています。

Reset Windows updates - Microsoft Community

使い方

Win10の場合

  1. @echo offで始まる背景がグレーの部分を全部コピー
  2. 新規テキストファイルとして保存
  3. ファイル名と拡張子をWuReset.batに変更
  4. 管理者として実行

Win7~8.1の場合

  1. 「Download Windows update reset script for Windows 7 and 8」のリンクからダウンロード
  2. 「WuReset For windows 7 and 8.bat」を管理者として実行

バッチファイル実行後は、PCの再起動が必要です。

バッチの最後に4つのサービスを開始するようになっています。

  • Background Intelligent Transfer Service (bits)
  • Windows Update (wuauserv)
  • Application Identity (appidsvc)
  • Cryptographic Services (cryptsvc)

普通は開始できるはずです。しかし、サービスの「スタートアップの種類」を無効にしてあるものは開始できません。
上記の内、自分で無効にしたサービスがあれば、手動または自動に変更してから「開始」してください。

関連記事