Instalación de una máquina virtual Windows 11 con KVM en Ubuntu

  1. Instalación de componentes requeridos en Ubuntu

sudo apt-get update
sudo apt -y install libvirt-dev
sudo apt -y install libvirt-daemon-system 
sudo apt -y install libvirt-clients
sudo apt -y install virtinst 
sudo apt -y install virt-manager
sudo apt -y install qemu-kvm
sudo apt -y install bridge-utils


lsmod | grep kvm


 systemctl start libvirtd
 systemctl enable libvirtd
 systemctl list-unit-files |grep libvirtd.service


# Verificar estado
systemctl is-active libvirtd
...
active
...
# Verificar módulos
lsmod | grep kvm
...
kvm_intel             487424  10
kvm                  1404928  9 kvm_intel
irqbypass              12288  11 kvm
...
systemctl start libvirtd 
systemctl enable libvirtd
# Verificar configuración
systemctl list-unit-files |grep libvirtd.service
...
libvirtd.service                                                              enabled         enabled



  1. Configuración de red

1. Creación de un puente de Ethernet

brctl addif br0 enp3s0


2. Asignación de IP al puente

ifconfig br0 172.1.1.143 netmask 255.255.255.0 up


3. Adición de interfaz al puente existente

brctl addif br0 enp3s0


Nota: Si ya tienes otros puentes configurados, ejecuta nmcli connection para verlos

$ nmcli connection
NAME                UUID                                  TYPE      DEVICE          
conexion1           3d58a641-2f6c-4cfb-924s-787d37cff1fa  ethernet  enp3s0             
br0                 df0dc697-e8d2-4585-95de-9b01d1548ff2  bridge    br0             
br-a1f5cb3a27a1     ab60cc9c-b2f9-43d8-bd42-867b23c3ce7c  bridge    br-a1f5cb3a27a1 
lo                  88c2fe2a-69bf-48d3-94b9-2e73991eb311  loopback  lo              
docker0             42fe759d-54b9-46cb-b9de-7e352ba28aae  bridge    docker0         
virbr0              2f4b8e47-0d07-4154-a31f-442f47e345f7  bridge    virbr0    


Luego ejecuta nmcli c de xxx para eliminar el puente xxx

Finalmente, añade la interafz al puente

brctl addif br0 enp3s0


  1. Creación de la máquina virtual

virt-install \
 --virt-type=kvm \
 --name maquina_win11 \
 --ram 16384 \
 --vcpus=8 \
 --os-variant=win10  \
 --cdrom=/vm/windows/windows_11_enterprise_edition_version_24h2_2024_x64_dvd_29061b8c.iso \
 --network=bridge=br0,model=virtio \
 --graphics vnc,listen=0.0.0.0 --noautoconsole \
--disk path=/vm/maquinas/win11/disco_win11.qcow2,size=100,bus=virtio,format=qcow2

# El siguiente mensaje indica que el proceso ha comenzado
Starting install...
Allocating 'disco_win11.qcow2'                                    |  15 MB  00:00:19 ... 
Creating domain...                                          |    0 B  00:00:00     

Domain is still running. Installation may be in progress.
You can reconnect to the console to complete the installation process.


Verificar la máquina virtual

virsh list --all
...
 Id   Name         State
-----------------------
 3    maquina_win11 running


  1. Instalación de Windows 11

No entraremos en detalles del proceso de instalación, pero sí mencionaremos algunos problemas comunes

1. Error "Este equipo no cumple los requisitos"

En este caso, es necesario usar la combinación Shift+F10 para abrir una ventana de comandos y realizar ajustes.

Para más información, consulta: https://blog.csdn.net/qq_38264240/article/details/121442084

2. No se detecta el disco duro

Sigue estos pasos: https://www.cnblogs.com/suixinnan/p/18168347

virsh domblklist maquina_win11


virsh change-media maquina_win11 sda /devlan/utilidades/virtio-win-0.1.266.iso


Busca el controlador adecuado para tu modelo y cárgalo

Después de cargar el controlador, vuelve a tu imagen de instalación

Ahora deberías poder ver el disco.

  1. Comandos básicos

Definir: virsh define archivo.xml (archivo.xml es la ruta y nombre del archivo de configuración)

Iniciar: virsh start nombre_maquina (nombre_maquina corresponde al valor en el archivo XML)

Detener: virsh shutdown nombre_maquina (apagado normal, toma tiempo)

Forzar apagado: virsh destroy nombre_maquina (apagado inmediato)

Eliminar: virsh undefine nombre_maquina (elimina la máquina virtual de la lista de virsh, no borra los archivos de disco ni los XML)

Arranque temporal: virsh create archivo.xml (útil para pruebas, no es persistente. La máquina desaparece al apagarse. No recomendado para producción.

Ver puerto VNC: virsh vncdisplay nombre_maquina (muestra el puerto VNC para la conexión)

Etiquetas: KVM virtualización Ubuntu Windows11 virsh

Publicado el 6-5 22:16