En virtuell maskin består av ett operativsystem, programfiler och datafiler, och det kräver ett virtualiseringsprogram för att köras. Varje maskin består av olika virtuella maskinfiler, inklusive en virtuell hårddiskfil, konfigurationsfil och suspenderad-tillståndsfil. Andra vanliga filer inkluderar loggfiler, diskettavbildningsfiler och speciella interna filer som vissa virtualiseringsprogram behöver för att maskinen ska köras.
Virtuella hårddiskfiler är vanligtvis de största av alla virtuella maskinfiler och innehåller den virtuella maskinens operativsystem, programfiler och eventuella personliga data som lagras i det virtuella operativsystemet. Vissa virtualiseringsprogram lagrar all virtuell hårddiskdata i en enda stor fil, men andra delar upp den virtuella hårddisken i mindre delar för enklare lagring och säkerhetskopiering. När man ställer in en virtuell maskin har han eller hon ofta alternativ att ställa in en fast storlek för hårddisken eller låta den expandera till en viss gräns. Även om de flesta virtuella maskiner har minst en hårddisk, kan de inkludera ytterligare enheter.
Virtuella maskinfiler inkluderar även konfigurationsfiler som används för att bestämma varje virtuell maskins hårdvaruinställningar och alternativ. Virtualiseringsprogram skiljer sig åt i de konfigurationsalternativ de gör tillgängliga, men användare kan i allmänhet välja hur mycket minne maskinen använder, hur stor hårddisken är, hur många processorer eller kärnor som används och hur den virtuella maskinen använder den fysiska maskinens optiska enhet. Andra alternativ inkluderar mappdelning, utskriftsalternativ, video- och ljudinställningar, nätverksinställningar och universal serial bus (USB) enhetsalternativ. Varje alternativ stöder ofta ytterligare avancerade inställningar som erfarna användare kan implementera.
De flesta virtualiseringsprogram tillåter användare att tillfälligt stänga av en virtuell maskin i dess nuvarande tillstånd, så varje virtuell maskin innehåller ofta en fil som innehåller information om maskinens tillstånd när användaren pausade den. När användaren sätter på maskinen igen, använder virtualiseringsprogrammet filen för att återställa det virtuella operativsystemets miljö och eventuella öppnade program eller filer. Den här filen skrivs över varje gång en virtuell maskin stängs av och återställs.
Andra virtuella maskinfiler inkluderar virtuella diskettbilder, loggfiler och interna filer som virtualiseringsprogrammet använder för att hjälpa det att ladda virtuella maskiner korrekt. När en användare säkerhetskopierar en maskin med vissa program, kan processen också skapa en speciell säkerhetskopia som hjälper användaren att importera den virtuella maskinen till ett annat program. Även om de flesta virtualiseringsprogram inkluderar dessa olika filer, varierar tillägget som används för varje filtyp kraftigt.