Windows Server 2012 R2をvSphere ESXi環境にインストールする場合の注意点
CPUIDマスクの変更が必要とは想像していませんでした。
photo credit: VMware Fusion Beta 3 via photopin (license)
Windows Server 2012 R2をインストール
検証作業のためにWindows Server 2012 R2をvSphere ESXiにインストールすることになりました。Windows系であれば何度もインストールしているので、簡単だろうと思っていたらそうでもありませんでした。
BIOSをEFIに変更
インストール前に最初に仮想マシンを作成しますが、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をアップデートしたときにいろいろトラブルがあったので、なかなかアップデートに踏み切れないと言われていました。