XenServer6.1では、Widows8が試験的にサポートされており、仮想マシンのテンプレートが用意されています。
この仮想マシンのテンプレートを使用して Windows8(32bit)(評価版)をインストールしようとしたのですが、下図のような 0x0000005D エラーが表示されインストールできませんでした。
Googleで検索してみると、仮想マシンのパラメータ(platform:viridian)を変更したら成功したとういう記事が、たくさんありました。
試しに、以下のように、"win8"という名称の仮想マシンのパラメータを変更してみました。
# xe vm-list name-label=win8 uuid ( RO) : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx name-label ( RW): win8 power-state ( RO): halted # xe vm-param-set uuid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx platform:viridian=falseしかし、私の環境では、パラメータ(platform:viridian)を変更しても、同じエラーでインストールに失敗しました。
そこで、こんどは、Citrix の Knowledge Center で調べたところ、以下の「Windows Server 2012 での 0x0000005D エラーの対処方法」が見つかりました。
これによると、XenServerをインストールしたホストマシンのBIOS設定を変更する必要があるそうです。
変更するパラメータは、CPU の "No-Execute Memory Protection" で、設定値を "Enable" にします。
私のマシンのBIOS設定を確認してみると、"No-Execute Memory Protection" が "Disable" になっていました。
そこで、"No-Execute Memory Protection"を"Enable" に変更したところ、Windows8のインストールに成功しました。
ちなみに、仮想マシンのパラメータ(platform:viridian)は変更していません。
なお、参考までに、Windows8をインストールしたXenServer6.1には、以下のようなパッチをインストールしています。
# xe patch-list | grep name-label name-label ( RO): XS61E001 name-label ( RO): XS61E004 name-label ( RO): XS61E003 name-label ( RO): XS61E008 name-label ( RO): XS61E006 name-label ( RO): XS61E009 name-label ( RO): XS61E010 name-label ( RO): XS61E013 name-label ( RO): XS61E012 name-label ( RO): XS61E014