检测和开启硬件的虚拟化支持

在用虚拟机软件时,如果 Host OS 的硬件支持并开启 VT,将提升虚拟机的运行效率。在安装和使用虚拟机软件之前,应该检查本机的虚拟化情况。

1. 检查是否支持虚拟化

在 Linux 上可执行:

$ egrep '(vmx|svm)' /proc/cpuinfo

如果有返回值,表示支持。

在 Windows 上,可用微软的检测工具 Hardware-Assisted Virtualization Detection Tool 检查。

1.1 HP Z220

执行检查命令后,得到四行这样的文本:

flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms

我的 CPU 是4核的,所有同样的内容出现4次。

1.2 联想昭阳 E47A

在 Win7 中使用微软工具检查结果如下:

Does Lenovo E47A support VT?

1.3 DELL PowerEdge T110 II

执行检查命令后,得到四行这样的文本:

flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms

可见以上三台机器的硬件都是支持 VT 的,但光支持还不够,一般机器默认是关闭 VT 的,需要手动到 BIOS 里去开启。

2. 开启虚拟化

开启 VT 的操作在 BIOS 里执行,但不同的主板操作方式可能有不同,这里列举以上三种硬件平台开启 VT 支持的操作方法:

2.1 HP Z220

启动时按 F10 进入 BIOS,如下图设置:

Open VT on HP Z220

图片来源:http://h30434.www3.hp.com/t5/Desktop-Hardware/z220-hyper-v/td-p/2178695

2.2 联想昭阳 E47A

按 F2 进入BIOS 进行设置。

菜单路径是:[F2] -> [Configuration] -> [Intel Virtual Technology]

这是一个比较普通的主板。

2.3 DELL PowerEdge T110 II

它的 BIOS 设置应该是最麻烦的了,详细步骤如下:

1. 按F11 进入 BIOS

2. System Utilities

3. System Setup, 选择并回车后,还有一个确认框,需按 Y 继续

4. Processor Settings

5. Virtualization Technology, 默认是 Disabled 的,依屏幕底部的提示,按空档键修改值为 Enabled

6. 保存并退出。

参考