如何从C ++中的来宾OS X确定虚拟机类型?

时间:2015-02-12 14:25:27

标签: macos virtual-machine virtualbox parallels vmware-fusion

如何从来宾OS X确定虚拟机类型?

设置如下。 主机操作系统是OS X,客户操作系统也是OS X. 以及下列虚拟机之一VMware Fusion,Parallels或Virtual Box。

是否可以通过C ++代码以编程方式检测虚拟机类型?

我只针对VMware Fusion提供解决方案。 cpuid assembler命令返回CPU供应商的VMwareVMware字符串。所以很容易。

但是Parallels和Virtual Box呢? 我根本不知道。

1 个答案:

答案 0 :(得分:1)

我以平行方式运行ubuntu,并且许多设备报告由Parallels,Inc。制造。例如:

user@ubuntu:~$ lspci | grep Parallels
00:03.0 Unassigned class [ff00]: Parallels, Inc. Virtual Machine Communication Interface
01:00.0 VGA compatible controller: Parallels, Inc. Accelerated Virtual Video Adapter

在OS X中,system_profiler命令返回大量有关系统的信息。我没有虚拟机来测试它,但我猜是

system_profiler | grep Parallels

会让你走上正轨。