Le macchine virtuali sono implementazioni software di sistemi informatici tramite hardware, software o una combinazione di entrambi. Possono rappresentare un sistema operativo (OS) completo come macchina virtuale di sistema o un singolo programma come macchina virtuale di processo. I vantaggi di una macchina virtuale sono che possono avere più ambienti del sistema operativo eseguiti sulla stessa unità e consentire la condivisione di file virtuali e che hanno il ripristino dei dati intrinseco per la maggior parte dei casi. Lo svantaggio è che quando le unità vengono eseguite contemporaneamente nel sistema, esiste la possibilità di prestazioni instabili.
Virtual Hard Disk (VHD) è il tipico formato di file utilizzato come disco rigido di una macchina virtuale. Un'altra opzione di formato di file open source sviluppata da VMware è un VMDK (Virtual Machine Disk) per contenere dischi rigidi virtuali.