Máquina Virtual baseada em Núcleo (em inglês: Kernel-based Virtual Machine (KVM)), é uma infraestrutura de virtualização, integrada ao Linux. Atualmente a KVM suporta virtualização nativa usando Intel VT ou AMD-V. Suporte limitado a paravirtualização também está disponível para hóspedes Linux e Microsoft Windows na forma de um driver de rede paravirtual, um driver de dispositivo de entrada/saída (disco), um driver recipiente para afetar a operação do gerenciador de memória virtual do hóspede, e otimizações de processamento para hóspedes Linux.
Atualmente transportes para as arquiteturas S390, PowerPC, and IA64 estão sendo desenvolvidos. A primeira versão da KVM foi incluída no Linux 2.6.20 (fevereiro de 2007). Também foi transportada para o FreeBSD como um módulo de núcleo carregável.
Uma gama de sistemas operativos hóspedes funcionam na KVM, incluindo vários sabores de GNU/Linux, BSD, Solaris, Microsoft Windows, Haiku, ReactOS, AROS, e uma versão remendada da KVM que é capaz de Mac OS X.
Projeto e licenciamento
Por si só, KVM não realiza nenhuma emulação. Ao invés disso, um programa de espaço de usuário usa a interface /dev/kvm para instalar o espaço de endereçamento da máquina virtual hóspede, alimenta-a com E/S simulada e mapeia o seu visor de vídeo para o do hospedeiro. Pelo menos dois programas aproveitam este recurso: uma versão modificada do Qemu e o próprio Qemu, desde a versão 0.10.0.
Partes da KVM são licenciadas sob várias licenças GNU:
- Módulo de núcleo do KVM: GPL v2
- Módulo de usuário do KVM: LGPL v2
- Biblioteca principal de CPU virtual do QEMU (libqemu.a) e emulador de sistema PC do QEMU: LGPL
- Emulador do QEMU de modo usuário linux: GPL
- Arquivos de BIOS (bios.bin, vgabios.bin and vgabios-cirrus.bin): LGPL v2 ou posterior
A KVM é mantida por Avi Kivity e é financiada primariamente pela Qumranet, uma iniciativa de tecnologia, agora adquirida pela Red Hat.
Ferramentas de gerenciamento gráfico

- Virtual Machine Manager suporta criação, edição, inicialização, terminação de máquinas virtuais baseadas na KVM.
- ConVirt suporta criação, edição, inicialização, terminação de máquinas virtuais baseadas na KVM, além de migração arraste-e-solte de máquinas virtuais em execução ou suspensas entre hospedeiros.
- Proxmox Virtual Environment Software livre de virtualização incluindo KVM e OpenVZ - instalador de metal-exposto, IU de gerenciamento e suporte comercial opcional.
Hardware emulado
| Classe | Dispositivo |
|---|---|
| Placa de vídeo | VGA |
| Placa de som | Sound Blaster 16 |
| Placa de rede Ethernet | AMD Am79C970A (e Am7990?), E1000 (Intel 82540EM, 82573L, 82544GC), NE2000, Realtek 8139 |
