一位朋友问“在PC或笔记本上,开启了CPU虚拟化。然后安装了一个VMware虚拟机,操作系统是Windows 2008 R2 DataCenter版本,VMware中设置虚拟化引擎为:Intel VT-x/EPT or AMD -v/RVI.启动虚拟机后,无法创建HYper-v角色, 提示CPU与Hyper-v不兼容,不知道为什么?”
还有一位朋友“在安装Win8 PR时,发现在安装过程中竟然出现CPU不兼容的问题,明明已经超越了最低1GHz的频率,四核以及六核CPU都有遭遇过这个问题,这又是为什么?
以上两个问题,细究起来都跟CPU的的NX/XD标志设置有关。NX位(全名“No eXecute bit”,即“禁止执行位”),是应用在CPU中的一种安全技术。在功能上,AMD的“NX”和Intel的“XD”完全相同,只是名称不同。
原理解析:支持NX技术的系统会把内存中的区域分类为只供存储处理器指令集与只供存储数据使用的两种。任何标记了NX位的区块代表仅供存储数据使用而不是存储处理器的指令集,处理器将不会将此处的数据作为代码执行,以此这种技术可防止大多数的缓存溢出式***(即一些恶意程序把自身的恶意指令集通过特殊手段放在其他程序的存储区并被执行,从而***甚至控制整台电脑系统)。这样就要求我们的CPU具备一定的安全功能,比如要支持SSE2、PAE以及NX指令,否则就会出现兼容性提示。
那么遇到这个问题该如何修改?
一、如果是物理机,需要修改BIOS
按F2进入BIOS,找到如下选项,修改为ENABLE