晓夏

YoungCheung

Zhang Sir's technical way

如何判断当前主机是物理机还是虚拟机

浏览量:1557

一、Windows

在CMD里输入:

Systeminfo | findstr /i "System Model"

注意:如果System Model:后面含有Virutal就是虚拟机,其他都是物理机

或者用powershell命令:

get-wmiobject win32_computersystem | fl model


二、Linux

1、dmidecode -s system-product-name

各类虚拟化返回情况

VMware Workstation

root@router:~# dmidecode -s system-product-name
VMware Virtual Platform

VirtualBox

root@router:~# dmidecode -s system-product-name
VirtualBox

Qemu with KVM

root@router:~# dmidecode -s system-product-name
KVM

Qemu (emulated)

root@router:~# dmidecode -s system-product-name
Bochs

Microsoft VirtualPC

root@router:~# dmidecode | egrep -i 'manufacturer|product'
Manufacturer: Microsoft Corporation
Product Name: Virtual Machine

Virtuozzo

root@router:~# dmidecode
/dev/mem: Permission denied

Xen

root@router:~# dmidecode | grep -i domU
Product Name: HVM domU

2、lshw  -class system

各类虚拟化返回情况

KVM

mungr                     
    description: Computer
    product: KVM
    vendor: Red Hat
    width: 64 bits
    capabilities: smbios-2.4 dmi-2.4 vsyscall64 vsyscall32

Virtual Box

fedora17                  
    description: Computer
    product: VirtualBox ()
    vendor: innotek GmbH
    version: 1.2
    serial: 0
    width: 64 bits
    capabilities: smbios-2.5 dmi-2.5 vsyscall32

VMWare

partedmagic
    description: Computer
    product: VMware Virtual Platform ()
    vendor: VMware, Inc.
    version: None
    serial: VMware-56 4d 94 a0 53 e3 f3 c6-f9 a6 eb 1a 89 70 04 57
    width: 32 bits
    capabilities: smbios-2.4 dmi-2.4 smp-1.4 smp

3、dmesg |grep -i virtual

各类虚拟化返回情况

VMWare

VMware vmxnet virtual NIC driver
 Vendor: VMware    Model: Virtual disk      Rev: 1.0 
hda: VMware Virtual IDE CDROM Drive, ATAPI CD/DVD-ROM drive

QEmu or KVM

If the "-cpu host" option has not been used, QEmu and KVM will identify themselves as:

CPU: AMD QEMU Virtual CPU version 0.9.1 stepping 03

otherwise, the host's CPU information will be used both in dmesg, or in /proc/cpuinfo. However, you should see something like:

[    0.000000] Booting paravirtualized kernel on KVM

In newer kernels that understand that they're running under paravirtualization.

Microsoft VirtualPC

hda: Virtual HD, ATA DISK drive
hdc: Virtual CD, ATAPI CD/DVD-ROM drive

Xen

$ sudo dmesg | grep -i xen
Xen virtual console successfully installed as tty1

Virtuozzo

# method #1
$ sudo dmesg
(returns no output)

# method #2
$ sudo cat /var/log/dmesg
(returns no output)

# method #3
$ sudo ls -al /proc/vz
veinfo  veinfo_redir  veredir  vestat  vzaquota  vzdata

注意:如果结果返回virtual,那么就是虚拟机,其他都是物理机。

参考:https://unix.stackexchange.com/questions/89714/easy-way-to-determine-virtualization-technology

神回复

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

  • 宝宝 回复该评论

    dmidecode -s system-product-name Linux没有这个命令咋整

    发布于 2018-01-03 20:08:02

    • 张sir 回复该评论

      命令没有可以安装上:这个命令是kernel-utils这个包里面的

      发布于 2018-02-07 09:43:41