Come controllare se si lavora su una macchina virtuale o fisica in Linux

In questo tutorial, vedremo il comando usato per sapere se stiamo lavorando su una macchina virtuale o fisica.

Il comando si chiama dmidecode | grep Product

VMWare:

# dmidecode | egrep -i ‘manufacturer|product’
Manufacturer: VMware, Inc.
Product Name: VMware Virtual Platform

Microsoft VirtualPC:

# dmidecode | egrep -i ‘manufacturer|product’
Manufacturer: Microsoft Corporation
Product Name: Virtual Machine

QEMU or KVM:

# dmidecode | egrep -i ‘vendor’
Vendor: QEMU

Virtuozzo:

# dmidecode
/dev/mem: Permission denied

Xen:

# dmidecode | grep -i domU
Product Name: HVM domU

*QEMU, per esempio, non riporta il “Manufacturer” in tutte le versioni.

Come controllare i dischi per l’identificazione virtuale:

VMWare:

# cat /proc/ide/hd*/model
VMware Virtual IDE CDROM Drive
# cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: VMware Model: Virtual disk Rev: 1.0
Type: Direct-Access ANSI SCSI revision: 02

Microsoft VirtualPC:

# cat /proc/ide/hd*/model
Virtual HD
Virtual CD

QEMU, KVM, or Xen:

# cat /proc/ide/hd*/model
QEMU HARDDISK
QEMU DVD-ROM

Virtuozzo:

# ls -al /dev/vzfs
b—–x— 1 root root 0, 19 2009-04-06 15:04 /dev/vzfs

Se avete suggerimenti per altri ambienti virtualizzati, fatemelo sapere e io li aggiungerò alla lista.