Windows 仮想マシンにて更新プログラムの適用に失敗する場合のトラブルシュート
2017/7/4 更新 パターン A の原因として、Windows 用 Azure ゲスト エージェントの過去バージョンの不具合の可能性があります。エージェントのアップデート方法について追記いたしました。
こんにちは、Azure サポート部の石井です。
Azure で Windows の VM を利用している環境で、Windows Update 経由、あるいはセットアップ インストーラーの実行による Windows の更新プログラムのセットアップについて、「何度繰り返してもエラーとなって成功しない」というパターンとなる例が複数報告されています。
すべてがこのケースに当てはまるわけではありませんが、代表例となる 2 パターンについて、お客様にて自己解決が出来るよう、事象の裏付け手順・回避手順をおまとめしました。
パターン A: Windows OS の一時フォルダー (TEMP) にファイルが大量に存在するケース
プログラムのインストールなどに伴い、C:\Windows\TEMP フォルダー内に複数の "tmp<番号>.tmp" ファイルが生成されます。
このファイルが大量に存在する場合に、Windows の更新プログラムのセットアップに支障をきたすという事例が報告されています。
- 確認手順
C:\Windows\Temp フォルダー内に、"tmp<番号>.tmp" が多数生成されていないかご確認ください。数千 ~ 数万といったファイル数の場合、以下手順で削除してください。
- 対処手順
"tmp<番号>.tmp" ファイルが多数存在する場合には、以下手順にて削除します。
1) コマンド プロンプトを [管理者として実行] で起動します。
2) DEL コマンドで tmp 拡張子のファイルを削除します。
DEL C:\Windows\Temp\*.tmp
※使用中のファイルは削除することができないため、削除できないファイルは無視して構いません。また、削除できたファイルは、削除しても問題ないファイルとなります。
上記対処後、あらためて Windows 更新プログラムのインストールを再実行してください。
2017/7/4 更新 パターン A の原因のひとつとして、Azure ゲスト エージェント バージョン 2.4 の不具合のケースがございます。上記対処手順にて、temp フォルダーをクリーンアップし、最新の Azure ゲスト エージェントのインストールを行って下さい。
Azure VM エージェント (ダウンロード リンク)
https://go.microsoft.com/fwlink/?LinkID=394789&clcid=0x409
パターン B: Azure ゲスト エージェントのイベント ログ関連レジストリが破損してしまっているケース
Windows VM にインストールされている、Azure ゲスト エージェントというサービスが存在します。
ゲスト エージェントは、Azure ポータルなどからの管理操作に応答し、VM の状態を報告したり、拡張機能のセットアップを担うサービスです。
このサービスのイベント ログ用レジストリが何らかの理由で破損している場合、Windows 更新プログラムのインストール時にエラーが発生するというケースが報告されています。
- エラー箇所の確認手順
1) Windows Update 適用エラーの発生時間を確認します。
2) C:\Windows\Log\CBS.log もしくは CbsPersist_XXXXXXXXXXXXX.cab 内の CbsPersist_XXXXXXXXXXXXX.log を開きます。(ログはメモ帳などのテキスト エディターで開くことができます。)
3) エラーが発生した時間帯が含まれているか、CBS.log もしくは CbsPersist_XXXXXXXXXXXXX.log を確認します。
4) CBS.log もしくは CbsPersist_XXXXXXXXXXXXX.log 内で、", error" ("" は除く) で検索します。
例 検索すると以下のようなエラーが確認出来ます。
2017-04-25 22:38:33, Error CSI 00000002 (F) Logged @2017/3/25:13:38:33.230 : [ml:322{161},l:320{160}]"EventAITrace:Provider Microsoft-WindowsAzure-Diagnostics{{9148c98f-152c-44d3-a496-26350c475d74}} is missing channels under the channelreferances registry key.
"
[gle=0x80004005]
2017-04-25 22:38:33, Error CSI 00000003 (F) Logged @2017/3/25:13:38:33.261 : [ml:322{161},l:320{160}]"EventAITrace:Provider Microsoft-WindowsAzure-Diagnostics{{9148c98f-152c-44d3-a496-26350c475d74}} is missing channels under the channelreferances registry key.
"
[gle=0x80004005]
2017-04-25 22:38:33, Error CSI 00000004 (F) Logged @2017/3/25:13:38:33.292 : [ml:322{161},l:320{160}]"EventAITrace:Provider Microsoft-WindowsAzure-Diagnostics{{9148c98f-152c-44d3-a496-26350c475d74}} is missing channels under the channelreferances registry key.
"
[gle=0x80004005]
5) エラー内に記録されている、EventAITrace:Provider Microsoft-WindowsAzure-Diagnostics{{9148c98f-152c-44d3-a496-26350c475d74}} などの値を控えておきます。
{9148c98f-152c-44d3-a496-26350c475d74} 以外の値がある場合もございますので、何度か検索を行い確認できた上記の様な値を控えます。
- 対処手順
1) レジストリ エディタ (regedit) を起動します。
2) 下記のキーを開きます。(前述の確認結果 "9148c98f ~" という文字列での例です。)
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{9148c98f-152c-44d3-a496-26350c475d74}
3) ~\{9148c98f-152c-44d3-a496-26350c475d74} を右クリックし、"削除" を押下します。
「このキーとそのサブキーをすべて完全に削除しますか ?」という設問が表示されましたら、[はい] を押下します。
※ [エラー箇所の確認手順] 内の 手順 5 で確認した値すべてに対して同様の対応を実施します。
4) Azure ゲスト エージェントをダウンロードし、インストールします。(システムの再起動は不要です。)
Azure ゲスト エージェント (MSI インストーラーのダウンロード リンク)
https://go.microsoft.com/fwlink/?LinkID=394789&clcid=0x409
ご参考: Azure 仮想マシン エージェントの概要
/ja-jp/azure/virtual-machines/virtual-machines-windows-agent-user-guide
5) 再度 Windows Update による更新プログラムのインストールをお試しください。