こんにちは、ITインフラエンジニアのKomura(@system_kom)です。
マイクロソフトのWindows サーバーOS「Windows Server 2012」使ってますか?
WindowsサーバーOS「Windows Server 2012 R2」は2013年にリリースされてから、6年が経っています。
弊社でもサーバー構築した実績が多いOSですが、徐々に見ることも少なくなってきました。しかし、現場ではまだまだ現役で動いている環境も多くあるようです。その証拠に先日(2019年12月)にマイクロソフトがリリースしたパッチが原因で、サーバーが再起動時にループをしてしまうという問題が発生したときには弊社に多くのお問い合わせを頂きました。
実は2015年にもマイクロソフトのパッチが原因で同じような問題があり、ブログで原因と対処方法を紹介しています。まさか2019年にもパッチが原因で同じようなことが起こるとは思っていなかったので、驚きました。
-
あわせて読みたい2015年版 Windows Update後にWindows Server2012 R2が再起動を繰り返す問題の対応
こんにちは、レムシステム株式会社 ITインフラ担当の小村(@system_kom)です。 先日、弊社で行っていたWindows Storage Server 2012 R2 のセットアップ中にクリティカルな障害が発生しました。Windows ...
今回の記事では2019年12月に発生したWindows Server 2012 R2の再起動ループ問題について原因と対策を紹介していきます。同様の現象でお悩みの方は参考にしていただければ幸いです。
1. Windows Server 2012で発生する障害の内容
今回、発生する問題はWindows Server 2012のWindows Update後に実行されるサーバー再起動で、正常に起動せず再起動を繰り返すという問題です。2015年の問題では、何度か再起動を繰り返していると、まれに正常起動しますが、2019年の問題では延々と再起動を繰り返してしまいます。
詳しい障害の内容はマイクロソフトのTechNetサイトにあるフォーラム
Windows Server 2012 が更新後に再起動ループしてOSが起動できなくなる問題
に記載されていますが、参考としてTechNetサイトの情報を抜粋します。
Windows Service 2012 環境に以下のいずれかのサービス スタック更新プログラムが適用されている環境において別の更新プログラムを適用した際に、タイミングに依存して再起動を繰り返す現象が発生し、OS が起動できなくなります。
タイトル: Windows Server 2012、Windows 8.1 および Windows Server 2012 R2 のサービス スタック更新プログラム2019 年 7 月 10 日
アドレス: https://support.microsoft.com/ja-jp/help/4504418/servicing-stack-update-kb4504418
タイトル: Windows Server 2012 用のサービス スタック更新プログラム: 2019 年 9 月 11 日
アドレス: https://support.microsoft.com/ja-jp/help/4512939/compatibility-update-for-installing-windows-server-2012
タイトル: Windows Server 2012 用のサービス スタック更新プログラム: 2019 年 10 月 9 日
アドレス: https://support.microsoft.com/ja-jp/help/4521857/compatibility-update-for-installing-windows-server-2012
タイトル: Windows Server 2012 用のサービス スタック更新プログラム: 2019 年 11 月 13 日
アドレス: https://support.microsoft.com/ja-jp/help/4523208/compatibility-update-for-installing-windows-server-2012
障害の原因は2019年の7月から11月にマイクロソフトからリリースされた「サービススタック更新プログラム」のパッケージになります。
サービススタックについての詳細は本ブログでは割愛しますが、この期間にリリースされた該当する更新プログラムを適用すると「古いサービス スタック更新プログラムの削除処理と更新プログラムの適用処理が競合し、再起動を繰り返す現象が発生します。」とのことです。
2. Windows Server 2012 サーバー障害への対処方法
サーバー障害への対応は2つの方法があります。2つの方法については、サーバーの状況によってどちらかを選択する形です。一つ目は「サーバー障害が発生している場合」の対応方法、もう一つは「サーバー障害が発生していない場合」での対応方法です。
殆どの場合は「サーバー障害が発生している場合」の対応方法になるかと思います。
2-1. サーバー障害が発生している場合の対応方法
サーバー障害が「既に発生してしまっている」場合にはWindowsを「セーフモード」で起動することで、回避できます。問題が発生しているシステムをセーフモードで起動すると、以下のような挙動で回復することが報告されています。
セーフモードで起動後の挙動
- セーフモードで起動を試行すると、セーフモードの起動に失敗しその後通常起動する
- セーフモードで起動し、その後再度通常起動する
弊社でも、この問題が発生した後に「セーフモード」で起動することで回復したという報告を頂いています。急いでいる場合には、とにかくセーフモードで起動してみることをオススメします。
2-1-1. セーフモードでWindows Serverを起動する手順
セーフモードでWindows Server 2012を起動する手順を紹介します。Windows Serverの電源投入時に「Windowsマーク」が表示される前に「F8キー」を押します。
キーを押すタイミングが難しいですが、電源投入時に何度かF8キーを押す形にするとうまくいきます。
タイミングよくF8キーを押すことが出来ると「詳細ブート オプション」画面が表示されます。
ブートのオプションメニューから「セーフモード」を選択します。
ネットワーク接続が必要な場合には「セーフモードとネットワーク」を選択します。選択後に「enter」キーを押すと、通常通りにWindows Serverが起動します。
ログイン画面が表示されますので、アカウント情報を入力します。
Windows Serverがセーフモードで起動すると、ログイン後の画面の四隅に「セーフモード」と表示されます。
これでセーフモードでの起動は完了です。
2-2. サーバー障害が発生していない場合の対応方法
もし問題が発生していない場合には、Windows Updateでダウンロードされた更新プログラムを適用するまえに、対応済みの更新プログラム「KB4532920」をダウンロードして、単体で適用後に再起動することで問題を回避できます。
3. まとめ
2019年12月に発生した、Windows Server 2012 が再起動ループを繰り返す問題では、多くのサーバーが同じ症状になったようです。
原因と対応方法を理解しておくことで、障害を回避することができますので、内容をよく確認していただくことをオススメします。この現象になってしまっても、とりあえず「セーフモード」で起動すれば大丈夫です。
サーバーエンジニアには青くなる話ですが、対応方法を知っておくと、安心ですね。