sudo apt install qemu-kvm qemu-utils
Uso de QEMU
-
Crear una imagen
.qcow2:qemu-img create \ -f qcow2 alpine.qcow2 \ 16G # Capacidad del disco virtual. -
Iniciar un archivo
.imgo.qcow2existente:qemu-system-x86_64 \ -enable-kvm \ # Usa el hipervisor KVM para usar los recursos del host -boot menu=on \ -cpu host \ -m 4G \ # 4GB de memoria RAM -vga virtio \ -display sdl,gl=on \ -drive file=alpine.qcow2 -cdrom alpine-virt-3.18.0-x86_64.iso # Quitar si no vas a instalar un SO
Configuraciones de rendimiento
- Configuración para [[Linux en KVM|rendimiento en Linux]]
- Configuración para [[Windows 10 con HyperV|rendimiento en Windows]]
Soporte para sonido
qemu [...] \ -device virtio-sound-pci,audiodev=snd0 \ -audiodev alsa,id=snd0
Adaptador puente
vim /etc/qemu/bridge.conf
allow virtbr0
chmod +s /usr/lib/qemu/qemu-bridge-helper
sudo pacman -S bridge-utils
sudo brctl addbr virtbr0
sudo brctl addif virtbr0 enp3s0
sudo ip addr add 192.168.0.30/24 dev virtbr0
sudo ip link set virtbr0 up
sudo iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT
qemu [...] -net nic,model=virtio,macaddr=52:54:00:00:00:01 -net bridge,br=virtbr0`
Servicio de systemd para hacer los cambios persistentes.
Guardar en /lib/systemd/system/ como qemu-bridge-setup.service.
[Unit]
Description=Setup qemu network bridging
After=network-online.target
[Service]
Type=oneshot
Restart=on-failure
ExecStart=brctl addbr virtbr0
ExecStart=brctl addif virtbr0 enp3s0
ExecStart=ip addr add 192.168.0.20/24 dev virtbr0
ExecStart=ip link set virtbr0 up
ExecStart=iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT
[Install]
WantedBy=multi-user.target
Atajos de teclado
- Libera el ratón/teclado:
Ctrl-Alt - Pantalla completa:
Ctrl-Alt-f - Haz más grande la pantalla:
Ctrl-Alt-+ - Haz más pequeña la pantalla:
Ctrl-Alt - - Pantalla a su tamaño original:
Ctrl-Alt-u - show target system display:
Ctrl-Alt-1 - show monitor:
Ctrl-Alt-2 - show serial port:
Ctrl-Alt-3
Troubleshooting
- "Could not access KVM kernel module: Permission denied"
sudo usermod -aG kvm $(whoami) && sudo reboot - access denied by acl file
- qemu-system-x86_64: -net bridge,br=virtbr0: bridge helper failed
# https://blog.christophersmart.com/2016/08/31/configuring-qemu-bridge-helper-after-access-denied-by-acl-file-error/ sudo vim /etc/qemu/bridge.conf allow virtbr0
Notas
Referencias:
