【问题标题】:Detect VMware product name from linux guest从 linux 来宾中检测 VMware 产品名称
【发布时间】:2014-05-12 15:29:38
【问题描述】:

这是否可以从 Linux 来宾检测 VMware 产品名称(ESXi、Workstation、Fusion、Player)?

我试过libvirt-what,但它在所有平台上都显示vmware

还有其他想法吗?

【问题讨论】:

  • 不,你不能。您可以在外部运行一个进程以通过 API 设置来宾信息,然后使用类似于 virtuallyghetto.com/2011/01/… 的 VMware 工具从来宾内部查询来宾信息

标签: vmware


【解决方案1】:

有一个可用的命令行工具(带有源代码!),它使用 VMware“后门”I/O 端口并可以检测虚拟机管理程序产品。见link

“获取 VMware 版本”命令的编号为 0ah,请参阅 link

【讨论】:

  • 这似乎很有希望,但我无法验证这一点。我将此答案标记为已接受。如果有人验证这一点,请添加评论。
【解决方案2】:

我不了解 ESXi,但是您可以通过这种方式检测到 QEMU - 这可能适用于 ESXi

cat /proc/cpuinfo | grep -i qemu
model name      : QEMU Virtual CPU version 1.0

或者

lspci -nn

如果您使用 ESXI 特定的 para-virt 网络驱动程序,您可以查找 ESXi 正在模拟的某些设备,这也可能会有所帮助。

或者你可以试试 virt-what 看起来很全面:

http://people.redhat.com/~rjones/virt-what/

或者 dmesg 然后 grep 用于 fusion 或 esxi ?

或 sudo dmidecode | egrep -i '制造商|产品|供应商'

可能会有所帮助。

低级别,ESXI 似乎使用 0x5658 io 端口。如果您可以制作一个程序来读取它,您可以取回 0x564D5868(或“VMXh”)。

希望以上内容对您有所帮助。请告诉我,我很想知道哪些有效

【讨论】:

  • 感谢您的回答。我还没有尝试读取 IO 端口。但所有其他方法都返回有关这是 VMware 的信息,而没有具体说明使用的是哪个产品。我给 +1 是因为您提供了许多有用的方法来检查来宾管理程序和读取 IO 端口可能是我现在无法验证的答案。
猜你喜欢
  • 2012-09-02
  • 2021-09-19
  • 2014-03-11
  • 2017-08-24
  • 2015-07-14
  • 1970-01-01
  • 2019-07-29
  • 2014-10-11
  • 1970-01-01
相关资源
最近更新 更多