imvirt is a Perl script that 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: Virtual PC/Virtual Server, VirtualBox, VMware, QEMU/KVM, Xen (para and non-para virtualized), OpenVZ/Virtuozzo, UML, and any HVM providing CPUID 0x40000000 detection.