imvirt logo

imvirt - I'm virtualized?



This little perl script tries to detect if it is called from within a virtualization container. This is detected by looking for well-known boot messages, directories and reading DMI (Desktop Management Interface) data.

The following containers are detected:

The tool will print exactly one line. The result has the following meaning:

Line Detected container
Physical This is a physical machine or a not detected container.
Virtual This is a virtual machine running in a not detected container.
HVM: <signature> signature of an unknown hypervisor*
VirtualBox VirtualBox
Microsoft unidentifiable Microsoft based virtualization****
Microsoft Hyper-V Microsoft Hyper-V/Virtual Server****
Microsoft VirtualPC Microsoft Virtual PC****
VMware VMware Virtual Platform
VMware (Express|ESX Server|GSX Server|Workstation) VMware Virtual Platform*
OpenVZ OpenVZ/Virtuosso*
UML User Mode Linux*
Xen Xen hypervisor
Xen (PV|HVM) Xen hypervisor*
lguest Lguest: The Simple x86 Hypervisor**
ARAnyM Atari Running on Any Machine***
LXC Linux Containers***
Parallels Parallels Workstation*****

There are simular packages for detecting virtualization containers available:


Current version is 0.9.6

There are official Debian packages available here.



There is a portable ImVirt version available. It is a self-contained perl script (using PAR Packager). There is a core and a bundle build of ImVirt Portable. The latter contains all the PAR Packager glue and has no additional dependency. Downloads are available at the releases page:

2013-08-23, Thomas Liske Valid XHTML 1.0!