Windows Updateでエラーが出た時の対処法とか

△(ここまでの道程がスゴいしち面倒だった)

 相当しばらく前からの話になるんですけど、
普段使っているデスクトップPCでWindows Updateのエラーが出て、
セキュリティ更新プログラム「KB3057154」と「KB3067505」が
インストールできないという状況にあったんですが、

先日(というか昨日)やっと解決できたので
その時やった対処法というか解決法を書いておきたいなー。みたいな。


スポンサーリンク

注意事項みたいなやつ

 今回の記事に書いている内容はとても自己責任的な内容で、
場合によっちゃあOSが起動しなくなるみたいな事も可能性として普通にあるんで、
その辺りのリスクも考慮して、もしやる場合は自己責任でやってね
。って感じ。

 もっとザックリ且つ犬みたいに表現すると、
「私はこうやって解決できたからその方法を載せてるけど、
他の人がやって成功するかどうかわかんないし、
失敗して大変な事になっても知らないワン!」
って事。

・エラーが起きた状況とか


 まず始めにWindows Updateでエラーが起きたPCのOSとか状況をザッと書いておくと、

 OSは64bitのWindows 7 Home Premium SP1で、
エラーが起きた状況としてはいつも通りWindows Updateを行うと、
「KB3057154」と「KB3057154」だけエラーが出る。的な感じ。

 とりあえずその時はインストールできる更新プログラムだけインストールして、
PCを再起動してからもう一度インストールを試みたんだけどそれでも
エラーが出てインストールできない。みたいな。
エラーコードは80070490だったり800F0900だったりして、その時々で違うという雰囲気。

 まあ、Windows Updateでエラーが起きること自体は
そんなに珍しくもないから、思いつく限りいろいろと対処法を試してみたという次第。

・試した対処法の一覧とか


 今回私が行ったいくつかの対処法を一般的というか、リスクが少ない方法と、
そうでない、まあつまりはリスクがある方法に分けて挙げると、

・リスクが少ない方法(たいていの場合これで解決する)

1.再起動してからもう一度インストールする
2.更新プログラムを一つずつインストールする
3.Microsoftから更新プログラムをダウンロードしてインストールする
4.Windows Updateのトラブルシューティングを実行する
5.Microsoftからトラブルシューティングツールをダウンロードして実行する
6.コマンドプロンプトでファイルの整合性をチェックして修復する
7.Microsoftのサイトからシステム更新準備ツールをダウンロードして実行する

・リスクがある方法(できればやりたくない奥の手)

1.システム更新準備ツールのログを見て、ディスクのエラーチェックを行う
2.もう一度システム更新準備ツールを実行して、再度ログを確認、
 正常なファイルを別PCから調達してきて置き換える

という具合。
 それぞれの細かいところとかは下の段に書いている系。

・リスクが少ない方法


 私の場合はなんでかこの段に書いてある方法じゃダメだったんだけど、
大体はこの段に書いてある方法で解決するからまずはそれから試していったという感じ。

特にこの順番でやらなきゃダメって訳ではないんだけど、
やるのに時間が掛からない,手軽な順で書いてるから、上から順にやってみて
解決できなかったらその下に書いてある対処法を試す。
という感じで進めていった方が結果的に早いと思う。みたいな。

1.再起動してからもう一度インストールする

 特に説明の必要は無いような気もするけど、何かを行おうとしてエラーが起こった時、
PCを再起動してからもう一度試してみると何故か上手くいく場合がワリとあるから
一応やってみよう。


2.更新プログラムを1個ずつインストールする

 複数の更新プログラムを一度にインストールするとエラーが出るけど
1個ずつだったら正常にインストールできる。という事もあるので一応試しておこう。

 
3.Microsoftから更新プログラムをダウンロードしてインストールする
winup02
 Windows Updateでダウンロードエラーが出てインストールできない場合は、
Microsoftのサイトから更新プログラムのファイルをダウンロードして
それを実行するとインストールできる事が多いからやってみよう。

 私の場合は「KB3057154」「KB3067505」ですな。

 あと、更新プログラムが配布されているページへは
普通に「KB○○○○○○○」(○には該当する数字を入れる)という風に
更新プログラムの名前で検索しても良いんですけど、
更新プログラム名を入力するのもコピペするのも面倒なので、
(更新プログラムの名前だけをコピーする手段が標準ではたぶん無い)

winup03
「Windows Update」,「更新履歴の表示」から該当する更新プログラムをダブルクリックした
時に出てくるウィンドウの下の方にある「詳細情報」のURLをクリックすると
一発でその更新プログラムの配布ページへ行けるので多少ラクです。
 
4.Microsoftからトラブルシューティングツールをダウンロードして実行する
winup04

 ここまでやってもダメだったら
たぶんPCのWindows Update自体に問題が起きてるから、

Microsoftのサポートサイト
「https://support.microsoft.com/ja-jp/gp/windows-update-issues/ja?wa=wsignin1.0」
にあるWindows Update トラブルシューティング ツール「WindowsUpdateDiagnostic.diagcab」をダウンロードして実行しよう。

