スポンサーリンク

Windows10 Ver1909からのアップデートが何故か66%で失敗する問題を克服!

ひとり情シスサバイバルの教科書のロゴひとり情シスサバイバルの教科書
この記事は約9分で読めます。

Windows10になってから半期に1度の大型アップデートがリリースされるスタイルになって久しいですが、いざバージョンアップすると何故かインストーラーが66%付近で「インストールに失敗しました」という投げやりなメッセージを吐いたまま終了するという無慈悲なエラーが頻発しています。

私も40台近くこの症状を罹患したPCの対応をしました。このサイトではこの「66%の壁越え」を狙うために私が取った行動を晒します。

※この方法は1903からのバージョンアップでも同様の症状、同様の対策方法が取れます。

スポンサーリンク

失敗の内容

こんな状況のPCはエラーになりやすいようです

  • wsusなどで大型アップデートが勝手にあたらないように止めている
  • 大型アップデートはisoファイルやDVDディスクからインストーラーを走らせている
  • 起動頻度が少ないPC、若しくは、24時間立ち上げっぱなしのPCで実施した

そもそもエラーコードが分からない

ここがハマるポイントでもあります。いきなり「インストールに失敗しました。」と小窓が出て終了。

分かるのはインストールの進捗状況が66%辺りに差し掛かるとこうなる、ということくらい。
「Windows10 インストール エラー 66%」で検索してもまず出ません。

どうやら更新プログラムに原因がありそう

後述する方法でエラーコードを拾い上げてみたところ、どうも更新プログラムが怪しいようです。
今までの経験則からいっても更新プログラムが糸を引いている、とにらんでおります。

対応方法

上から順番に試して見てください。4番目くらいまででほとんどが66%を突破できます。
順番に見ていきましょう。

サービススタック更新プログラムのインストールして再トライ

WindowsUpdateのインストール処理を行う「サービススタック」というソフトを修正するための更新プログラムを当てます。自動更新される小型のアップデート(品質更新プログラム:QU)でうまく当たらなかったという事例があるようです。サービススタックのイメージは更新プログラムがどの分当たったかを管理するデータベースのようなものと考えるといいかもしれません。新しい更新プログラム管理システムの元で再トライしましょう。というものです。

Windows 10 Version 1903 および 1909 のサービス スタック更新プログラム: 2021 年 1 月 12 日 - Microsoft サポート
機能強化と修正プログラム、既知の問題、更新プログラムの入手方法など、このサービス スタック更新プログラムについて詳しく説明します。

インストール後、念のため再起動して再トライしてみましょう。壁を越せなかったら次のステップへ。

WindowsUpdate クライアント情報を削除して再トライ

前段のステップで「既にインストールされています」と出てorzとなった人やうまく行かなかった人は更新プログラムのクライアント情報を削除してみましょう。

クライアント情報は過去の更新プログラムの情報が書かれたファイルですが、ここに書かれた情報に不整合な部分があるとパソコンさんが「ぐぬぬ??」となってエラーになるというものです。
削除することで今までの更新の履歴が消えることになりますが、次回更新プログラムが走るタイミングで1から作り直されるので問題ありません。

この作業には管理者権限が必要になります。また、コマンドプロンプトを使用します。

※管理者として起動

REM 自動更新サービスと BITS サービスの停止
net stop usosvc
net stop dosvc
net stop wuauserv
net stop bits
REM バックアップの為SoftwareDistribution フォルダーのリネーム
ren %systemroot%\SoftwareDistribution SoftwareDistribution.old
REM BITS のジョブを削除
del %ALLUSERSPROFILE%\Microsoft\Network\Downloader\qmgr0.dat
del %ALLUSERSPROFILE%\Microsoft\Network\Downloader\qmgr1.dat
REM 削除されたメッセージを確認する為一時停止
pause
REM 自動更新サービスと BITS サービスの開始
net start bits
net start wuauserv
net start dosvc
net start usosvc
pause

このバッチでうまくいかない場合はコマンドプロンプトでstopを4つ走らせて、エクスプローラーで「c:\windows\SoftwareDistribution」の中身を全部消すでもいいです。
そんな為のバッチも置いておきます。

net stop usosvc
net stop dosvc
net stop wuauserv
net stop bits
echo c:\windows\SoftwareDistributionの中身を全部消してください。
echo 消し終わったら、このウィンドウでエンターキーを押してください。
explorer.exe c:\windows\SoftwareDistribution
pause
net start bits
net start wuauserv
net start dosvc
net start usosvc
pause

ここまで終わったら念の為再起動して再トライします。これでもダメなら次のステップへ。

システムファイルを修復(DismとSFC)して再トライ

8割方前段までで潰せますが、実際これでもつぶれなかった強者が数台ありました。
神頼みに近い行為ですがやる価値はあります。
Dism(展開イメージのサービスと管理)とSFC(システムファイルチェッカー)を起動してシステムファイルの破損を検出、自動修復を図ります。

割と鉄板なコマンドなので、バッチファイルとして持っておいても別のエラーなどで応用が利くと思います。
※管理者として起動

