// Engineering Log
Virtualización: Parte 5 — QEMU
Publicado el 22.09.2026
// Ruta rapida
Este articulo pertenece al tema Servidores e infraestructura.
QEMU — un emulador y virtualizador libre, distribuido bajo la licencia GPLv2. Hace dos cosas diferentes. Primero, emular un ordenador completo, incluyendo el procesador de otra arquitectura: por ejemplo, ejecutar un sistema para ARM en un servidor x86 convencional. Segundo, trabajar junto con un acelerador de virtualización — en Linux esto es KVM — y entonces las máquinas virtuales se ejecutan casi a la misma velocidad que el sistema anfitrión.
La versión estable vigente en septiembre de 2026 — QEMU 11.1.1 (26 de agosto de 2026).
Cómo QEMU y KVM se reparten el trabajo
KVM — un módulo del kernel de Linux — da a la máquina virtual acceso directo a las capacidades del procesador (Intel VT-x, AMD-V). Por sí solo no crea discos, ni tarjetas de red, ni pantalla. Esa parte la realiza QEMU: emula para el sistema invitado controladores de disco, adaptadores de red, USB, tarjeta gráfica y cargador de arranque. Por eso en un servidor con KVM los procesos de las máquinas virtuales son procesos QEMU.
Sin acelerador QEMU traduce cada instrucción del procesador invitado a instrucciones del procesador anfitrión. Esto funciona en cualquier arquitectura, pero es mucho más lento — para cargas de trabajo este modo no es adecuado; para pruebas y desarrollo normalmente basta.
Dónde se usa QEMU, incluso si no lo conoces
- Proxmox VE ejecuta máquinas virtuales mediante QEMU con KVM; el comando
qmy la interfaz web de Proxmox terminan formando los parámetros de arranque de QEMU. - libvirt,
virt-managery Cockpit en servidores Linux comunes también gestionan procesos QEMU. - UTM en macOS usa QEMU, incluso para ejecutar sistemas x86 en ordenadores Apple con procesadores ARM.
- Docker construye imágenes para otras arquitecturas (
docker buildx --platform linux/arm64) con la ayuda del modo de usuario de QEMU: programas individuales de otra arquitectura se ejecutan de forma transparente, sin iniciar una máquina virtual completa.
Dos modos de funcionamiento
- Emulación de sistema (
qemu-system-x86_64,qemu-system-aarch64y otros) — una máquina virtual completa con su propio kernel, discos y dispositivos. - Modo de usuario (
qemu-aarch64,qemu-army otros) — ejecutar un solo programa compilado para otra arquitectura en el sistema Linux actual. Es precisamente lo que se usa para cross-building y pruebas.
Discos: la utilidad qemu-img
QEMU crea y convierte imágenes de disco con la utilidad qemu-img. El formato principal es qcow2: ocupa en disco tanto espacio como realmente está escrito y soporta snapshots. El formato raw es más simple y algo más rápido, pero ocupa inmediatamente todo el tamaño.
# crear un disco de 40 GB en formato qcow2
qemu-img create -f qcow2 disk.qcow2 40G
# ver información de la imagen: formato, tamaño declarado y tamaño real
qemu-img info disk.qcow2
# convertir un disco de VMware (vmdk) a qcow2 — paso típico al migrar desde VMware
qemu-img convert -p -f vmdk -O qcow2 server.vmdk server.qcow2La conversión convert es la herramienta principal al migrar máquinas virtuales desde VMware o Hyper-V (formato vhdx) a Proxmox y otras plataformas sobre KVM.
Arrancar una máquina virtual manualmente
En la práctica las máquinas se crean mediante Proxmox o libvirt, pero es útil entender qué ocurre internamente. Arranque mínimo del instalador de Linux con aceleración KVM:
qemu-system-x86_64 \
-accel kvm -cpu host \
-m 4G -smp 2 \
-drive file=disk.qcow2,if=virtio \
-cdrom debian.iso -boot d \
-nic user,model=virtio-net-pci-accel kvm -cpu host— activar KVM y pasar al invitado las capacidades del procesador real;-my-smp— cantidad de memoria y número de procesadores virtuales;if=virtioyvirtio-net-pci— dispositivos paravirtualizados: el sistema invitado sabe que está en una VM y transmite datos más rápido que con la emulación de hardware real;-nic user— la red más simple mediante NAT sin configurar puente; en servidores en su lugar se configura un puente de red.
Si el procesador o el servidor no soportan virtualización por hardware (por ejemplo, en algunas máquinas virtuales en la nube la virtualización anidada está desactivada), QEMU con -accel kvm no se iniciará. Puedes comprobarlo así: ls /dev/kvm — el archivo debe existir.
Emulación de otra arquitectura
Arrancar un sistema para ARM en un servidor x86 se hace así:
qemu-system-aarch64 -M virt -cpu cortex-a72 -m 2G \
-bios QEMU_EFI.fd \
-drive file=arm-disk.qcow2,if=virtio \
-nographicAquí no hay aceleración KVM: el procesador ARM se emula completamente y la máquina funciona notablemente más despacio. Para comprobar firmwares, imágenes para placas únicas (single-board computers) y compilar paquetes para ARM normalmente esto es suficiente.
Cuándo elegir QEMU directamente
- Desarrollo y pruebas para otras arquitecturas — ARM, RISC-V, MIPS, PowerPC.
- Depuración de kernels y cargadores de arranque: QEMU puede conectarse al depurador GDB (
-s -S). - Pruebas automatizadas de imágenes en CI, donde no se necesita interfaz gráfica.
- Ejecuciones puntuales de sistemas antiguos desde una imagen de disco.
Para operación continua de servidores no se suele usar QEMU directamente: es más cómodo y fiable gestionar las máquinas mediante Proxmox VE o libvirt, que se ocupan del arranque automático, redes, snapshots y copias de seguridad.
Errores típicos
- Arrancar sin
-accel kvmen un servidor donde KVM está disponible: la máquina funciona en modo emulación y se ralentiza sin razón aparente. - Dispositivos emulados en lugar de virtio: disco IDE y tarjeta de red e1000 son más lentos. En Windows se instalan los controladores virtio por separado desde la imagen virtio-win.
- Copiar el archivo qcow2 de una máquina en ejecución: la copia puede quedar inconsistente. Se debe parar la máquina o usar snapshots y las herramientas de backup de la plataforma.
- Confusión con el formato: si en
-driveno se indicaformat=, QEMU detecta el formato automáticamente y muestra una advertencia; para imágenes raw es mejor especificar explícitamente el formato.
// Tarea parecida
Si estas resolviendo algo parecido
Este articulo pertenece a uno de los temas principales de trabajo. Puedes seguir leyendo sobre el tema, ir a la pagina principal para entender a que me dedico o abrir directamente los servicios.
Tema del articulo
Servidores e infraestructura
VPS, Linux, stack web, migraciones, hosting, bases de datos y operacion base.
Tareas frecuentes de esta tema
- Migrar un sitio o servicio a un nuevo servidor
- Configurar Linux, Nginx, base de datos y copias de seguridad
- Entender por que el sistema funciona de forma inestable
// Siguiente paso
Si necesitas ayuda con este tema y no solo otro articulo, es mejor ir directo a la pagina del servicio. La pagina principal y la seleccion de materiales quedan como rutas secundarias.
Abrir servicios// Reviews
Reseñas relacionadas
¡Mijaíl se encargó por completo de la tarea y ayudó en cada etapa!
Mijaíl completó la tarea por completo y ayudó en cada etapa!
Proxmox, instalación y configuración de Proxmox. Máquina virtual Proxmox
24.04.2025 · ★ 5/5
Recomiendo encarecidamente a este especialista. Me ayudó con la configuración de Proxmox. Todo al más alto nivel. Siempre ayuda/aconseja qué es mejor y cómo hacerlo. Se nota que es un auténtico especialista.
Recomiendo mucho a este especialista. Ayudó con la configuración de proxmox. Todo al más alto nivel. Siempre ayuda/sugiere qué es mejor y cómo hacerlo. Se nota que es un Especialista con «mayúscula»
Excelente herramienta. Se puede confiar en ella incluso si se queda atascado. Proxmox lo sabe todo al 100%
Excelente ejecutor. Se puede confiar en él incluso si te quedas atascado. Proxmox lo sabe todo al 100%
Migración de máquinas virtuales desde un proveedor de hosting a Proxmox
01.02.2025 · ★ 5/5
Rápido y de calidad, el pedido se completó. Lo recomiendo.
Rápido y de calidad, el pedido se completó. Lo recomiendo.
Configuración del servidor Proxmox para usar una tarjeta Wi‑Fi
02.05.2024 · ★ 5/5
// Contact
¿Necesitas ayuda?
Escríbeme y te ayudaré a resolver el problema
Respondo en un día laborable (03:00-13:00 GMT)
Или оставьте заявку здесь:
// Related