从 Linux 操作系统来看,有没有办法确定操作系统是否在虚拟化 VMware 环境中作为客户操作系统运行,而不是直接在非虚拟化/裸机/物理主机上运行?就我而言,它要么是 VMware,要么不是,但我还对更普遍的问题感兴趣,即操作系统是在物理硬件上还是在任何类型的虚拟化硬件上。
答案1
在 VMware 中:
# dmidecode --string system-product-name
VMware Virtual Platform
在 Virtualbox 中相同的命令输出VirtualBox
答案2
在较新的系统上,“lscpu”命令会为您提供所需的信息,包括虚拟机正在哪个虚拟机管理程序上运行。
答案3
您可以查看以下输出:
- 虚拟什么
- 猫/proc/cpuinfo
- 解码
- 串行通信
- 瘦身
- 信息
其中任何一个都会打印各种内容,指向是否正在使用虚拟化平台以及使用哪种虚拟化平台。