treedown’s Report

システム管理者に巻き起こる様々な事象を読者の貴方へ報告するブログです。会社でも家庭でも"システム"に携わるすべての方の共感を目指しています。

※https化しました。その影響でしばらくリンク切れなどがあるかもしれませんが徐々に修正していきます。 リンク切れなどのお気づきの点がございましたらコメントなどでご指摘いただけますと助かります。

Windows Server 2012が再起動ループで停止した。

Windows Update番外編のご報告。
Windows10やWindows8.1では問題なかったように見えたWindows Updateでしたが、Windows Server 2012で問題が発生。
旧サーバOSをご利用の場合にはご注意を。

発生状況

そのWindows Serverは起動しなくなっていました。

画面を開くと、

f:id:treedown:20191212150027p:plain

「サービスにWindowsのシャットダウン中を通知しています」
と表示されていて、しばらく待つと、

f:id:treedown:20191212150042p:plain

「サービスを停止しています」
と表示され、OSが再起動、またOSが起動してきて、「サービスにWindowsのシャットダウン中を通知しています」の画面に戻ります。そこから「サービスを停止しています」の画面から再起動の無限ループ。
再起動ループってやつです。

Windows Server環境

不幸中の幸いですが、このWindows Serverはユーザ数も少なく、異変に気づいたユーザはまだいないようでした。
バージョンは、

f:id:treedown:20191212150123p:plain

Windows Server 2012(R2じゃない)OSです。

ユーザが少ないし気づいていないとはいえ、何とか復旧してもらわないと、少ないとはいえユーザが機能を使えないというのは困ります。

怪しいのはやはり時期的にWindows Updateだろう、と勝手に断定しました。

セーフモードの試み

まずはセーフモードで起動しないかを確認します。要因となっているKBをアンインストールすればすんなり動作してくれるだろうという希望を持っていますが、当該KBをアンインストールする操作をするにはどうしてもOSが起動してもらわないといけない、そのOSが起動しない状況、という。

伝統の起動時(ブートプロセス中の)F8押下で詳細ブートオプションを開きます。

f:id:treedown:20191212150148p:plain

開きました。
ドキドキしながらセーフモードを選択します。
これで、起動しなかったらセーフモードとコマンドプロンプトでコマンドラインでKBをアンインストールする作業が待っています。なんとか起動して欲しいなぁ…。

ドキドキで待っていたら、

f:id:treedown:20191212150203p:plain

起動しました。
おお、よかった。何とかセーフモードでの起動は無事なようです。

対処:KBアンインストール

注)はじめに:
この対処は(更新されたMSからの情報を見る限り)必要ないようです。情報のない時点(2019年12月12日現在)で実施した対処だったため記述を残しておりますが、ここに記載のあるKBのアンインストールは不要でセーフモードで起動後にOS再起動で通常起動する、とMSの情報に挙げられています。

 

セーフモードで起動したOSに早速ログオン、Windows Updateの履歴を確認してみます。

f:id:treedown:20191212150224p:plain

障害発生日当日の早朝でWindows Updateが動作して適用された更新プログラムが表示されていることが分かりました。

f:id:treedown:20191212150302p:plain

この中に犯人がいると。
しかし、どれが犯人か、という絞り込みはコレだという決定的なポイントがなく迷います。
ちょっと迷ったのですが、
「やはり累積更新プログラムが問題の定番であるので、まずはアンインストールを試してみる」
ということにしました。
「インストールされた更新プログラム」のリンクから、更新プログラムの一覧を表示させ、
「2019-12 x64 ベース システム用 Windows Server 2012 向けセキュリティ マンスリー品質ロールアップ (KB4530691)」
をアンインストール。

f:id:treedown:20191212150320p:plain

アンインストール後、再起動を促されます。
f:id:treedown:20191212150341p:plain

これでダメなら、次はサービススタック更新プログラムか.NET Frameworkの更新のアンインストール辺りを試してみようか、と思いながら再起動します。

f:id:treedown:20191212150411p:plain

再起動中、更新プログラムの構成中の画面を祈るように見つめます。

f:id:treedown:20191212150425p:plain

進捗が100%に至ったところで、ちょっと長い時間動作がこの画面で停滞します。もう祈っています。
祈りながら見つめると、

f:id:treedown:20191212150440p:plain

OSが起動してきました。安堵。

復活に安堵、だが

無事復活したWindows Server 2012を見つめます。
KBを消しただけで動作は問題がなさそう、ですがふと思ったことがあります。

これ、また自動更新で適用されるような…。

自動更新で適用されたら、またサービスはストップしてしまいます。今回こそユーザへの影響は軽微に済んだものの、次回もそうだとは限らないと考えました。
そこで一旦、適用されないよう、更新プログラムを非表示に。

まずは、Windows Updateで更新プログラムの確認

f:id:treedown:20191212150509p:plain

アンインストールした「2019-12 x64 ベース システム用 Windows Server 2012 向けセキュリティ マンスリー品質ロールアップ (KB4530691)」が検出されました。

f:id:treedown:20191212150525p:plain

リストから右クリックで更新を非表示とします。
非表示にすると、再度更新プログラムの確認が自動的に動作、動作後に

f:id:treedown:20191212150551p:plain

更新プログラムはリストに表示されなくなりました。

これでひとまず自動で障害発生するトリガはなくなった、と判断しました。

根本的な解決策は?

当然ですが、Windows Updateで問題が起きた更新プログラムは累積的な更新プログラムでセキュリティアップデートも含んでいます。
これが適用できないというのはなかなかによろしくありません。Microsoftの更新プログラムの更新を待ちたいと思います。

…参ったな。

「2019-12 x64 ベース システム用 Windows Server 2012 向けセキュリティ マンスリー品質ロールアップ (KB4530691)」の更新プログラム情報をちょくちょく確認するしかできることはなさそうです。 

https://support.microsoft.com/help/4530691

ここを定期的に確認するようにします。

追記(2019-12-16):

Microsoftからの情報が更新されました。

■Windows Server 2012 が更新プログラム適用後に再起動ループして OS が起動できなくなる問題について
https://social.technet.microsoft.com/Forums/en-US/770bad59-b52d-43f3-a5bc-a9aff364ca6f/windows-server-2012?forum=Wcsupportja

対処方法には「更新プログラム適用前に12月のサービススタック更新プログラム(KB4532920)を単体適用する」と記載があります。

発生したときの対処方法には「セーフモードで起動し、その後再度通常起動する」という記載もあります。うーん、これ、実はセーフモードで起動してKBを消してしまったのですが、KBを消さなくても再起動すれば通常起動してきた、ってこと?なんとも…。