ソフトウェア開発者の日常

こだわりなく書きたいことを書いていきます。

Windows Server 2012 R2をvSphere ESXi環境にインストールする場合の注意点

CPUIDマスクの変更が必要とは想像していませんでした。
f:id:AJYA:20150217053959j:plain
photo credit: VMware Fusion Beta 3 via photopin (license)

Windows Server 2012 R2をインストール

検証作業のためにWindows Server 2012 R2をvSphere ESXiにインストールすることになりました。
Windows系であれば何度もインストールしているので、簡単だろうと思っていたらそうでもありませんでした。

BIOSEFIに変更

インストール前に最初に仮想マシンを作成しますが、vSphere ESXiが最新ではないためか、インストールするOSの選択肢にWindows Server 2012 R2が表示されませんでした。
Windows Server 2012は表示されたので選択して仮想マシンを作成し、Windows Server 2012 R2をインストールしました。

インストール中に再起動が行われると、Windowsの起動中の画面のまま30分経っても変化はありません。
原因はWindows Server 2012 R2がEFI BIOSを必要としていたからでした。

Windows Server 2012 R2をインストール後にEFI BIOSに変更すると、OSが見つからなくなります。
そのためEFI BIOSにするのは、仮想マシンを作成後に設定変更をしなければならず、再インストールとなりました。

CPUIDマスクを変更

EFI BIOS仮想マシンを用意して再度Windows Server 2012 R2をインストールすると、OSが起動してログインまでできるようになりました。

Windows Updateをしようと操作をしていると、エラーメッセージが表示され再起動しなければならない状態になりました。
エラーメッセージには、「CRITICAL_STRUCTURE_CORRUPTION」と書かれていたので検索すると、以下のページが見つかりました。

VMware KB: Windows 8.1/Windows Server 2012R2 virtual machines fail with a blue screen and report the error: CRITICAL_STRUCTURE_CORRUPTION

内容を読むと、vSphere ESXi 5.0 Update 3にするか、 CPUIDマスクを変更しないと、対処できないことがわかりました。
vSphere ESXi 5.0 Update 3にするのは管理者ではないのでできないので、CPUIDマスクを変更したところ2日以上再起動することはなく動作しました。

逐次vSphere ESXiがアップデートされていれば気づかなかったかも

仮想マシン作成時にWindows Server 2012 R2がなかったので、今回のようなことが起きたのではないかと予想しています。
管理者の方は、以前vSphere ESXiをアップデートしたときにいろいろトラブルがあったので、なかなかアップデートに踏み切れないと言われていました。