2016/07/13

7 月の Windows Update で Windows Server 2012 R2 の 1 台だけ無限ループ問題発生(回避策あり)

複数台ある Windows Server 2012 R2 (GUI 使用サーバー) の物理/仮想マシンの 1 台(1 台だけ)で、2016 年 7 月の Windows Update 後に異常発生。サインインすると、いくつかの自動起動プログラム(サーバー マネージャーとか)がクラッシュを繰り返し、無限ループとなって、デスクトップが正常に表示されない。[Ctrl+Alt+Del]キーでタスクマネージャーを開始しても、これもクラッシュ。ユーザーを変えてみてもだめ。



7 月の更新プログラムの何かが悪さをしているような気がするんですが、さてどうしたものか...

Windows Update で GUI 環境を使えなくなったときの汎用的な手順になると思うので、ご参考までに問題解消までの流れをメモ。

追記) 以下の手順はセーフ モードとコマンド プロンプトで再起動して、更新プログラムをアンインストールしていますが、PowerShell Remoting とか WinRM とか構成済みであれば、リモートから接続して対処できるかもしれません。Windows Sysinternals の psexec 使って、DISM /Online /Remove-Package ... してもできるかも。 後になって思いつきました。

通常の起動ではサインアウトするか再起動するかしかできないので、 [Ctrl+Alt+Del]キーで出てくる画面で[Shift]キーを押しながら再起動。


[トラブルシューティング > スタートアップ設定]と選択して...

[セーフ モードとコマンド プロンプト]を選択して...


セーフ モードとコマンド プロンプトで起動したら、サインインして、

DISM /Online /Get-Packages 

を実行し、インストール済みの更新プログラムを確認します。インストール時刻を参考に、今日インストールされた更新プログラムのパッケージ ID を確認したら...

DISM /Online /Remove-Package /PackageName:<パッケージ ID>

を実行してアンインストール。

問題のサーバーには、次の 7 つの更新がインストールされていました。


3173424 Servicing stack update for Windows 8.1 and Windows Server 2012 R2: July 12, 2016 (これはアンインストールできないみたい)
3170377 MS16-092: Description of the security update for Windows Kernel: July 12, 2016
3170455 MS16-087: Description of the security update for Windows print spooler components: July 12, 2016
3172727 MS16-094: Description of the security update for Secure Boot: July 12, 2016

3170106 MS16-084: Security update for Internet Explorer: July 12, 2016 (これは一度アンインストールに失敗したけど、最後にアンインストールしたらできた)
3169704 MS16-092: Description of the security update for Windows Kernel: July 12, 2016
3168965 MS16-090: Description of the security update for Windows kernel-mode drivers: July 12, 2016

アンインストールに失敗した 3173424 を除く 6 つの更新プログラムをアンインストールして、再起動すると...

問題は解消!


続いて、犯人探し。

もう一度、Windows Update を実行し、検出された 6 つの更新を再びインストールすると... 問題再発!



犯人は 6 つの更新プログラムの中にいる。はず。


セーフ モードとコマンド プロンプトで起動して、1 つずつアンインストールしながら再起動を繰り返して追跡中...

犯人はお前だ!と思う。

3170106 MS16-084: Security update for Internet Explorer: July 12, 2016
[URL] https://support.microsoft.com/en-us/kb/3170106

厄介なのが、3170106 が他の 5 つの更新のどれかと依存関係にあるっぽく、単体でアンインストールできないところ。6 つアンインストールしてから Windows Updateを実行し、 3170106 だけ除外して他の 5 つの更新をインストールしてようやく問題解消!

さようなら、もうこないで、出入り禁止。


※ この問題が発生したのは、複数台あるうちの 1 台のサーバー(仮想マシン)だけ。再現性があるのもこのサーバーだけです。すべての環境で問題が発生するわけではないので、最初から 3170106 を毛嫌いしないでください。3170106 は MS16-084 のセキュリティ問題の修正だけでなく、セキュリティ以外の修正も含まれているそうです。

ところで、あの無限ループが発生しているとき、イベント ログには explorer.exe のクラッシュ、再起動が繰り返し記録されていました。



我が家の 7 月の Windows Update は、この 1 台だけで問題発生。それ以外のWindows Server 2012 R2、Windows 10 1511、Windows 8.、Windows 7 SP1、および Windows Server 2016 Technical Preview 5 (TP5) はスムーズに完了。Windows Server 2016 TP5 は再起動が不要でした。すんばらしい。

参考:
セーフ モードでも起動しなくなっちゃたんだけどという方はこちら

@IT > 山市良のうぃんどうず日記(10):セーフモードでも起動できないという悪夢からの脱出[その2]
[URL] http://www.atmarkit.co.jp/ait/articles/1407/18/news027.html


0 件のコメント: