在linux系统中搭建kvm虚拟机、运行嵌套虚拟化或者测试各类虚拟化技术时,第一步都需要确认cpu是否支持硬件虚拟化。不少新手卡在这一步不知道怎么操作,其实只需要简单几步就能快速得到结果,下面分享两种通用的查询方法。

方法一:读取系统cpuinfo信息,无需额外安装软件
所有linux发行版都自带了cpuinfo文件,存储了cpu的全部硬件参数,我们只需要过滤虚拟化相关的标志位就能得到结果。其中intel平台cpu的硬件虚拟化标志为`vmx`,amd平台的对应标志为`svm`,只需要打开终端输入命令:`cat /proc/cpuinfo | grep -e 'vmx|svm'`。执行完成后如果终端有输出内容,说明你的cpu本身支持硬件虚拟化;如果没有任何输出,则说明要么cpu本身不支持,要么虚拟化功能被系统或主板关闭。这个方法无需安装任何软件,十几秒就能出结果,适合绝大多数场景使用。

方法二:使用cpuid工具查询,结果更直观易懂
如果觉得分辨标志位太麻烦,可以安装专门的cpuid工具获取更直白的结果。不同发行版的安装命令略有区别:debian/ubuntu系输入`sudo apt install cpuid`,centos/rhel系输入`sudo yum install cpuid`,安装完成后执行命令`cpuid | grep -i virtualization`,工具会直接输出是否支持硬件虚拟化,明确标注intel vt-x或amd-v的支持状态,对新手非常友好。
注意事项:cpu支持不代表可用,别忘了检查设置
不少用户查到cpu支持虚拟化,却依然无法创建虚拟机,最常见的原因是主板bios/uefi中默认关闭了虚拟化功能,你需要重启电脑进入bios设置,找到「intel vt-x」「amd-v」或「虚拟化技术」选项,手动开启后保存重启即可。另外如果你是在云服务器或现有虚拟机中查询,大部分服务商默认不开启嵌套虚拟化,需要在管理后台手动开通才能使用。
总的来说,近几年推出的cpu基本都支持硬件虚拟化,用第一种方法就能快速完成查询,遇到问题再排查设置即可,整个过程非常简单,全文约635字。































