Detect execution in a virtualized environment
systemd-detect-virt [OPTIONS...]
systemd-detect-virt detects execution in a virtualized environment. It identifies the virtualization technology and can distinguish full VM virtualization from container virtualization.
When executed without --quiet will print a short identifier for the detected virtualization technology. The following technologies are currently identified: qemu, kvm, vmware, microsoft, oracle, xen, bochs, chroot, uml, openvz, lxc, lxc-libvirt, systemd-nspawn.
If multiple virtualization solutions are used, only the "innermost" is detected and identified. That means if both VM virtualization and container virtualization are used in conjunction, only the latter will be identified (unless --vm is passed).
The following options are understood:
-c, --container
Only detects container virtualization (i.e. shared kernel virtualization).
-v, --vm
Only detects VM virtualization (i.e. full hardware virtualization).
-q, --quiet
Suppress output of the virtualization technology identifier.
-h, --help
Print a short help text and exit.
--version
Print a short version string and exit.
If a virtualization technology is detected, 0 is returned, a non-zero code otherwise.