imvirt logo

imvirt - I'm virtualized?

home

Description

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
HVM: <signature> signature of an unknown hypervisor*
VirtualBox VirtualBox
Virtual Machine Microsoft Virtual PC/Virtual Server
VMware VMware Virtual Platform
VMware (Express|ESX Server|GSX Server|Workstation) VMware Virtual Platform*
OpenVZ OpenVZ/Virtuosso*
Physical This is a physical machine or a not detected container.
QEMU QEMU/KVM (based)
UML User Mode Linux*
Xen Xen hypervisor
Xen 3.x (PV|HVM) Xen hypervisor*
lguest Lguest: The Simple x86 Hypervisor**
ARAnyM Atari Running on Any Machine***
LXC Linux Containers***

*) available since imvirt 0.3
**) available since imvirt 0.9.1
***) available since imvirt 0.9.3

There are simular packages for detecting virtualization containers available:

Downloads

Current version is 0.9.5 (view ChangeLog).

Source packages can be found here.

There are official Debian packages available here.

VCS: https://github.com/DE-IBH/imvirt

Portable

There is a portable ImVirt version (imvirtp) available. It is a self-contained perl script (using PAR Packager). Downloads are available at github.


2012-11-17, Thomas Liske Valid XHTML 1.0!