Esta guía está diseñada para instalar y configurar un entorno de virtualización en Linux (derivados de Debian como anfitrión HOST) utilizando QEMU/KVM, creando máquinas virtuales como Linux o Windows 11 como invitados (GUEST) y gestionándolas con herramientas como Libvirt y Virt-Manager.
Las imagenes creadas como VM (.qcow2) son portables y se pueden utilizar en otro sistemas, haciendo sencilla la administración.
1. Instalar el Entorno de Virtualización
Instalaremos las herramientas necesarias para la virtualización, incluyendo QEMU, KVM, Libvirt, Bridge-utils, Virt-viewer, y paquetes para soportar Windows 11 (TPM y UEFI).
# Instalar paquetes necesarios
sudo apt install -y qemu-kvm libvirt0 bridge-utils virt-viewer
# Habilitar y arrancar el servicio de Libvirt
sudo systemctl enable --now libvirtd
# Verificar el estado del servicio
sudo systemctl status libvirtd
# Habilitar la red por defecto
sudo virsh net-start default
# Configurar la red para iniciar automáticamente
sudo virsh net-autostart default
# Verificar las redes disponibles
sudo virsh net-list --all
# Agregar usuario estándar al grupo libvirt
sudo usermod -aG libvirt usuario
newgrp libvirt
# Crear un directorio seguro para almacenar las VMs e ISOs de instalación
mkdir -p ~/vm
# Establecer permisos en el directorio
sudo chmod -R u+rwX,g+rwX ~/vm
# Instalar paquetes para Windows 11 (TPM y UEFI)
sudo apt install -y swtpm swtpm-tools ovmf
2. Crear Máquina Virtual Debian
Crearemos una máquina virtual Debian con un disco virtual de 50GB y configuraremos los permisos adecuados.
# Crear imagen de disco virtual de 50GB en el directorio seguro
qemu-img create -f qcow2 ~/vm/debian-vm.qcow2 50G
# Copiar la ISO de Debian al directorio seguro
mv ~/Descargas/debian-13.0.0-amd64-netinst.iso ~/vm/debian-13.0.0-amd64-netinst.iso
# Establecer permisos para los archivos
sudo chown libvirt-qemu:libvirt-qemu ~/vm/*
sudo chmod 660 ~/vm/*
# Crear la máquina virtual, ajustar la RAM y CPU
sudo virt-install \
--name debian-vm \
--ram 4096 \
--vcpus 4 \
--disk path=~/vm/debian-vm.qcow2,format=qcow2 \
--cdrom ~/vm/debian-13.0.0-amd64-netinst.iso \
--os-variant debian12 \
--virt-type kvm \
--network network=default \
--graphics spice \
--noautoconsole
# Visualizar la máquina virtual
# Nota: si la VM "atrapa" el mouse, salir con Shift+F12.
virt-viewer --connect qemu:///system debian-vm
# Iniciar la VM si está apagada
virsh --connect qemu:///system start debian-vm
Para mejorar la experiencia, se recomienda instalar SPICE en la VM
# Instalar SPICE en la VM debian
sudo apt install spice-vdagent
Nota: Las imagenes qcow2 son portables, puede usar este mismo comando para restaurarla en otros equipos, en este caso no seria necesario mantener la linea del CDs/DVDs (cdrom).
3. Crear Máquina Virtual con Windows 11
Crearemos una máquina virtual para Windows 11 con soporte para TPM 2.0 y Secure Boot, utilizando VirtIO drivers para mejor rendimiento.
Descarga la ISO de Windows 11 desde el sitio web oficial de Microsoft: https://www.microsoft.com/es-es/software-download/windows11
Nota: Windows 11 no vence y se actualiza, pero no tendrá opciones como cambiar el fondo de pantalla, y mostrará el mensaje de activación, pero funcionará correctamente.
Descarga los controladores VirtIO desde: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/
# Descargar los controladores VirtIO con wget
wget https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso -O ~/vm/virtio-win.iso
# Crear imagen de disco virtual de 100GB
qemu-img create -f qcow2 ~/vm/win11-vm.qcow2 100G
# Copiar la ISO de Windows 11 al directorio seguro
mv ~/Descargas/Win11_24H2_x64.iso ~/vm/Win11_24H2_x64.iso
# Establecer permisos
sudo chown libvirt-qemu:libvirt-qemu ~/vm/*
sudo chmod 660 ~/vm/*
# Crear la máquina virtual, ajustar la RAM y CPU
sudo virt-install \
--name win11-vm \
--ram 8192 \
--vcpus 4 \
--disk path=~/vm/win11-vm.qcow2,format=qcow2,bus=virtio \
--disk path=~/vm/virtio-win.iso,device=cdrom,bus=sata \
--cdrom ~/vm/Win11_24H2_Spanish_Mexico_x64.iso \
--os-variant win11 \
--virt-type kvm \
--network network=default,model=virtio \
--graphics spice \
--boot uefi \
--tpm model=tpm-tis,backend.type=emulator,backend.version=2.0 \
--noautoconsole
# Visualizar la máquina virtual
# Nota: si la VM "atrapa" el mouse, salir con Shift+F12.
virt-viewer --connect qemu:///system win11-vm
Es posible que no dé tiempo a presionar una tecla para que se inicie el DVD de instalación de Windows, en ese caso accedemos a la BIOS e iniciamos el disco manualmente.
Cargar los controladores desde la unidad virtio-win.iso:
Evitar la creación de cuenta de Microsoft (usa el siguiente comando, se reiniciara):
Si no se reinicia y se debe encender:
# Iniciar la VM si está apagada
virsh --connect qemu:///system start win11-vm
# Visualizar la VM
virt-viewer --connect qemu:///system win11-vm
Instalar los controladores VirtIO y SPICE para mejor rendimiento:
Nota: Las imagenes qcow2 son portables, puede usar este mismo comando para restaurarla en otros equipos, en este caso no seria necesario mantener la linea del CDs/DVDs (cdrom).
4. Comandos para Gestionar Máquinas Virtuales
Comandos útiles para administrar, eliminar, iniciar, apagar o modificar máquinas virtuales.
# Eliminar una VM (no elimina el archivo qcow2 ni la ISO de instalación)
virsh --connect qemu:///system undefine debian-vm
# Eliminar una VM con Windows 11 (incluye NVRAM para UEFI) (no elimina el archivo qcom2 ni la ISO de instalación)
virsh --connect qemu:///system undefine win11-vm --nvram
# Listar todas las VMs
virsh --connect qemu:///system list --all
# Iniciar una VM
virsh --connect qemu:///system start debian-vm
# Apagar una VM
virsh --connect qemu:///system shutdown debian-vm
# Forzar el apagado
virsh --connect qemu:///system destroy debian-vm
# Reiniciar una VM
virsh --connect qemu:///system reboot debian-vm
# Ver información detallada de una VM
virsh --connect qemu:///system dominfo debian-vm
# Modificar el archivo XML de una VM (RAM, CPUs, etc.)
sudo virsh edit debian-vm
Opcional: Instalar Virt-Manager
Para gestionar las máquinas virtuales con una interfaz gráfica, puedes instalar Virt-Manager:
sudo apt install -y virt-manager










