mdp*_*dpc 47 virtualization linux
一个有趣的问题。我已经登录到 Linux(很可能是 SuSE)主机。有什么方法可以通过编程方式告诉我我是不是 VM 主机?
还假设未安装 vmtools。
小智 29
使用标准 Linux 工具检查系统上的硬件。
cat /proc/scsi/scsi
Run Code Online (Sandbox Code Playgroud)
或者
ethtool -i eth0
Run Code Online (Sandbox Code Playgroud)
或者
dmidecode | grep -i vmware
Run Code Online (Sandbox Code Playgroud)
如果这些命令的输出显示制造商名称为“VMWare”的硬件,则您使用的是 VMWare VM。由于系统配置和工具不同,这里提供了多个命令。
小智 13
facter virtual
xenu
Run Code Online (Sandbox Code Playgroud)
表示它是一个虚拟机。如果它返回“物理”,则相反(不是虚拟机),例如:
facter virtual
Physical
Run Code Online (Sandbox Code Playgroud)
Zor*_*che 11
您或许可以通过在 下查看来了解和了解/sys
。例如/sys/class/dmi/id/sys_vendor
,值为VMware, Inc.
。
如果已安装,您可以使用lshw。该命令lshw -class system
在我的系统上返回此信息:
server1
description: Computer
product: VMware Virtual Platform
vendor: VMware, Inc.
version: None
serial: VMware-...
width: 64 bits
capabilities: smbios-2.4 dmi-2.4 vsyscall64 vsyscall32
Run Code Online (Sandbox Code Playgroud)
一些虚拟环境将它们的一些虚拟设备命名为有点明显的名称,例如,VirtualBox 展示了一个自称为“VirtualBox 显示适配器”的图形卡。但是,寻找那些将您与特定 VM 以及可能范围狭窄的版本联系起来的人。
您的代码可能会看到它可以设置什么样的虚拟化。如果完全失败,则您可能在虚拟机中。但是您可能很容易在一个没有任何支持 VM 的硬件的机器上。
归档时间: |
|
查看次数: |
100011 次 |
最近记录: |