Comandos Qemu
Paso previo
Debemos crear un nuevo disco duro virtual con el comando qemu-img
qemu-img create -f qcow2 demo.qcow2 10G
Al escribir en la terminal (qemu) o (qemu-system-) nos muestra una serie de opciones depentiendo la arquitectura:
Ejemplo 01 - Máquina básica¶
Vamos a lanzar una nueva máquina, únicamente con el disco que hemos creado previamente.
qemu-system-x86_64 --enable-kvm -name vm-lab -m 1G -smp 1 -drive file=/home/lab/demo.qcow2,index=0,media=disk,if=virtio -vga std
Opciones
- qemu-system-x86_64 - Tipo de arquitectura que queremos emular (en este caso un procesador x64).
- --enable-kvm Habilitamos la virtualización por kernel de kvm.
- -name Nombre de la máquina.
- -m Cantidad de memoria RAM.
- -smp Cantidad de procesadores asignados a la máquina.
- -driver media=disk Seleccionar el disco virtual con los driver virtio
- fda/fdb hda/hdb hdc/hdd Otra manera de especificar el disco de la máquina (tipo IDE).
- vga std Tipo de ventana gráfica para conectarnos a la máquina VGA standar.
Atención
No bootable device , la máquina no tiene ningún dispositivo de instalación (cdrom, usb, ...) y la propia imágen qcow2 no contiene ningún sistema.
Ejemplo 02 - Añadir iso¶
Ahora procedemos a instalar la distribución Bunsenlabs en nuestro disco duro qcow2 de 10G.
Puedes descargar la iso.
qemu-system-x86_64 --enable-kvm -name vm-lab -m 1G -smp 1 -drive file=/home/lab/bunsenlabs.iso,index=1,media=cdrom -drive file=/home/lab/demo.qcow2,index=0,media=disk,if=virtio -boot order=dc -vga std
Opciones
- -drive file=bunsenlabs.iso,index=1,media=cdrom Añadimos un medio de instalación con una imágen iso.
- boot [c|d|n] Permiten especificar el orden de arranque.
- c -> Desde el disco duro
- d -> Desde el cdrom
- n -> Desde la red
Ejemplo 03 - Protocolo Spice¶
qemu-system-x86_64 --enable-kvm -name vm-lab -m 1G -smp 1 -machine type=q35,accel=kvm -drive file=/home/lab/demo.qcow2,index=0,media=disk,if=virtio -vga qxl -spice port=5930,disable-ticketing=on -daemonize
Opciones
- -machine type=q35,accel=kvm Tipo de máquina q35 (soporta discos duros SATA) con aceleración KVM.
- -vga qxl -spice port=5930,disable-ticketing=on Vamos a utilizar el protocolo spice para conectarnos a la máquina.
- -daemonize Convertimos la máquina en un servicio de linux.
Spice
Aplicación de escritorio remoto de código abierto para acceder a máquinas virtuales.
Qxl nos permite utilizar el protocolo Spice.
Un cliente de Spice para linux es remote-viewer
Ventana gráfica
Cuando se lanza una máquina QEMU sin indicar la opción nographic o vnc, se abre una ventana que representa la pantalla de la máquina virtual.
COMANDOS GRÁFICOS
Algunos de los comandos más frecuentes del monitor son:
-
commit device|all
Aplica los cambios a las imágenes de disco (cuando se utiliza la opción snapshot).
-
info subcommand
Muestra información sobre la máquina virtual.
-
q|quit
Cierra QEMU.
-
eject [-f] dispositivo
Expulsa uno de los soportes de la máquina emulada (CD/floppy).
-
change device filename
Cambia uno de los soportes de la máquina emulada (CD/floppy).
-
screendump filename
Realiza una captura de pantalla.
-
savevm tag|id
Guarda instantáneas de la máquina virtual.
-
loadvm tag|id
Recupera instantáneas de la máquina virtual.
-
delvm tag|id
Borra instantáneas de la máquina virtual.
-
stop c|cont
Detiene y reanuda la emulación.
-
system_reset / system_powerdown
Equivalentes a pulsar el botón de reset y de apagado en una torre.