Skip navigation

ESXi 5.0 までは CPUの NX/XD bit (以下 NXbit)が有効でなくても ESXi を使えていましたが、

ESXi 5.1 からは NXbit 有効化が必須になりました。

※NXbitは、CPUのもつセキュリティ機能です。(バッファオーバーランを防止する)

 

ためしにESXi 5.1 を NXbit無効にして起動してみると、死のパープルスクリーン(PSOD)になりました。

no_nx_psod.png

 

ちなみに、ESXi 5.0 で NXbitがどうなっているかは下記で確認できます。

ESXi を 5.0 → 5.1 にバージョンアップしたりする場合は、事前に確認しておくとよいです。

  1. ESXi に直接ログイン(DCUIで直接ログイン or SSH)して、
  2. vim-cmd hostsvc/hosthardware コマンドを実行します。
  3. cpuFeature の下の edxレジスタのビットを確認します。
    ※CPUが複数あると、いくつが出ますが全部同じ値のはずです。


下記の赤字のビットを確認します。

コマンドラインの中の「2147483647」は、NXbitの確認で必要が部分のみをgrepするために入れてあります。

( 0x80000001 を DWORDの10進数に変換 = -2147483647 )

 

まず ESXi のバージョンを確認。

~ # vmware -v
VMware ESXi 5.0.0 build-623860

 

NXbit が無効な場合(このままではESXi 5.1 インスール不可)

※ESXi 5.0 なので、NXbit が無効でも ESXi が起動しています。

~ # vim-cmd hostsvc/hosthardware | grep -e level -e edx | grep 214748347 -A1 | tail -2
level = -2147483647,
edx = "0010:1000:0000:0000:0000:1000:0000:0000",

 

NXbit が有効な場合

~ # vim-cmd hostsvc/hosthardware | grep -e level -e edx | grep 2147483647 -A1 | tail -2
level = -2147483647,
edx = "0010:1000:0001:0000:0000:1000:0000:0000",

 

ESXi 5.1 でも同様に確認できます。

~ # vmware -v
VMware ESXi 5.1.0 build-799733
~ # vim-cmd hostsvc/hosthardware | grep -e level -e edx | grep 2147483647 -A1 | tail -2
level = -2147483647,
edx = "0010:1000:0001:0000:0000:1000:0000:0000",

 

詳しくは、下記を参照。

Checking cpuinfo information on an ESXi host

http://kb.vmware.com/kb/1031785

 

無効になっていた場合は、

ESXi をインストールするサーバの BIOS で有効化が必要です。