連載
» 2020年01月22日 05時00分 公開

その知識、ホントに正しい? Windowsにまつわる都市伝説(152):Azure仮想マシンのWindows Serverを「セーフモード」で起動する方法

2019年12月11日のWindows Update後、Windows Server 2012が再起動を繰り返して正常に起動できなくなることがあるという問題が、翌週明けに公式情報として明らかになりました。影響を受けた場合、「セーフモード」で起動させることで簡単に解消するという手順が示されましたが、もし問題のWindows Server 2012がAzure仮想マシンだったらそう簡単にはいきません。

[山市良,テクニカルライター]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「Windowsにまつわる都市伝説」のインデックス

Windowsにまつわる都市伝説

Windows Update、2019年の最後の更新でもやらかしちゃった

 2019年12月11日にリリースされたWindows向けの品質更新プログラムは、ホリデーシーズンを理由に、2019年最後の更新プログラムとなりました。そして、12月11日の直後からSNSで「Windows Server 2012」が再起動を繰り返して終わらないという情報が出始めました。

 翌週の12月16日、TechNetのJapan Windows Commercial Supportフォーラムで、この問題の原因と対処方法(回避策および問題発生時の対処方法)が報告され、回避策を含むサポート情報「サービススタック更新プログラム(SSU):よく寄せられる質問」が公開されました。

 この問題の詳しい原因については上記の情報を見ていただくとして、問題が発生した場合(再起動を繰り返す場合)の回避策は、起動直後に[F8]キーを押して「セーフモード」で起動を試み(1回目は失敗するようです)、セーフモードで起動してから再起動すると、次回から通常起動するというものでした(画面1)。

画面1 画面1 OSが再起動を繰り返す問題の回避策は、起動直後に[F8]キーを入力してセーフモードを選択して起動するだけ

 対処方法が示される前にこの問題に遭遇してしまった方(サーバ管理者など)は、どうやって正常化すればよいのか悩んだと思いますが、対処方法が示された今なら簡単に問題を解消できます。ただし、セーフモードで起動するためには、ローカルコンソールにアクセスできる必要があります。もし、問題が発生したサーバがMicrosoft Azureなどのクラウド上で稼働しているものだとしたらどうすればよいのでしょうか。

 また、「Windows Server 2016」からは、起動直後の[F8]キーは既定の状態では利用できなくなりました。電源のリセットを繰り返せば自動修復が始まるので、その後に起動オプションを選択することもできますが、その場合もローカルコンソールにアクセスできることが前提になります。

Azure仮想マシンなら「シリアルコンソール」がある、ただし事前準備が必要

 他のクラウドのことは分かりませんが、Azure仮想マシンの場合は「シリアルコンソール」という機能を利用することで、[F8]キーを使用してセーフモードで起動することができます。

 シリアルコンソールは、「ブート診断」が有効になっているAzure Resource ManagerデプロイのWindowsおよびLinux仮想マシンで利用できるもので、リモートデスクトップ(RDP)接続やSSH接続を使用せずに、AzureポータルからWindows Serverの帯域外管理機能であるEMS(緊急管理サービス)の「SAC(Special Administrative Console)」やLinuxの端末(ttys0)に対話的に接続することができます(画面2画面3)。

画面2 画面2 Azure仮想マシン(Windows Server)の「シリアルコンソール」ページを開いたところ
画面3 画面3 OSが起動し、「CMDコマンドを利用できます」と表示されたら「cmd」と入力してコマンドチャネルを作成し、そのチャネルに切り替えてローカル管理者の資格情報を入力すると、コマンドプロンプトにアクセスできる

 シリアルコンソールを利用したセーフモードでの起動とSACのコマンドプロンプト操作によるトラブル対応の方法は、Windows Server 2012だけでなく、「Windows Server 2008」から最新の「Windows Server, version 1909」まで共通して使える方法です(サポートは終了しましたが「Windows Server 2003」からの機能です、クライアントOSでは使用できません)。

 ただし、Windows ServerでEMSが有効になっているとしても、既定の状態ではシリアルコンソールを使用してセーフモードで起動することはできないでしょう。シリアルコンソールは[F8]キーを送信する機能がありますが、適切なタイミングで[F8]キーをローカルコンソールに送信する必要があるからです。

 つまり、今回の問題のように再起動を繰り返すようになってしまってからでは遅いのです。今回のような問題が今後も起きないとも限らないので、今のうちに準備しておきましょう。

 なお、Azure MarketplaceのWindows Serverイメージ(ただし、2018年3月以降のイメージ)であれば、EMSが有効化されており、EMSのSACを使用して再起動やシャットダウン、コマンドプロンプトへのアクセスが可能です。古いイメージからデプロイした仮想マシンやカスタムイメージをアップロードしてデプロイした仮想マシンの場合は、以下のドキュメントに従ってEMSを有効化することで、シリアルコンソールに対応することができます。

Azure仮想マシンをセーフモードで起動可能にするには

Copyright © ITmedia, Inc. All Rights Reserved.

編集部からのお知らせ

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。