Saltar a contenido

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.