Windows Updateに関する設定とかが修正されてエラーが解消する場合がある感じ。

5.コマンドプロンプトでファイルの整合性をチェックして修復する
winup05

 それでもダメだったらシステムファイルが壊れてるかも知れないから、
コマンドプロンプトでシステムファイルチェッカーツールを実行して、
システムファイルをチェック・修復しよう。

 システムファイルチェッカーツールはコマンドプロンプト(cmd.exe)を
管理者権限で実行して「sfc /scannow」と入力後、Enterキーを押したら
あとは勝手にやってくれます。

6.Microsoftのサイトからシステム更新準備ツールをダウンロードして実行する
winup06
 システムファイルチェッカーツールでファイルを修正できなかった、
もしくは修正は幾らかできたんだけどまだダメな感じだったら、
Microsoftから「システム更新準備ツール」をダウンロードして実行しよう。

 コレは更新プログラムをインストールする上で必要なファイルを
自動的に足したり、修正したりしてくれるツール。

 システム更新準備ツールを使う上で気をつけた方が良い事とかは特に無いんですけど、
ファイルサイズが538MBと結構でっかいので細い回線を使ってる場合は
ワリとダウンロードするのに時間が掛かるかも。

 あと、PCのスペックにも寄ると思うんですけど
ツールのインストールもワリと時間が掛かる感じだから気長に待とう。みたいな。

・リスクがある方法


 たいていの場合は上の段に書いた方法のどれかで解決するんだけど、
今回はなんでかダメだったので仕方なく下記の方法を試してみた次第。

 結論から言うと壊れたファイルを正常なモノに置き換えたら直りましたな。

1.システム更新準備ツールのログを見て、ディスクのエラーチェックを行う

 上の段も書いた「システム更新準備ツール」を実行すると、
C:\Windows\Logs\CBS\の位置にCheckSUR.logというログファイルが生成されるから、
それを見て、「ファイルが壊れてるけど修正できなかったよ」的なことが書いてあったら
OSがインストールされているドライブのディスクのエラーチェックを行ってみよう。

 上手くいかない場合もあるし、ワリと稀なことだけどファイルが壊れる場合もありますが、
上手くいけば修正されます


2.もう一度システム更新準備ツールを実行して、再度ログを確認、
正常なファイルを別PCから調達してきて置き換える


winup07
 ディスクのエラーチェックを行ってもダメだったら、
もう一度「システム更新準備ツール」を実行してログファイルにある
Unavailable repair files:の項目を見て、壊れてるファイルを確認する。

ちなみに上の例では、
「Package_105_for_KB3061518~31bf3856ad364e35~amd64~~6.1.1.0.mum」
~
「Package_89_for_KB3061518~31bf3856ad364e35~amd64~~6.1.1.0.cat」

以上のファイルが壊れてるぜ!しかも直せなかったぜ!みたいな事が書いてあるので、
ログファイルをコピーするなりして該当するファイルの名前を別のPCでも参照できるようにしておく。
また、何故かログにはフルパスで書かれていないのでファイルの場所を追記しておくと便利。
(ちなみに今回は「C:\Windows\servicing\Packages」に該当するファイルがあった)

 次に同じOSを搭載した別のPCから正常なファイルをUSBメモリとかにコピーして、
問題が起きているPCに上書き、と行きたい所なんだけど
なんかWindowsの保護機能的な何かが働いて上書きできないので、
とりあえず正常なファイルを分かりやすい所に置いて、

 UbuntuをUSBからブート,エクスプローラ的なソフトで
正常なファイルを「\Windows\servicing\Packages」に上書きコピー
します。

 あとはシャットダウンして普通にWindowsで起動した後、
Windows Updateを行ったら更新プログラムを正常にインストールできたという具合。

winup01
(ここまでの道程が長すぎて「思えば遠くに来たもんだ」って思いましたわ)

・補足みたいな何か


 最後の正常なファイルを上書きコピーする所で私はUbuntuを使ったけど、
別にUbuntuじゃなくてもUSBとかDVDドライブからブートできて、
ファイルのコピーができるヤツだったら、たぶんなんでも良いとは思う。

(Windowsのインストールディスクを入れて起動して、
「システムの修復」から「コマンドプロンプト」でファイルをコピーするとか。)

 ただ、今回はコピーしなきゃイケないファイルが多かったし、
ファイル名もずいぶん長くて手入力でやり切れる感じがしなかったから、
Ubuntuを使ったという次第。

 ちなみになんでDVDドライブじゃなくてUSBからブートしたのかというと、
私が使ってるDVDドライブがスゲーうるさくてヤだから。
(ドライヤーとか掃除機みたいな音がする)

 あと、どんどん話しが逸れちゃうんですけど、
今回4年か5年ぶりくらいにUbuntuのブート用USBを作って使ってみたんだけど、
UIが近代的っぽくなってたり、アイコンがアニメーション的に動いたり、
Aeroスナップみたいな機能があったりして、
色々と使い勝手が良くなってて「スゲー進化してるじゃーん!」って思いましたわ。敬具。
・追伸というか広告というか追伸というか広告というか!



 正直新しいPCが欲しいです。みたいな。敬具。