本連載38回でも触れましたが、Windows Update実行時にCPU使用率が高くなる問題は、「マシンスペックが低い環境」で発生しやすいようです。Windows Virtual PCの仮想マシンはシングルコアであり、CPUやディスクI/Oのオーバーヘッドも大きいような気がします。
「マシンスペックが低い環境」が原因であるかどうかを切り分けるため、今回、問題となっているWindows 7仮想マシンの仮想ハードディスク(VHD)を、別のWindows 10 PCのHyper-V環境にコピーして、2コアの第一世代仮想マシンに接続し、起動してみました。Windows Updateを実行すると、CPU使用率が100%になることはなく、数時間でWindows Updateを完了することができました(画面3、画面4)。
Hyper-Vの仮想マシン環境でWindows Updateを完了後、Windows Virtual PCの仮想マシン環境に更新されたVHDを上書き保存し、Windows Virtual PC上で起動してみました。Windows Updateを実行してみると、数分で更新の確認が完了します。どうやらこれで健全な状態に戻ったようです(画面5)。
なお、Windows Virtual PCの仮想マシンのVHDをHyper-V仮想マシンに接続して起動すると、ハードウェアが大きく変更されたと見なされて、「Windowsライセンス認証」が無効になりますが、後でWindows Virtual PCの仮想マシンに戻すとライセンス認証は再び有効になりました。
今回は、Windows Virtual PCの仮想マシンのWindows Updateの問題を、一時的にHyper-Vを利用してトラブルシューティングしました。Windows Updateのトラブルシューティングの方法としてはちょっと反則かもしれません。物理環境でWindows Updateに時間がかかる、Windows Updateが終わらないという問題を抱えているユーザーは、もし原因がPCのスペックであれば問題解決は困難かもしれませんね。
以下のようなWebサイトや解説記事が必要なように、Windows Updateのトラブルに悩んでいるユーザーは多いようです。PCのスペックが影響するとしたら、毎月のように更新作業に苦労しているユーザーもいるのではないでしょうか。
マイクロソフトには、Windows 7の動作要件を満たしているのであれば、たとえ低スペックであってもWindows Updateで更新できるように根本的な改善をしてもらいたいものです。しかし、Windows 7のメインストリームサポートは1年前の2015年1月に終了しました。延長サポートに入ったWindows 7では、それは望めないでしょう。PCスペックの問題で毎月のWindows Updateがなかなか終わらない状態になってしまったWindows 7 PCは、残念ながら買い替え時なのかもしれませんね。
もし、Windows 10 PCに買い換えた場合、Windows 10ではWindows Updateの仕組みが大きく変更されているので注意しましょう。Windows 10では「自動更新」が基本であり、更新プログラムの選択的なインストールは事実上できなくなってしまいます。
このWindows Updateの刷新には賛否両論あると思いますが、良い面もあります。Windows 10の更新プログラムは累積的な更新プログラムとなっており、新しい更新プログラムには過去の更新内容が含まれています。そのため、Windowsを再インストールしたとしても、数個の更新プログラムをインストールするだけで最新状態にできます。
また、Windows 10自身も1年に数回、新しいビルド(バージョン)にアップグレードすることになるので、膨大な更新プログラムの積み重ねが原因の1つと思われる、今回のようなWindows Updateのトラブルはなくなると思います。
一方で、全く別のトラブルが出てくる可能性も否定できません。その際、Windows 8.1以前のテクニックの多くが通用しなくなってしまうことに注意してください。
例えば、Windows Updateのトラブルシューティングには欠かせない「%Windir%¥WindowsUpdate.log」ログファイルは、Windows 10では使えません。代わりにWindows PowerShellの「Get-WindowsUpdateLog」コマンドレットを使用してETW(Event Tracing for Windows)のトレースログをテキスト形式に変換する必要があります。Windows 10のWindows Updateのトラブルシューティングについては、今後、充実することに期待しましょう。
本来なら、トラブルシューティングなんてしなくても、問題なく動いてくれればそれでよいのですが……。
さて、2015年末に時間と手間をかけて問題を解消した、Windows Virtual PCのWindows 7仮想マシンですが、年明け1月のWindows Updateを実行するために起動したところ、「svchost.exe」プロセスのCPU使用率100%問題が再現してしまいました。数時間待ってみても全く進みません。再度、Hyper-V仮想マシンにVHDを移動してWindows Updateを実行したところ、30分程度であっさり完了。もう、イヤになっちゃう。
岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(Oct 2008 - Sep 2016)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。マイクロソフト製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。
Copyright © ITmedia, Inc. All Rights Reserved.