Hyper-V上のゲストOSでSTOPコード:c0000218が出てOSが死んでた

Windows2003_STOP_Code_c0000218_01.jpg
かねてより調子の悪かったWindows Server 2008 R2で予期せぬアクシデント。
Hyper-V上のゲストOS Windows Server 2003が死んでたー。
このゲストOS、実はActive DirectoryとWindows Server Update Servicesを兼任してまして、なんかWindowsパッチ配信されないなーっと思ったらこの有様ですよ。

STOPコードでググってみると、次の記事がヒット。
Windowsが起動しない STOP: c0000218 Unknown Hard Error - パソコンドクターWIN
とりあえずチェックディスクかければ直るらしいですね。
そんな訳で、早速試してみたー。

Windows2003_STOP_Code_c0000218_02.jpgWindows2003_STOP_Code_c0000218_03.jpgWindows2003_STOP_Code_c0000218_04.jpg
やり方自体はとても簡単で、まずはWindowsインストールCDでマシンを起動。
その後に「R」キーを押して、回復コンソールを実行。
キーボードの種類聞いてくるので、自分の環境を選んで「Y」キーです。

Windows2003_STOP_Code_c0000218_05.jpgWindows2003_STOP_Code_c0000218_06.jpg
すると黒い画面に切り替わり、ログインするOSを聞かれます。
マシンに一つのOSしかはいってない場合は、数字の「1」を押してエンターキーでOK。
管理者パスワードを聞かれるので入力すれば、コマンド実行可能になります。

そして「chkdsk /r」を実行すれば・・・・・・、あれ?
ボリュームに回復できない問題が1つ以上あります。
何これ?美味しいの???

気を取りなおして「dir」や「cd」など、他のコマンドを実行してみた。
指定したパスまたはファイルは無効です。
使えたコマンドは「help」と「cls」など、どうでもいいコマンドばっかり。
あーぁ、どうやらWindowsフォルダ自体が吹っ飛んだ気がする(笑)
起動時にWindowsロゴの表示までは行けてたんですけどね。


元々、ホスト側のWindows2008にて毎月1回は無反応になる謎の現象が出ており、症状回避のため週次リブートを設定してたんですよね。
その後しばらくは快適だったんですが、どうやらゲストOSが停止状態になる前に、ホストOSが待ち時間切れ(タイムアウト)して強制的にリブートした感じがします。
再起動自体は「shutdown /r /t 0」そのままだったんで、再起動前にバッチでゲストOSを停止させたりした方がよかったかもしれない。

コマンドによるゲストOSシャットダウンは、この辺り参照で実現できそう。
Hyper-Vゲスト環境管理法 - @IT
Jumboのブログ! - Hyper-Vの仮想マシン達をコマンドでシャットダウンや起動をさせる方法
あとはHyper-Vでの設定で、自動開始アクションを「常にこの仮想マシンを自動的に起動する」を設定しておけば、状態が停止(サスペンド)の場合はたぶん自動起動が行けるかと。
Windows2003_STOP_Code_c0000218_07.jpg
ここの設定が効かなかったときの保険で、ローカルグループポリシーでのコンピューターのスタートアップに起動バッチ登録と、あと確実にリブート完了後だと思われる時間帯にゲストOSの起動を確認・未起動の場合起動するバッチをタスク実行させれば完璧ですな。
そうすれば、状態がオフの場合でも実行されますし。

まー、Windows Server 2008をリブート運用せずに動くマシンを買えば根本解決ですけどね(笑)


自宅だけど、バックアップ設計書とかリカバリ手順書とか必要ですな。やっぱり。
本番開始前のバックアップも必須と感じた。
今度から作って運用するかぁ・・・、メンドクサイ。

| コメント(0) | トラックバック(0) |

FXを始めるなら、まずはバーチャルで腕試し。DMM FXバーチャル取引で賞金100万円のチャンス!

トラックバック(0)

トラックバックURL: http://type-y.com/mt/mt-tb.cgi/1164

コメントする