現象:
VMware vSphere 4.1 をHP ProLiant サーバーにインストールしたところ
VMware vSphere 4.1 の起動時画面に以下のメッセージが表示されていた
TSC: 6391191395 cpu0:0) Init: 431: The Execute Disable/No Execute CPU feature is not enabled for this machine
内容:
「No Execute」とは、 CPUの「NX (No eXecute)」機能です。
「CPU機能「NX」がこのマシンでは有効になっていない」というメッセージです、NXを有効にします
対応:
BIOSでNXを有効設定にします
HP ProLiant サーバーの場合、
起動時「F9」、BIOS画面で[Advanced Options] - [Processor Options] - [No-Execute Memory Protection] を 「enable」に設定
参考:
NX No-Executeとは?(No-Execute Memory Protection 機能とは)
従来のx86プロセッサでは、ページテーブル(仮想アドレスから物理アドレスへの変換表)のエントリで読み取りと実行の許可属性を1つのフラグで制御しているため、読み取り可能なアドレス領域は、常に実行可能でもありました。
これに対して、NX機能を搭載したプロセッサでは、コード実行許可用フラグをページテーブルの変換エントリに設定するように機能拡張できるため、データ領域を実行不可能に設定することで、それらの領域上に上書きされた不正コードを実行できなくなります。
そんなわけで、メモリというキーワードも出ますがCPU機能になります。
0 件のコメント:
コメントを投稿