机房有两台更换来下的DL380G5的机器,内存16G,闲置了有点可惜,最近想拿来测试下Win2012,系统安装一些正常,在添加Hyper-V角色时,却提示CPU不支持虚拟化或是未开启虚拟支持,没法安装!查看CPU型号:E5405,GOOGLE/BING一下,发现CPU是支持的,于是重启,进到BIOS中打虚拟化的相关选项,老版本的BIOS,位置如下:

Advanced options \Processor Options\Intel(R) Virtualization Technology

设置为Enable保存,关机重开,Hyper-V角色顺利安装完成!接下来创建虚拟机,创建后,却无法启动虚拟机,报如下错误:

刚才明明已经开启了虚拟化选项,怎么还提示未开启虚拟化功能?难道CPU 不支持2012的Hyper-V ,看了下Hyper-V的条件:

Windows Server 虚拟化需要特定的CPU:

- 基于 x64: Windows Server 虚拟化功能只在 x64 版本的 Windows Server 2008 标准版、企业版和数据中心版中提供。

- 硬件辅助虚拟化: 需要具有虚拟化选项的特定CPU,即包含 Intel VT(Vanderpool Technology)或 AMD Virtualization (AMD-V,代号 "Pacifica")功能的CPU。

- 硬件数据执行保护(DEP),而且被开启(如果CPU支持 Server 2008 默认开启)。

以上两点都满足,那就找第三点,但BIOS中,并没有看到类似的选项,!

DEP - 数据执行保护的缩写,Data Execution Prevention

查了半天,原来各厂商此叫法不一样:

HP BISO中的名称:No-Execute Memory Protection

Dell BISO中的名称:Execute Disable
IBM BISO中的名称:Execute Disable Bit

原因找到,再次进到BISO中,还真有此选项:No-Execute Memory Protection,

设置Enalbed,保存,重开机,进到系统中,再开启动虚拟机,正常启动!