このページは個人的なメモページです。
危険な行為なのでマネする時は慎重に、かつ自己責任で行ってください。

2016年10月6日追記注意

2016年9月以前のWindows7を想定したページです。
Windows Update にて、更新を適用するためにPCを再起動またはシャットダウンした時、「コンピューターの電源を切らないでください。」で全く進まなくなった場合、「電源ボタンを押して強制的にシャットダウンしても良いのかどうか?」をメモしたページです。

補足注意
※検証は2016年2月に行っています。
※Windows7で検証しましたが、Vista/8.1でも通用する話だと思います。10の場合は 7/8.1 と比べるとかなり危険度が高い感触。

ことのはじまり

色々とWindows Updateの検証してたら、以下の二つは非常に発生しやすい状況だった (2016年2月頃)

  • 32bit版Windows7でメモリ1GB、64bit版でメモリ2GBのPCの場合、メモリが足りなくなってWindows Updateが止まってしまう場合がある。
  • HDD、SSD、マザーボードの省電力機能とWindows7の省電力機能が上手くかみ合っていない場合、「更新適用のシャットダウン中」にHDD/SSDへの電源供給が止まる場合がある?

この場合は、PCのHDDランプが「数分点滅していない」場合ならば、「電源ボタン長押し」などの手段で強制的にシャットダウンしても(PC中級~上級者ならば)ほぼ問題ない感じ?というか、私が試した限りでは問題は起きなかった。

メモ書きのメインの情報はここまで。
ここから下は注意事項、検証中のメモ書き、次の関連更新の前フリみたいな話など。

もちろん、強制シャットダウンはしない方が良い

「(ほぼ)問題ない」と言っても、問題のあるKBをインストールした場合や、電源ボタンを押すタイミングによってはWindows Update中に強制シャットダウンでシステムに深刻な問題が発生する。ケースバイケースでやってOKかどうかを判断する必要がある。
ありがちな問題として
 ・Windows updateが失敗をくりかえす時の一般的な対処方法(このページ)
  ・OSが起動しないなど 深刻な場合 (Windows7/Vista)
  ・OS が起動しないなど 深刻な場合 (Windows 10/8.1)
上記のページで解説するようなトラブルが発生する。
Windowsが完全に壊れてしまい、OSを再インストールしなければならない危険性もゼロではない。
強制シャットダウンする時は、自己責任かつそれなりの覚悟で行う事。

 

メモリが足りないPCの場合の挙動一例

以下は、VMware上で「極端にメモリの少ないWindows7マシン」を再現し、Windows Updateがシャットダウン中に止まってしまう現象を再現したもの。

PC環境
SP1化直後、最初の200個超の更新の確認
▲クリックで拡大
x86 Windows7 SP1化済
CPU: 2コア
メモリ: 1GB
仮想メモリ: 1.5GB(固定)
※仮想メモリが「無し~200MB程度」では、メモリ不足でWindows Update自体が作動しない

SP1にアップデートした直後の「200個超」のWindows Update を適用すると、シャットダウン中に更新が止まってしまった。
208個中93個目の所で止まった
▲クリックで拡大
「コンピューターの電源を切らないでください。」
「更新プログラムをインストール中」
208個中93個目の所で、CPU使用率、ディスクアクセス、ともに殆どゼロの状態が40分くらい続いた。

とりあえず、CPUも止まっているし、実機側のHDDランプも消えているので、VMwareを強制終了させた。
(真似する場合は、HDDランプが5分以上、全く点滅しない事を確認する事)

次回起動時は、エラー回復処理画面が出た。
エラー回復処理画面
▲クリックで拡大
とりあえず今回は「Windows を通常起動する」で無事起動できた。

92個までは適用できていると思ったけど・・・・
エラー回復処理した後の画面
▲クリックで拡大
Windows Update画面を開くと、209個が丸々残っているように見える。

更新履歴の一覧を開いてみる。
エラー回復処理した後の画面
▲クリックで拡大
こちらでは、92個の更新プログラムは適用出来ているように見える。
Windows内のデータベースに正しく記録されなかっただけで、適用自体は出来ている模様。

ちなみに、
PCが停止して失敗が発生した更新プログラムは「KB3068708」
エラーコードは「8007000E」。
※このエラーコードは、メモリが足りない時によく記録される。

残りの更新を適用するため、PCを5分ほど放置した後にシャットダウンを行う
エラー回復処理した後の画面
▲クリックで拡大
やはり92個までの更新プログラムは適用されていたようで、「208個中XX個目」の数字がモリモリ進む。
通常、この更新は90分前後かかるのだが、17分で終了してしまった。

更新の途中で電源を落としてしまうと、こんな感じで普段と異なる挙動を示してしまう。

さらに、一部の更新が正しく適用できておらず、その後のWindows Updateに支障が出る場合もある。

この後、「更新の確認」に時間がかかる現象が発生

この段階までWindows Updateが進んだ場合、正常ならば(この段階では)「更新の確認」には2~3分しかかからない筈なのだけど、今回は70分かかった。
また、PC再起動後、20~30分待ってもCPU使用率がゼロにならない状態だった。
更新の確認に時間がかかる現象が発生
▲クリックで拡大
更新プログラムの取得に必要なデータベースが作成されなかったため、再作成しているものと思われる。
(SSDの電源断が発生した場合も、同様の結果となった。)
(CPU使用率がゼロになった後は更新の確認に時間のかかる問題は解消した)

結論

  1. 32bit版 Windows7の場合、メモリ1GBではWindows Updateは厳しい
    • メモリが足りないため、エラーが出やすい状況になっている。
      • エラーコードは主に「8007000E」となる
    • メモリ1GBでも「Windows Updateの速度が落ちる」という事は無い
      • ダウンロード速度、ダウンロードファイルの解凍速度、インストールにかかる速度、全部ほぼ一緒。
      • 今回の場合、
        ・208個中93個目の所で40分止まった(エラー8007000E)
        ・更新の確認が70分かかる現象が1回多く発生した
        この2点を除けば、メモリ3~8GB積んだWindows7と同じ時間で最新の状態まで進むことが出来た。
  2. Windows Updateが終わっていない所でシャットダウンすると、更新プログラムのデータベースが壊れる?
    • 次回の「更新の確認」に70~80分かかる。
    • データベースの壊れ方が酷い場合は、次回の「更新の確認」に2~3時間かかる (今回は発生せず)

今回の更新は以上。
メモリの少ないPCでWindows Updateした場合の詳細な挙動チェックは以下URLで公開しています。
Windows7の搭載メモリとページファイルを極限まで小さくしてWindows Updateしてみるテスト