Ya hace algún tiempo desde que realice una publicación que explicaba el uso de qemu pero veo que con las nuevas versiones de qemu hay nuevas funcionalidades, permite aprovechar mejor nuestro hardware y dispone ahora de nuevas opciones para su uso y hay poca documentación en español al respecto con esta entrada mostraré como trabajar con qemu y realizar virtualizaciones con el mismo usando periféricos disponibles en nuestro ordenador o computador con una serie de sencillos parámetros.
Lo primero es ejecutar como usuario normal a través de la terminal o consola el siguiente comando:
xhost +
Este comando permite ejecutar interfaces gráficos como administrador o usuario root en linux más que todo en la interfaz gráfica de usuario KDE.
Luego nos logueamos como administrador con el comando:
su (caso debian)
sudo -H -s (Caso ubuntu u otras distribuciones).
Luego creamos el directorio y entramos en el con el siguiente comando:
mkdir sistemasvirtualizados && cd sistemasvirtualizados
Creamos ahora la imagen de disco donde se instalará el sistema a virtualizar:
qemu-img create imagen_del_so.img 64G
Ahora ya tenemos la imagen a ejecutar ahora ¿Cómo hacemos para comenzar la instalación si tenemos el sistema a instalar en un pendrive booteable? con el siguiente comando:
qemu-system-x86_64 -hda imagen_del_so.img -usb -usbdevice disk:/dev/sdb -m 1024 -smp 4,sockets=4,cores=2,threads=2
Este comando comenzará la virtualizanción pero vamos a explicarlo más a detalle el comando.
¿Por que el comando es qemu-system-x86_64?
Es sencillo en nuevas versiones del mismo adapta mejor las virtualizaciones para emular las diferentes arquitecturas de hardware.
Si ejecutamos ls /usr/bin | grep qemu-system veremos esto:
qemu-system-aarch64
qemu-system-alpha
qemu-system-arm
qemu-system-cris
qemu-system-i386
qemu-system-lm32
qemu-system-m68k
qemu-system-microblaze
qemu-system-microblazeel
qemu-system-mips
qemu-system-mips64
qemu-system-mips64el
qemu-system-mipsel
qemu-system-moxie
qemu-system-or32
qemu-system-ppc
qemu-system-ppc64
qemu-system-ppcemb
qemu-system-s390x
qemu-system-sh4
qemu-system-sh4eb
qemu-system-sparc
qemu-system-sparc64
qemu-system-unicore32
qemu-system-x86_64
qemu-system-xtensa
qemu-system-xtensaeb
Estas son algunas de las formas pre-establecidas para ejecutar qemu emulando cierto hardware especifico para virtualizar el sistema operativo.
La opción -hda imagen_del_so.img permite usar la imagen que emula a un disco duro virtual que creamos.
La opción -usb -usbdevice disk:/dev/sdb permite ejecutar nuestro pendrive booteable y comenzar la instalación hacia nuestro disco duro virtual.
La opción -m 1024 nos permite asignar la memoria ram al sistema a virtualizar en MegaBytes.
La opción -smp 4,sockets=4,cores=2,threads=2 esta opción nos permite asignar parametros y potencia de tiempo de trabajo de nuestro CPU trabajar esta opción con cuidado o no usarla.
Pero que pasa si nuestro instalador no esta en un pendrive si no en un cd-rom/dvd-rom/br pues ejecutamos la virtualización de la siguiente manera.
qemu-system-x86_64 -hda imagen_del_so.img -boot d -cdrom /media/cdrom -m 1024 -smp 4,sockets=4,cores=2,threads=2
Donde -boot d -cdrom /media/cdrom nos permite ejecutar la instalación desde nuestra unidad física de cd-rom/dvd-rom/br.
Pero viene otro caso no tenemos ningún cdrom o ningún pendrive booteable pero en nuestro disco tenemos la imagen de pendrive booteable o la imagen iso de nuestro sistema de instalación a continuación muestro como haríamos en cada caso:
Caso Imagen iso de cdrom (nota tenerla en el mismo directorio donde estamos virtualizando nuestro sistema para mayor comodidad)
qemu-system-x86_64 -hda imagen_del_so.img -boot d -cdrom debian9.iso -m 1024 -smp 4,sockets=4,cores=2,threads=2
Caso pendrive imagen .img:
qemu-system-x86_64 -hda imagen_del_so.img -usb -usbdevice disk:debian8liveusb.img -boot menu=on -m 1024 -smp 4,sockets=4,cores=2,threads=2
Otras opciones que podemos usar:
-k idioma
Con esto le estaríamos especificando el tipo de teclado que estaríamos utilizando. Si es un teclado español, colocamos-k es
, si es un teclado ingles utilizamos-k en-us
. El teclado por defecto esen-us
-full-screen
Esto nos permite iniciar la máquina virtual en pantalla completa.-net none
Esta opción no nos configura los dispositivos de Red en el Sistema Operativo que vallamos a usar/instalar. Sería bueno activarla cuando no queramos utilizar la RED en dicha máquina virtual.-nographic
Qemu utiliza las librerías SDL para poder mostrar lo gráficos. Si el sistema operativo que vallamos a instalar no utiliza gráficos si no una línea de comandos podríamos utilizar este parámetro.
Hay virtualizaciones más avanzadas que a futuro espero crear entradas explicando como se pueden realizar.
Si te gustan mis publicaciones no dudes en realizar un donativo.