Windows10 updateエラー0x80096004を解消するためやったこと
我が家の HP EliteBook に導入している Windows10 Insider Previewを更新しようとおよそ1ヶ月ぶりに電源投入し Windows Updateしたら途中でエラーを吐いて更新できなくなっておりました。
下の画像がその時のスクリーンショットです。
ご覧のようにエラーコード 0x80096004で更新プログラムのインストールが失敗しています。再試行しても、一晩放置しても何の変化もありませんでした。
そこでこのエラーを解消すべく調査と試行錯誤を行い、その結果 OSを再インストールすることもなく新Buildに更新することができました。
このページではその対処法はもちろんのこと効果のなかった対処法も合わせて掲載しています(2018/09)
エラーを解消した対処法
エラーは Build17686から次のOS Buildへ更新する際に発生しました。
以下は当方の環境においてエラーコード 0x80096004による更新プログラムの失敗を解消した対処法です。
このセクションで紹介しているリンク先には有益な情報がありますが広告が多く少々見にくうございます。広告ブロッカー(Adblook Plus, uBlock Origin)またはリーダービューの使用をお勧めします。
現象
- Windows 10 Insider Previewで更新プログラムのインストールが 0x80096004で終了(失敗)する Born's Tech and Windows World
- Windows Updateが一度失敗した更新プログラムを繰り返しインストールし続る
現象1.の意味について Microsoft Docs のページによれば、検証プロセス中にエラーまたは無効な条件が発生したことを示す値であるベースポリシーエラー(CERT_CHAIN_POLICY_BASE)の1つとのことです。
値 | TRUST_E_CERT_SIGNATURE 0x80096004L |
---|---|
コード | 0x80096004 |
意味 | The signature of the certificate cannot be verified. (証明書の署名を検証できません) |
平たく言うとアプリやデバイスドライバーなどのデジタル証明書が何らかの理由で破損または失効しているので署名を検証できないよと云うことです。
検証できないから更新プログラムのインストールも失敗する訳ですね。ネット上で見かける例としてWindows 10に Office XPが存在する場合が散見されます。
しかし当方の環境に Office XPは存在しません。
現象2.について、アップデートが無限ループ化する現象が時々発生すると云う報告を Born's Tech and Windows World の記事で見つけました。
そしてありがたいことに対処法まで詳しい記述がありました。
対処法
デジタル証明書の確認
デジタル証明書の確認といってもデバイスマネージャーを開いただけなのですが。ありました 不明なデバイス つまりデジタル署名されていないドライバーが。
Elite Book 2560Pには指紋認証デバイスが搭載されていてるのですが Windows 10用のドライバーはありません。代わりに Lenovo ThinkPadの Validity生体認証ドライバーをインストールしていました。
しかし次の理由でドライバーを入れないまま数カ月放置していたのを失念していました。
- Windows Updateで更新する度にドライバーが削除される
- Build17046以降 Windows Helloの指紋認証でログインできなくなった
下の画像はドライバーインストール前と後のデバイスマネージャーのスクリーンショットです
ドライバーをインストール後 Windows Updateを実行、再試行してもやはり失敗します。つまりこれだけが原因ではないことが分かりました。
保留中の更新プログラムを削除する
Windows Updateの仕様なのか分かりませんが、アップデートに失敗して保留となった更新プログラムを何度もインストールしようとするので保留中の更新プログラムを削除します。
まずタスクバー検索窓にcmdと入力して管理者権限のコマンドプロンプトを起動します(下画像)
次に下のコマンドを実行して自動更新関連のサービスを停止します。
C:¥WINDWS¥system32>net stop wuauserv C:¥WINDWS¥system32>net stop cryptSvc C:¥WINDWS¥system32>net stop bits C:¥WINDWS¥system32>net stop msiserver
wuauserv | Windowsアップデート関連サービス |
---|---|
cryptSvc | ルート証明書自動更新サービス |
bits | アイドル状態のネットワーク帯域幅のみを使用して、インターネット経由でファイルを転送するように設計されたファイル転送サービス |
msiserver | バックグラウンドでシステムアカウントを用いてインストール・アンインストールを行うプロセス |
下の画像はコマンドを実行した結果のスクリーンショットです。
4つのサービスが全て稼働しているとは限りません。当方の環境では bitsとmsiserverは稼働していませんでした。
次に以下の2つのフォルダーを削除またはリネームして保留中の更新プログラムを破棄します。
- C:¥Windows¥System32¥catroot2
- C:¥Windows¥SoftwareDistribution
今回はリネームすることにしたのですがここで1つ問題が起きました。それは上記1のフォルダが Windows上からリネームできないことでした。
エクスプローラからは “他のプロセス使用中 ” で、コマンドプロンプトからは “アクセス拒否 ” でリネームできません。何れも管理者権限で行った結果です。これは当方の環境だけかもしれませんが。
OS再インストールの文字が頭を過りましたが このパソコン は幸いにもマルチブート環境を構築しており Ubuntu 14.04LTSを導入しております。
Windows 10上のUbuntuではありません
一旦 Windows 10を閉じて Ubuntu上からリネームしました。下の画像が Ubuntuのスクリーンショットです。
catroot2フォルダをリネーム後 Ubuntuを閉じて再度 Windows 10を起動して SoftwareDistributionフォルダをリネームします(下画像)
なおこのフォルダはリネームまたは削除してもログイン後に自動的に作成されます。catroot2はログインしただけでは作成されません。
これで保留中の更新プログラムは破棄されたので最初に停止したサービスを開始します。管理者コマンドプロンプトがら次のコマンドを実行します。
C:¥WINDWS¥system32>net start wuauserv C:¥WINDWS¥system32>net start cryptSvc
以上が対処法です。
Windows Updateを実行する
更新プログラム破棄の後、タスクバースタートメニューから Windows Updateを実行するとBuild17754更新プログラムのインストール準備が開始され、続いてインストールが開始されました(下画像)
その後、数十分でインストール完了しました。デスクトップに 同期電話 のショートカットアイコンが追加されています(下画像)
そのまた数十分後、次の更新プログラム Build17755のインストールが開始され無事完了しました。
効果がなかった対処法
以下は、前セクションの内容を行う前に試してみたものの効果がなかった対処法です。あくまでも今回の件に関してです。
Windows Update troubleshooter
これは HPサポートフォーラム からリンクされていた Windows Updateの問題を修正ページ のツールです。
操作手順
- Windows 10を選択すると Run the Windows Update trubleshooterが現れる
- Windows Update trubleshooterのリンクをクリック
- wu170509.diagcabをプログラムで開く OK
- コンピューターの問題の防止とトラブルシューティング 次へ
- 以降環境に合わせて進める
残念ながら効果はありませんでした。
Windows 10 Windows Updateに失敗する場合の対処法
以下は Microsoftコミュニティのページ に掲載されているものでその内容は
- トラブルシューティング ツールを実行する
- BITS トラブルシューティング ツールを実行する
- DISM コマンドを実行する
- システム ファイル チェッカーを実行する
- 更新プログラムを手動でインストールする
- マイクロソフト コミュニティに問い合わせる
の6つです。この中で試したのは 1~4です。
補足
1.について --- Microsoftコミュニティのページに従ってもツールは出ません。現在はスタートメニュー内左側のサイドメニュー 設定 の中にあります(下画像)
2.について --- このツールは Microsoftコミュニティページ内のリンクから実行されるウェブアプリです(下画像)
3.4.について --- 管理者コマンドプロンプトから次のコマンドを実行しました。
C:¥WINDWS¥system32>DISM.EXE /online /cleanup-image /restorehealth C:¥WINDWS¥system32>SFC /scannow
下の画像はそのコマンド実行中のスクリーンショットです。
- 操作は正常に完了しました。
- Windowsリソース保護により、破損したファイルが見つかりましたが、それらは正常に修復されました。
と云う結果の後 Windws Updateしてみましたがエラー解消には至りませんでした。
雑感|更新エラーの弊害など
更新エラーをそのままにしていると Windows Defenderの挙動までおかしくなります。具体的にはログインする度に問題があるから解決しろとメッセージが出る。
Windowsセキュリティの概要を開くとデバイスのパフォーマンスと正常性のチェックが外れてスキャン状態になっている。
暫らくするとチェックが入り ”操作は不要です” の表示になるが数十分経つとまたチェックが外れてメッセージが出る。これを延々繰り返すので落ち着いて使っていられない。
と云った弊害が出ました。今回幸いにも解決に至ったわけですが、この件に限らず思い返してみると殆どの解決策は海外サイトにあったなと。
今更ながら英語の勉強、まじめにしておくべきですね
そうそう、これは最初に言うべきことでしたがシステムのバックアップは忘れずに。今回 Acronis® True Image Home 2012 PlusにてCドライブ丸ごとバックアップイメージ作成後の作業です。