batch file:DISM_sfc
DISM.exe /Online /Cleanup-image /Restorehealth
sfc /scannow
Pause

ここまで終わったら念の為再起動して再トライします。これでもダメなら次のステップへ。

オンラインでのインストールを試してみる

これでもダメ!となると相当手強いです。実際数台いました。

これは企業なんかではあるあるかもしれませんが、あらかじめ情シスが準備したオフライン用のisoファイルが古いバージョンになってしまっているというパターン。ダウンロードしたときのバージョンでエラーとなるものがダウンロードし直したバージョンではこっそりパッチが当たって直っている、というもの。

オンラインでのインストーラーはネット経由の為時間は掛かるし、通信にも負担を掛けます。しかし、下りてくるインストーラーは間違いなく最新です。残り1,2台位でオンラインが可能であればここに賭けてみましょう。オンラインが無理な環境なら、isoファイルをダウンロードし直します。

ちなみに、オンラインインストールの場合はエラーコードが表示されます。なので、ここで何がエラーなのかヒントをゲットすることもできます。

これでもダメなら次のステップ。

定期の更新プログラムインストールが失敗しているものがあれば再インストールして再トライ

Windows10の更新プログラムは累積プログラムなので、過去にインストールが失敗している更新プログラムが後々の更新プログラム失敗のトリガーになる、ということもあります。
途方もないチェックの嵐となってくると思いますが、最後の1台はこれで潰しました。

おまけの対応

インストーラを走らせると、本体のインストールに併せて、今までの更新プログラムをスキャンして当てていく作業が裏で行われています。

中にはその更新プログラムのインストールがうまくいかない、当てたことでスタックサービスとの不整合が出てるのでは?というパターンも見受けられました。
そこでもう一つ裏技。

「LANケーブルを抜いてインストール」

これによってMicrosoftのサーバーに更新プログラムの照合をしに行かなくなります。実際「更新プログラムをチェックしています…」の項目がサクッと終わってしまいます。過去の更新プログラムはある程度大型アップデートの中に盛り込まれていることと、アップデートしてしまってから、それでも残っている失敗した更新プログラムを当ててもいいじゃないか、という発想です。

66%は超えられる。是非とも頑張ってみてください!

【コラム】そもそもなんでサポート切れに情シスはうるさいの?

Microsoftが面倒を見なくなります。

「別にMicrosoftに面倒見てもらったことなんかねーよ」と大半の人は言いますし私もよく言いますが、実は結構見てもらってるのです。

ハッカーさんがやる攻撃の種類に、OSやOffice等製品の動作のスキを突くタイプがあります。Microsoftさんはその穴を埋めるべく「更新プログラム」という形でそのスキを埋めていきます。しかし、Microsoftさんも商売です。いつまでも昔の製品について面倒も見切れません。そこで、サポート期間を終了したMicrosoft製品に対して面倒を見なくなります。そうすると、サポートの切れたバージョンについてスキが見つかってもMicrosoftさんは穴を埋めてくれないので攻撃が通用してしまいます。よく「OSの脆弱性を突いた攻撃」なんて言われます。

サポートが切れても使えるでしょ?

OSは確かに使えます。しかし、仮に攻撃を食らうリスクは高い状態で、ウィルス対策ソフトでもカバーできないこともあります。

トロイとか入ってても別に動いてるし、抜かれて困る情報もないし問題ねーだろ?

トロイ入ってる時点でバックドアが完成していると見て良いでしょう。

もし、バックドアからキーロガーを仕込まれると、自分がキーボードで打ち込んだ内容が全て筒抜けになります。ショッピングで使用したID、パスワードも抜かれますし、ポエムなんか書いてたら悶絶したくなると思います。

更に怖いのは自分のパソコンの情報を抜かれるだけではなく「踏み台にされる」ことです。バックドアが開いているPCを秘密裏に操作して、例えば大手銀行サーバーのハッキングに使うとしましょう。

この犯行の成功失敗はさておいても踏み台にされたPCが大手銀行に攻撃を仕掛けたアクセスログは残ります。捜査が入ればまず踏み台になったPCの持ち主が疑われ、実際誤認逮捕に至るケースもありました。ちなみにハッキングは刑法で裁かれます。

個人でもここまで危険です。もし会社のPCでこんなことが起こったら、社会的信用、コンプライアンスとかが叫ばれる世の中で社長辞任まで派生しかねない恐ろしい事態となります。「社長を辞任に追い込んだセキュリティの担当は誰だ!?」となれば、情シスが青くなるのは当然かと思います。

Microsoftさんでは、このサポート開始から終了までの期間「ライフサイクル」と呼び、以下のページにて情報提供しています。

Microsoft ライフサイクル ポリシー
Microsoft 製品の特定のバージョンのサポート終了日と計画を最新の状態に保ちます。

とはいえ、なかなか見づらい構成ですので「Windows10 ライフサイクル」で検索してまとめページを頼った方が見やすいと思います。

「社長辞任のワードを聞いて放置することを決めた」なんてブラックジョークはここではしないでくださいね。

タイトルとURLをコピーしました