如何确定Linux操作系统是否在虚拟硬件或物理硬件上?

从Linux操作系统,有没有一种方法可以确定操作系统是作为虚拟化VMware环境中的来宾操作系统运行,而不是直接在非虚拟化/裸机/物理主机上运行? 在我的情况下,它是VMware或不是,但我也感兴趣的更一般的问题,操作系统是否在物理硬件或任何forms的虚拟化硬件。

在VMware中:

# dmidecode --string system-product-name VMware Virtual Platform 

在Virtualbox中,同样的命令输出VirtualBox

在较新的系统上,命令“lscpu”为您提供了所需的信息,包括运行虚拟机的虚拟机pipe理程序。

你可以看看下面的输出:

  • VIRT-什么
  • cat / proc / cpuinfo
  • 的dmidecode
  • lspci的
  • lshw
  • HWINFO

其中的任何一项都会打印出各种应该指出的东西,以及正在使用的虚拟化平台。