商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 系统应用 > Linux怎么查看CPU是否支持虚拟化

Linux怎么查看CPU是否支持虚拟化

  发布于2026-07-13 阅读(0)

扫一扫,手机访问

很多人以为,只要在终端里敲一句 `grep -E "vmx|svm" /proc/cpuinfo` 有输出,就说明CPU支持虚拟化、KVM随便用。其实这个判断很粗糙,甚至可能误导你折腾半天。真正让KVM跑起来,还得看BIOS、内核模块、设备权限,一个环节掉链子都不行。而 `kvm-ok` 这个工具,才是验证真实运行环境最靠谱的办法——它模拟了QEMU/KVM启动时的完整依赖链,比光查 `vmx` 标志管用得多。

Linux怎么查看CPU是否支持虚拟化

grep vmx 或 svm 只说明硬件能力,不等于能用

执行 grep -E "vmx|svm" /proc/cpuinfo 有输出,只代表 CPU 芯片本身支持 VT-x(Intel)或 AMD-V(AMD)。但常见断点在 BIOS 层:很多 OEM 主板默认关闭虚拟化,或恢复默认设置后自动关掉。部分低功耗 Intel CPU(如 J 系列、老 Atom)压根没 vmx 指令,即使 BIOS 开启也查不到。

若命令无输出,先确认 CPU 型号是否本就不支持(查 Intel ARK 或 AMD 官网);有输出但 KVM 不工作,优先进 BIOS 找“Intel Virtualization Technology”或“SVM Mode”,确保设为 Enabled。某些主板选项名很隐蔽,比如叫 “Processor Virtualization” 或“Secure Virtual Machine”。

kvm-ok 是最贴近真实使用场景的检测方式

kvm-ok 不仅检查 /proc/cpuinfo,还会验证 /dev/kvm 是否可访问、kvm_intelkvm_amd 模块是否已加载、当前用户是否有权限。它模拟的是 QEMU/KVM 启动时的真实依赖链。

  • 未安装时:sudo apt install cpu-checker(Debian/Ubuntu),sudo yum install cpu-checker(RHEL/CentOS)
  • 运行 sudo kvm-ok,输出 KVM acceleration can be used 才算真正过关
  • 若提示 Operation not permitted,大概率是 Secure Boot 阻止了 kvm_intel 加载,临时禁用 Secure Boot 再试

lsmod | grep kvm 必须看到对应模块

lscpu | grep Virtualization 显示“VT-x”并不保险——内核模块可能根本没加载。KVM 依赖 kvm_intel(Intel)或 kvm_amd(AMD)提供底层指令支持,缺一不可。

运行 lsmod | grep kvm,应至少看到一行含 kvm_intelkvm_amd,且前面没有 unused 标记。

  • 若为空,手动加载:sudo modprobe kvm_intel(Intel)或 sudo modprobe kvm_amd(AMD)
  • 加载失败常见于:Secure Boot 启用、内核版本太旧(5.4 以下对某些新 CPU 支持不全)、模块被黑名单(检查 /etc/modprobe.d/blacklist.conf

嵌套虚拟化下所有本地检测都可能“骗人”

如果宿主机本身跑在 VMware 或 VirtualBox 里,而外层没开 “Nested VT-x” 选项,此时 grep vmxlscpulsmod 全部显示正常,但 /dev/kvm 仍不可用。这种情况下,kvm-ok 会明确报错,比查 vmx 标志管用得多。

最容易被忽略的是权限问题:当前用户必须属于 kvm 组(sudo usermod -aG kvm $USER),且需重新登录生效;/dev/kvm 权限必须是 crw-rw----,否则即使模块加载成功也会被拒绝访问。

本文转载于:https://www.php.cn/faq/2812786.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注