Diferencia entre revisiones de «Virtualización con libvirt»

De Wiki de Sistemas Operativos
Saltar a: navegación, buscar
(Paso 6: Clonado de máquinas virtuales)
(Paso 4: Instalación de libvirt e importación de imagenes)
 
(No se muestran 63 ediciones intermedias de 2 usuarios)
Línea 1: Línea 1:
 
Para la realización de esta práctica necesitará de una imagen de Ubuntu Cloud que descargaremos de https://cloud-images.ubuntu.com/ y necesitaremos un
 
Para la realización de esta práctica necesitará de una imagen de Ubuntu Cloud que descargaremos de https://cloud-images.ubuntu.com/ y necesitaremos un
sistema anfitrión con Ubuntu 18.04.
+
sistema anfitrión con Ubuntu 22.04.
  
En esta práctica se emplearán la imagen descargada de la web Ubuntu Cloud y se hará uso de la herramienta '''cloud-init''' para configurarla.
+
En esta práctica se empleará la imagen descargada de la web Ubuntu Cloud y se hará uso de la herramienta '''libguestfs-tools''' para configurarla.
  
 
A continuación, utilizaremos la imagen de Ubuntu ya configurada para ser importada al software de virtualización '''libvirt'''.
 
A continuación, utilizaremos la imagen de Ubuntu ya configurada para ser importada al software de virtualización '''libvirt'''.
Línea 8: Línea 8:
 
= Paso 1: Descarga de la imagen Ubuntu Cloud =
 
= Paso 1: Descarga de la imagen Ubuntu Cloud =
  
Entramos en https://cloud-images.ubuntu.com/ y descargamos la imagen de Ubuntu 18.04 LTS (Long Time Support).
+
Entramos en https://cloud-images.ubuntu.com/ y descargamos la imagen de Ubuntu 22.04 LTS (Long Time Support).
  
 
Puedes descargarla directamente con la orden ''wget'':
 
Puedes descargarla directamente con la orden ''wget'':
  
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
wget https://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img
+
wget https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Línea 19: Línea 19:
  
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
-2019-08-06 12:26:26--  https://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img
+
-2019-08-06 12:26:26--  https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img
 
Resolviendo cloud-images.ubuntu.com (cloud-images.ubuntu.com)... 91.189.88.89, 2001:67c:1560:8001::8001
 
Resolviendo cloud-images.ubuntu.com (cloud-images.ubuntu.com)... 91.189.88.89, 2001:67c:1560:8001::8001
 
Conectando con cloud-images.ubuntu.com (cloud-images.ubuntu.com)[91.189.88.89]:443... conectado.
 
Conectando con cloud-images.ubuntu.com (cloud-images.ubuntu.com)[91.189.88.89]:443... conectado.
 
Petición HTTP enviada, esperando respuesta... 200 OK
 
Petición HTTP enviada, esperando respuesta... 200 OK
 
Longitud: 343474176 (328M) [application/octet-stream]
 
Longitud: 343474176 (328M) [application/octet-stream]
Grabando a: “bionic-server-cloudimg-amd64.img”
+
Grabando a: “jammy-server-cloudimg-amd64.img”
  
bionic-server-cloudimg-amd64.img.  0%[                                                              ]  2,21M  472KB/s    eta 14m 6s
+
jammu-server-cloudimg-amd64.img.  0%[                                                              ]  2,21M  472KB/s    eta 14m 6s
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
Espera hasta que la imagen esté descargada al 100%.
 
Espera hasta que la imagen esté descargada al 100%.
  
= Paso 2: Instalación del paquete cloud-init =
+
La imagen de Ubuntu cloud viene con 2 GBytes de espacio por defecto, puedes ampliar el tamaño con la siguiente orden antes de usarla en la máquina virtual:
  
A continuación, tienes que instalar los paquetes que ofrecen la herramienta ''cloud-init'' para configurar la imagen de Ubuntu que has descargado, estos paquetes son:
+
<syntaxhighlight lang="bash">
 +
qemu-img resize jammy-server-cloudimg-amd64.img +8G
 +
</syntaxhighlight>
 +
 
 +
Esto aumenta en 8 Gbytes la imagen, por tanto, quedas con una imagen de Ubuntu cloud de 10 GBytes.
 +
 
 +
= Paso 3: Instalación del paquete libguestfs =
 +
 
 +
''''En los ordenadores del aula de prácticas estos paquetes ya estarán preinstalados, con lo que puedes saltarte este paso''''.
 +
 
 +
A continuación, tienes que instalar los [[paquetes]] que ofrecen la herramienta ''virt-customize'' para configurar la imagen de Ubuntu que has descargado.
  
* '''cloud-init''': herramienta para configurar una imagen de Ubuntu cloud.
+
Podemos instalar estos paquetes con la herramienta '''apt''' desde el intérprete de órdenes.
* '''cloud-image-utils''': esta herramienta es complementaria a cloud-init y sirve para modificar imágenes de Ubuntu cloud.
 
  
Podemos instalar estos paquetes con la herramienta '''apt''' desde el intérprete de órdenes:
+
Para Ubuntu 20.04:
  
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
sudo apt install cloud-init cloud-image-utils
+
sudo apt install libguestfs-tools
 
</syntaxhighlight>
 
</syntaxhighlight>
  
''En los ordenadores del aula de prácticas estos paquetes ya estarán preinstalados, con lo que puedes saltarte este paso''.
+
Activa el servicio de ''libvirt'':
  
= Paso 3: Configuración de la imagen de Ubuntu con cloud-init =
+
<syntaxhighlight lang="bash">
 +
sudo systemctl enable libvirtd
 +
sudo systemctl start libvirtd
 +
</syntaxhighlight>
  
Para configurar la imagen de Ubuntu cloud, hay que crear un fichero de configuración para la herramienta '''cloud-init'''. Este fichero empieza siempre por la línea #cloud-config y se estructura en formato [https://es.wikipedia.org/wiki/YAML yaml], el contenido del fichero ''cloud.cfg'' sería el siguiente:
+
Comprueba que el servicio está lanzado con:
  
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
#cloud-config
+
sudo systemctl status libvirtd
password: qwerty123
 
chpasswd: { expire: False }
 
ssh_pwauth: True
 
 
</syntaxhighlight>
 
</syntaxhighlight>
  
El ejemplo anterior muestra cómo configurar la imagen descargada para que disponga del usuario ''ubuntu'', y en este caso, la contraseña es ''querty123'', y que se pueda acceder a dicho usuario por medio de ''ssh''.
+
Añade tu usuario al grupo '''libvirt-qemu''':
  
Podemos configurar la imagen para que apliquen estos cambios con el siguiente comando:
+
<syntaxhighlight lang="bash">
 +
sudo adduser practica libvirt
 +
sudo adduser practica libvirt-qemu
 +
</syntaxhighlight>
 +
 
 +
Reinicia el sistema.
 +
 
 +
= Paso 3: Configuración de la imagen de Ubuntu con virt-customize =
 +
 
 +
La orden ''virt-customize'' permite establecer la contraseña del usuario administrador de la imagen que hemos descargado.
  
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
cloud-localds bionic-server-cloudimg-amd64.img cloud.cfg
+
sudo virt-customize -a jammy-server-cloudimg-amd64.img --root-password password:coolpass
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Dispones de más información suplementaria sobre como usar [[cloud-init]].
+
El ejemplo anterior muestra cómo configurar la imagen descargada para que disponga del usuario ''root'', y en este caso, la contraseña es ''coolpass''.
  
 
= Paso 4: Instalación de libvirt e importación de imagenes =
 
= Paso 4: Instalación de libvirt e importación de imagenes =
  
Para instalar libvirt lo hacemos con la herramienta '''apt''' desde el intérprete de órdenes:
+
En primer lugar, instale libvirt en el sistema:
 +
 
 +
<syntaxhighlight lang="bash">
 +
sudo apt install libvirt-clients libvirt-daemon
 +
</syntaxhighlight>
 +
 
 +
''En los ordenadores del aula de prácticas este paquete ya estará preinstalado, con lo que puedes saltarte la orden anterior''.
 +
 
 +
Para crear una máquina virtual con libvirt, tienes que hacer uso de ''virt-install'':
 +
 
 +
<syntaxhighlight lang="bash">
 +
virt-install --name mi-mv --memory 2048 --disk path=/home/usuario/jammy-server-cloudimg-amd64.img --network network=default --os-variant generic --import
 +
</syntaxhighlight>
 +
 
 +
En la orden anterior:
 +
 
 +
* Se crea una máquina virtual denominada ''mi-mv''
 +
* La memoria de la máquina virtual es de 2 GBytes (2048 Mbytes)
 +
* El ''--disk path'' indica la ruta a la imagen de Ubuntu Cloud
 +
* Se usa la configuración de red por defecto.
 +
* Se especifica que la variante de sistema operativo genérico
 +
* Se indica que se trata de una importación de una imagen con un sistema operativo ya instalado mediante ''--import''
 +
 
 +
'''Recuerde modificar el nombre de la máquina virtual ''mi-mv'' y actualizar la ruta a la imagen de Ubuntu Cloud que ha descargado en el paso anterior'''.
 +
 
 +
Tras invocar este lo cual le aparecerá la pantalla de la máquina virtual en una ventana, puede salir de la pantalla al pulsar sobre "File -> Quit".
 +
 
 +
Para volver acceder a la pantalla de la máquina virtual en cualquier momento, puede hacer:
 +
 
 +
<syntaxhighlight lang="bash">
 +
virt-viewer mi-mv
 +
</syntaxhighlight>
 +
 
 +
Para parar la máquina virtual:
 +
 
 +
<syntaxhighlight lang="bash">
 +
virsh shutdown mi-mv
 +
</syntaxhighlight>
 +
 
 +
Para listar las máquinas virtuales existentes y comprobar su estado:
 +
 
 +
<syntaxhighlight lang="bash">
 +
virsh list --all
 +
</syntaxhighlight>
 +
 
 +
Puede usar ''grep'' para localizar su máquina virtual y mostrar el estado en el que está.
 +
 
 +
<syntaxhighlight lang="bash">
 +
virsh list --all | grep mi-mv
 +
</syntaxhighlight>
 +
 
 +
Para lanzar una máquina virtual apagada, puede usar:
 +
 
 +
<syntaxhighlight lang="bash">
 +
virsh start mi-mv
 +
</syntaxhighlight>
 +
 
 +
Si necesita borrar una máquina virtual completamente (previamente apagada), puede hacerlo con:
 +
 
 +
<syntaxhighlight lang="bash">
 +
virsh undefine mi-mv
 +
</syntaxhighlight>
 +
 
 +
tras los cual ya no aparecerá en el listado de ''virsh list --all''.
 +
 
 +
Alternativamente, libvirt ofrece la interfaz gráfica 'virt-manager', que se puede instalar desde el intérprete de órdenes:
  
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
Línea 75: Línea 158:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Una vez instalada, podemos abrir el virt-manager, desde el intérprete de órdenes:
+
[[Archivo:virt-manager.png|thumb|Interfaz de virt-manager.]]
 +
 
 +
Una vez instalada podemos lanzar virt-manager desde el intérprete de órdenes:
  
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
Línea 81: Línea 166:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
[[Archivo:virt-manager.png|thumb|Interfaz de virt-manager.]]
+
Desde la interfaz gráfica de virt-manager, creamos una nueva máquina virtual empleando la imagen de Ubuntu que hemos descargado en el paso 1 y la imagen generada por ''cloud-localds'' en el paso 3.
 +
 
 +
# Desde la interfaz de virt-manager creamos una nueva Máquina Virtual ''(Archivo --> Nueva máquina virtual)''
 +
# En la nueva ventana que se abre, seleccionamos ''Medio de instalación local'' y pulsamos ''Adelante''.
 +
# En ''Choose ISO or CDROM install media'' seleccionamos la imagen de ''media.img''' creada en el paso 3; y desmarcamos la casilla de ''Detección automática'' para seleccionar nuestro Sistema Operativo, en este caso, Ubuntu 22.04 LTS. Vemos que todo queda como en la imagen y pulsamos ''Adelante''. Puede emplear el botón de ''Explore localmente'' para localizar el fichero. [[Archivo:virt-manager-paso4-3.png|thumb|Elegir imagen de configuración y SO.]]
 +
# Seleccionamos la cantidad de memoria y de CPU que queremos, por defecto 2048 de Memoria y 1 CPU está bien.
 +
# En el almacenamiento, vamos a seleccionar un almacenaje personalizado, y aquí sera donde seleccionemos la imagen de ubuntu descargada, en nuestro caso ''jammy-server-cloudimg-amd64.img'' y pulsamos ''Adelante''. Puede emplear el botón de ''Explore localmente'' para localizar el fichero.
 +
# En el último paso, podremos selecionar la red, por ahora dejaremos [[NAT]] por defecto y pulsamos '''Finalizar''' (Si nos pregunta si queremos crear una red [[NAT]] porque no está creada, le decimos que sí).
 +
 
 +
Ya tenemos nuestra máquina virtual creada con nuestra configuración. Ahora vamos a probar que todo funciona correctamente. La máquina debería de estar arrancando y debería de aparecer el mensaje de login. [[Archivo:virt-manager-login.png|thumb|Login de ubuntu.]]
 +
 
 +
Utilizamos como usuario ''ubuntu'', que es el usuario por defecto y como contraseña empleamos la que hayamos elegido en el paso 3. Con esto nos validamos en el sistema con éxito. [[Archivo:virt-manager-logged.png|thumb|Usuario ya validado, en el intérprete de ordenes]]
 +
 
 +
Ya disponemos de un intérprete de ordenes en nuestro sistema operativo Ubuntu cloud que corre sobre nuestra máquina virtual.
 +
 
 +
'''Nota''': El teclado de la imagen de Ubuntu cloud que corre en la máquina virtual está en inglés, puedes cambiarlo con la siguiente orden:
 +
 
 +
<syntaxhighlight lang="bash">
 +
loadkeys es
 +
</syntaxhighlight>
  
Sin cerrar la interfaz de virt-manager, vamos a copiar la imagen descargada en el paso 1 y la imagen generada en el paso 3 al directorio de virt-manager ''/var/lib/libvirt/images'', para así tener una copia. Abrimos un intérprete de órdenes en el directorio donde tengamos las imágenes anteriormente generadas y copiamos:
+
Para hacerlo de manera permanente:
  
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
sudo cp bionic-server-cloudimg-amd64.img /var/lib/libvirt/images
+
dpkg-reconfigure keyboard-configuration
sudo cp media.img /var/lib/libvirt/images
 
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Volvemos a la interfaz de virt-managar una vez copiadas las imágenes y vamos a crear una nueva máquina virtual con dichas imágenes:
+
Además, es conveniente desactivar el siguiente servicio:
  
1. Desde la interfaz de virt-manager creamos una nueva Máquina Virtual ''(Archivo --> Nueva máquina virtual)''
+
<syntaxhighlight lang="bash">
2. En la nueva ventana que se abre, seleccionamos ''Medio de instalación local'' y pulsamos ''Adelante''
+
systemctl disable systemd-networkd-wait-oneline.service
3. En ''Choose ISO or CDROM install media'' seleccionamos la imagen de ''media.img''' creada en el paso 3; y desmarcamos la casilla de ''Detección automática'' para seleccionar nuestro Sistema Operativo, en este caso, Ubuntu 18.04 LTS. Vemos que todo queda como en la imagen y pulsamos ''Adelante'' [[Archivo:virt-manager-paso4-3.png|thumb|Elegir imagen de configuración y SO.]]
+
</syntaxhighlight>
4. Seleccionamos la cantidad de memoria y de CPU que queremos, por defecto 2048 de Memoria y 1 CPU está bien.
 
5. En el almacenamiento, vamos a seleccionar un almacenaje personalizado, y aquí sera donde seleccionemos la imagen de ubuntu descargada, en nuestro caso ''bionic-server-cloudimg-amd64.img'' y ''Adelante'' [[Archivo:virt-manager-paso4-5.png|thumb|Seleccionar imagen de Ubuntu descargada.]]
 
6. En el último paso, podremos selecionar la red, por ahora dejaremos NAT por defecto y pulsamos '''Finalizar''' (Si nos pregunta si queremos crear una red NAT porque no está creada, le decimos que sí).
 
  
Ya tenemos nuestra máquina virtual creada con nuestra configuración, vamos a probar que todo funciona correctamente. La máquina debería de estar arrancando y debería de aparernos el login, como vemos en la image. [[Archivo:virt-manager-login.png|thumb|Login de ubuntu.]]
+
pues ralentiza el arranque de la máquina virtual en 2 minutos, como se puede ver en:
  
Utilizamos como usuario ''ubuntu'', que es el usuario por defecto y como contraseña la que hayamos elegido en el paso 3, deberíamos de conseguir logearnos con éxito, como vemos en la imagen.  [[Archivo:virt-manager-logged.png|thumb|Usuario logueado.]]
+
<syntaxhighlight lang="bash">
 +
systemd-analyze blame
 +
</syntaxhighlight>
  
Ya estamos dentro de nuestra máquina virtual de ubuntu server cloud.
+
que sirve para obtener los tiempos de arranque del kernel de Linux y de los servicios lanzados por ''systemd'' en tiempo de arranque.
  
 
= Paso 5: Configuración de la red en libvirt =
 
= Paso 5: Configuración de la red en libvirt =
Línea 109: Línea 211:
 
Antes de ver los detalles de red, vamos a hacer una pequeña diferencia entre las dos ventanas que tenemos abiertas, virt-manager principal y virt-manager máquina de ubuntu ejecutándose. En la primera tendremos las configuraciones generales y en la segunda tendremos las configuraciones de una máquina virtual concreta, en nuestro caso, la configuración de la máquina virtual de ubuntu.
 
Antes de ver los detalles de red, vamos a hacer una pequeña diferencia entre las dos ventanas que tenemos abiertas, virt-manager principal y virt-manager máquina de ubuntu ejecutándose. En la primera tendremos las configuraciones generales y en la segunda tendremos las configuraciones de una máquina virtual concreta, en nuestro caso, la configuración de la máquina virtual de ubuntu.
  
En la ventana de nuestra máquina virtual de ubuntu, vamos a cambiar la vista y ver los detalles de nuestra máquina. ''Vista --> Detalles''. Aquí tenemos toda la configuración de nuestra máquina, pero solo vamos a centrarnos en la Interfaz de red virtual, que es donde podremos ver cual es pa IP que tiene asiganada nuestra máquina y cual es la fuente de red que se está utilizando.
+
Con esto, veremos dos formas de saber la IP de nuestra máquina virtual:
[[Archivo:virt-manager-nic.png|thumb|Interfaz de red virtual.]]
+
 
 +
# En la ventana de nuestra máquina virtual de ubuntu, vamos a cambiar la vista y ver los detalles de nuestra máquina. ''Vista --> Detalles''. Aquí tenemos toda la configuración de nuestra máquina, pero solo vamos a centrarnos en la Interfaz de red virtual, que es donde podremos ver cual es pa IP que tiene asiganada nuestra máquina y cual es la fuente de red que se está utilizando. [[Archivo:virt-manager-nic.png|thumb|Interfaz de red virtual.]]
 +
# La otra opción es utilizando comandos, podemos utilizar ''ip address'' en la consola de nuestra máquina virtual.
 +
 
 +
<syntaxhighlight lang="bash">
 +
$ sudo ip address
 +
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
 +
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
 +
    inet 127.0.0.1/8 scope host lo
 +
      valid_lft forever preferred_lft forever
 +
    inet6 ::1/128 scope host
 +
      valid_lft forever preferred_lft forever
 +
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
 +
    link/ether 3d:f0:ee:49:aa:22 brd ff:ff:ff:ff:ff:ff
 +
    inet 192.168.100.168/24 brd 192.168.2.255 scope global eth0
 +
      valid_lft forever preferred_lft forever
 +
    inet6 fe80::3e97:eff:fe39:dd20/64 scope link
 +
      valid_lft forever preferred_lft forever
 +
</syntaxhighlight>
 +
 
 +
Que nos permite comprobar que estamos utilizando la dirección IP 192.168.100.168.
 +
 
 +
Si la interfaz no muestra una dirección IP, puedes forzar la obtención de una dirección IP desde la máquina virtual para la interfaz ''ens3'' con la orden:
 +
 
 +
<syntaxhighlight lang="bash">
 +
sudo dhclient ens3
 +
</syntaxhighlight>
 +
 
 +
Vamos a comprobar ahora desde un terminal en el anfitrión que alcanzamos a nuestra máquina virtual.
 +
 
 +
<syntaxhighlight lang="bash">
 +
ping 9.9.9.9</syntaxhighlight>
 +
 
 +
Deberíamos de ver una salida similar a la siguiente:
  
En este caso, vemos que estamos utilizando la fuente de red 'default' y que nuestra IP es 192.168.100.168. Sabiendo esto, vamos a la ventana principal del virt-manager, para ver la fuente de red. ''Editar --> Detalles de la conexión'' En la ventana que se nos abre, seleccionamos la segunda pestaña, ''Redes virtuales''. Aquí debería de aparecernos en el listado de la izquierda, la red default que tenemos asignada a nuestra máquina virtual y ver los detalles de esta. [[Archivo:virt-manager-redes-generales.png|thumb|Redes virtuales configuración general.]]
+
<syntaxhighlight lang="bash">
 +
PING 192.168.100.168 (192.168.100.168) 56(84) bytes of data.
 +
64 bytes from 192.168.100.168: icmp_seq=1 ttl=64 time=0.397 ms
 +
64 bytes from 192.168.100.168: icmp_seq=2 ttl=64 time=0.409 ms
 +
64 bytes from 192.168.100.168: icmp_seq=3 ttl=64 time=0.321 ms
 +
</syntaxhighlight>
  
Aquí podremos crear redes virtuales nuevas, editar o eliminar las que existen utilizando los botones en la esquina inferior izquierda. Vamos a crearnos una nueva red para asignarla a nuestra máquina.
+
Si hubiere algún problema de conectividad la salida sería de este tipo:
  
# ''Pulsar en el botón +'
+
<syntaxhighlight lang="bash">
# Escoger nombre de red, por ejemplo, ''mired'' y pulsar ''Adelante''
+
PING 192.168.100.168 (192.168.100.168) 56(84) bytes of data.
# Escoger espacio de red, por ejemplo 192.168.2.0 y pulsar ''Adelante''
+
From 192.168.100.1 icmp_seq=1 Destination Host Unreachable
# Tenemos la opción de habilitar IPv6, pero no vamos a utilizarlo, pulsamos ''Adelante''
+
From 192.168.100.1 icmp_seq=2 Destination Host Unreachable
# Aquí debemos seleccionar como queremos conectarnos a la red, nosotros elegiremos la opción de reenvío a la red física, y utilizaremos el Modo NAT. Pulsamos ''Finalizar''
+
From 192.168.100.1 icmp_seq=3 Destination Host Unreachable
 +
</syntaxhighlight>
  
Nos movemos a la ventana de virt-manager donde está nuestra máquina virtual, vamos a seleccionar la fuente de red creada y aplicar los cambios. Hay que tener en cuenta que para que los cambios surtan efecto, necesitamos reiniciar nuestra máquina, así que pulsamos en ''Máquina Virtual --> Apagar --> Reiniciar''. Una vez reiniciada la máquina, si pulsamos en el botón de refrescar que aparece al lado de la IP, veremos que nuestra IP habrá cambiado. [[Archivo:virt-manager-nic-changed.png|thumb|Interfaz de red virtual cambiada.]]
+
En dicho caso, puedes forzar la obtención de una dirección IP con la orden:
 +
 
 +
<syntaxhighlight lang="bash">
 +
sudo dhclient ens3
 +
</syntaxhighlight>
 +
 
 +
Esto quiere decir que la configuración de red es incorrecta, o quizás que la dirección IP de tu máquina virtual no es 192.168.100.168 :-).
 +
 
 +
Dispones de más información suplementaria sobre la [[configuración de red en libvirt]].
  
 
= Paso 6: Clonado de máquinas virtuales =
 
= Paso 6: Clonado de máquinas virtuales =
  
CLONAR LA MAQUINA VIRTUAL ACTUAL, USARLA COMO PLANTILLA, CONFIGURAR UNA RED SENCILLA DE MAQUINAS VIRTUALES, PROBAR QUE FUNCIONAN CORRECTAMENTE. ASÍ COMO OTRO CONTENIDO INCLUIDO EN EL ENUNCIADO 1. VIRTUALIZACION
+
Vamos a reutilizar la configuración y la máquina virtual creada, para crear varias iguales. Empecemos:
 +
 
 +
# Apagamos la máquina virtual si la tenemos encendida, para que nos permita hacer un clonado. ''Máquina virtual --> Apagar --> Apagar''
 +
# En la ventana principal, pulsar botón derecho encima de la máquina virtual que queramos clonar, y pulsar ''Clonar ...''
 +
# En la ventana que nos aparece, por defecto seleccionará la misma red y creará una MAC diferente para la nueva máquina y clonará la imagen de ubuntu que usamos de almacenamiento. Le damos un nuevo nombre a nuestra máquina, y pulsamos en ''Clonar''.
 +
# Repetimos este paso hasta que tengamos toda las máquinas virtuales deseadas, en nuestro caso, solo crearemos una para probar los detalles de red.
 +
 
 +
Ahora arrancaremos la máquina original y la clonada, y vamos a comprobar que ambas están en la misma red y que pueden verse entre ellas. Como comentamos en el paso anterior, comprobaremos la IP de la máquina virtual original y de la clonada, y haremos ping desde dentro de las máquinas para comprobar que se ven.
 +
 
 +
Es posible clonar una máquina virtual desde el intérprete de órdenes:
 +
 
 +
<syntaxhighlight lang="bash">
 +
virt-clone --original mi-mv --name mi-mv-clone --auto-clone
 +
</syntaxhighlight>
 +
 
 +
Ejemplo:
 +
 
 +
* Máquina original tiene IP 192.168.100.168
 +
* Máquina clonada tiene IP 192.168.100.169
 +
* Desde la máquina original haremos un ping 192.168.100.169
 +
* Desde la máquina clonada haremos un ping 192.168.100.168
 +
* Desde ambas máquinas, comprobaremos que la puerta de enlace es la misma, haciendo un ''ip route''.
 +
* Desde la máquina host, deberíamos de obtener ping hacía las dos máquinas
  
 
= Paso 7: Instantáneas de máquinas virtuales =
 
= Paso 7: Instantáneas de máquinas virtuales =
  
CREAR INSTANTANEA
+
Las instantáneas nos permiten almacenar una captura del estado de la ejecución de una máquina virtual en un cierto instante tiempo que podremos restaurar cuando sea necesario. Las instantáneas te serán útiles si tienes trabajo a medio hacer en la máquina virtual, de manera que quieras guardar lo que has hecho para restaurarlo posteriormente.
BORRAR O CREAR UN FICHERO DEL SISTEMA
+
 
RECUPERAR ESTADO DE LA MÁQUINA USANDO LA INSTANTÁNEA
+
Para crear una instantánea, accedemos a la máquina virtual en ejecución y desplegamos el menú ''Vista'' y pinchamos sobre ''Capturas de Pantalla'' (Snapshot). Después pulsamos en el botón ''+'' que aparece abajo a la izquierda, indicamos el nombre de la instantánea y le damos a ''Finalizar'.
COMPROBAR QUE HEMOS VUELTO AL ESTADO ANTERIOR
+
 
 +
La creación de instantáneas toma algo de tiempo, sé paciente. Puedes almacenar tantas instantáneas como quieras. El nombre ''Captura de pantalla'' es una traducción poco afortunada del inglés ''snapshot'' que se refiere al término ''instantánea''.
 +
 
 +
= Paso 8: Instalación manual de Linux =
 +
 
 +
Además de la instalación a partir de la imagen de Ubuntu Cloud, es posible realizar una instalación desde cero haciendo uso del instalador de Ubuntu. Este proceso es '''más lento''' que el de utilizar la imagen de Ubuntu Cloud.
 +
 
 +
== Descarga la imagen de Ubuntu minimal CD ==
 +
 
 +
Lo primero es descargar la imagen del instalador de Ubuntu:
 +
 
 +
<syntaxhighlight lang="bash">
 +
wget http://archive.ubuntu.com/ubuntu/dists/jammy/main/installer-amd64/current/images/netboot/mini.iso
 +
</syntaxhighlight>
 +
 
 +
== Creación del disco duro virtual ==
 +
 
 +
Hay que crear un disco duro virtual que esté inicialmente vacío:
 +
 
 +
<syntaxhighlight lang="bash">
 +
qemu-img create -f qcow2 server-base.qcow 5G
 +
</syntaxhighlight>
 +
 
 +
Tras esto disponemos de un disco duro con capacidad de 5 GBytes que poner usar en una máquina virtual.
 +
 
 +
== Creación de la máquina virtual ==
 +
 
 +
# Marcamos ''medio de instalación local (imagen ISO o CDROM)'' y seleccionamos la imagen ''mini.iso'' que es el fichero que hemos descargado y que contiene la imagen del instalador de Ubuntu.
 +
# Marcamos ''seleccionar almacenaje personalizado'' y seleccionamos el fichero ''server-base.qcow2'' que contiene la imagen virtual (la creamos anteriormente).
 +
 
 +
== Instalación manual de Ubuntu por pasos ==
 +
 
 +
[[Archivo:INSTALL.png|200px|thumb|right|texto alternativo]]
 +
 
 +
# Una vez arranca el instalador de Ubuntu, seleccionamos ''Install'' y le damos a la tecla ''intro''.
 +
# Configuración del teclado: Seleccionamos el idioma y el teclado ''Spanish'' (o cualquier otro que prefiramos). En la selección de teclado, recomendamos indicar que '''no''' realice la autodetección del teclado, de manera que selecciones de manual manual el tipo de teclado del que dispones.
 +
# Selección de repositorio de réplica: Indicamos ''Spain'' para hacer uso del repositorio que contiene el catálogo de software de Ubuntu más cercano a nosotros, para que los tiempos de descarga sean lo menor posible.
 +
# Selección de nombre de usuario y cuenta: Especificáis el nombre que queráis, así como una contraseña.
 +
# Selección de zona horaria: Seleccionamos ''Spain'' e indicamos que estamos en la ''Península''.
 +
# Método de particionado: Seleccioamos guiado pues es el más sencillo, y utilizamos todo el disco. Nos mostrará un disco virtual (vda) de 5 Gbytes (o lo que hayamos selecionado al crear el disco virtual con qemu-img).
 +
# ... tras esto comienza la instalación del sistema de base ... (toma un rato)
 +
# Administrar actualizaciones: Seleccionamos ''sin actualizaciones automáticas'', nosotros seleccionaremos el momento adecuado para actualizar el sistema pues conocemos cómo funciona el sistema de gestión de paquetes ''apt''.
 +
# Programas a instalar: No selecciono ninguno de las agrupaciones de paquetes temáticos para reducir el tiempo de instalación, y continuamos.
 +
# GRUB: Indícamos que sí lo queremos instalar, pues es el gestor de arranque (sin él, ¡la máquina virtual no va a arrancar!)
 +
# Selección de la hora UTC, indicamos ''sí''.
 +
 
 +
Tras esto ya hemos completado una instalación manual de Ubuntu
 +
 
 +
= Paso 9: Instalación manual de Windows =
 +
 
 +
* Descarga de la versión de evaluación de Windows: windows evaluation
 +
 
 +
* https://dennisnotes.com/note/20180614-ubuntu-18.04-qemu-setup/

Revisión actual del 16:56 8 nov 2024

Para la realización de esta práctica necesitará de una imagen de Ubuntu Cloud que descargaremos de https://cloud-images.ubuntu.com/ y necesitaremos un sistema anfitrión con Ubuntu 22.04.

En esta práctica se empleará la imagen descargada de la web Ubuntu Cloud y se hará uso de la herramienta libguestfs-tools para configurarla.

A continuación, utilizaremos la imagen de Ubuntu ya configurada para ser importada al software de virtualización libvirt.

Paso 1: Descarga de la imagen Ubuntu Cloud

Entramos en https://cloud-images.ubuntu.com/ y descargamos la imagen de Ubuntu 22.04 LTS (Long Time Support).

Puedes descargarla directamente con la orden wget:

wget https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img

si comenzó a descargar verás una salida similar a esta:

-2019-08-06 12:26:26--  https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img
Resolviendo cloud-images.ubuntu.com (cloud-images.ubuntu.com)... 91.189.88.89, 2001:67c:1560:8001::8001
Conectando con cloud-images.ubuntu.com (cloud-images.ubuntu.com)[91.189.88.89]:443... conectado.
Petición HTTP enviada, esperando respuesta... 200 OK
Longitud: 343474176 (328M) [application/octet-stream]
Grabando a: “jammy-server-cloudimg-amd64.img”

jammu-server-cloudimg-amd64.img.   0%[                                                              ]   2,21M   472KB/s    eta 14m 6s

Espera hasta que la imagen esté descargada al 100%.

La imagen de Ubuntu cloud viene con 2 GBytes de espacio por defecto, puedes ampliar el tamaño con la siguiente orden antes de usarla en la máquina virtual:

qemu-img resize jammy-server-cloudimg-amd64.img +8G

Esto aumenta en 8 Gbytes la imagen, por tanto, quedas con una imagen de Ubuntu cloud de 10 GBytes.

Paso 3: Instalación del paquete libguestfs

'En los ordenadores del aula de prácticas estos paquetes ya estarán preinstalados, con lo que puedes saltarte este paso'.

A continuación, tienes que instalar los paquetes que ofrecen la herramienta virt-customize para configurar la imagen de Ubuntu que has descargado.

Podemos instalar estos paquetes con la herramienta apt desde el intérprete de órdenes.

Para Ubuntu 20.04:

sudo apt install libguestfs-tools

Activa el servicio de libvirt:

sudo systemctl enable libvirtd
sudo systemctl start libvirtd

Comprueba que el servicio está lanzado con:

sudo systemctl status libvirtd

Añade tu usuario al grupo libvirt-qemu:

sudo adduser practica libvirt
sudo adduser practica libvirt-qemu

Reinicia el sistema.

Paso 3: Configuración de la imagen de Ubuntu con virt-customize

La orden virt-customize permite establecer la contraseña del usuario administrador de la imagen que hemos descargado.

sudo virt-customize -a jammy-server-cloudimg-amd64.img --root-password password:coolpass

El ejemplo anterior muestra cómo configurar la imagen descargada para que disponga del usuario root, y en este caso, la contraseña es coolpass.

Paso 4: Instalación de libvirt e importación de imagenes

En primer lugar, instale libvirt en el sistema:

sudo apt install libvirt-clients libvirt-daemon

En los ordenadores del aula de prácticas este paquete ya estará preinstalado, con lo que puedes saltarte la orden anterior.

Para crear una máquina virtual con libvirt, tienes que hacer uso de virt-install:

virt-install --name mi-mv --memory 2048 --disk path=/home/usuario/jammy-server-cloudimg-amd64.img --network network=default --os-variant generic --import

En la orden anterior:

  • Se crea una máquina virtual denominada mi-mv
  • La memoria de la máquina virtual es de 2 GBytes (2048 Mbytes)
  • El --disk path indica la ruta a la imagen de Ubuntu Cloud
  • Se usa la configuración de red por defecto.
  • Se especifica que la variante de sistema operativo genérico
  • Se indica que se trata de una importación de una imagen con un sistema operativo ya instalado mediante --import

Recuerde modificar el nombre de la máquina virtual mi-mv y actualizar la ruta a la imagen de Ubuntu Cloud que ha descargado en el paso anterior.

Tras invocar este lo cual le aparecerá la pantalla de la máquina virtual en una ventana, puede salir de la pantalla al pulsar sobre "File -> Quit".

Para volver acceder a la pantalla de la máquina virtual en cualquier momento, puede hacer:

virt-viewer mi-mv

Para parar la máquina virtual:

virsh shutdown mi-mv

Para listar las máquinas virtuales existentes y comprobar su estado:

virsh list --all

Puede usar grep para localizar su máquina virtual y mostrar el estado en el que está.

virsh list --all | grep mi-mv

Para lanzar una máquina virtual apagada, puede usar:

virsh start mi-mv

Si necesita borrar una máquina virtual completamente (previamente apagada), puede hacerlo con:

virsh undefine mi-mv

tras los cual ya no aparecerá en el listado de virsh list --all.

Alternativamente, libvirt ofrece la interfaz gráfica 'virt-manager', que se puede instalar desde el intérprete de órdenes:

sudo apt install virt-manager
Interfaz de virt-manager.

Una vez instalada podemos lanzar virt-manager desde el intérprete de órdenes:

virt-manager

Desde la interfaz gráfica de virt-manager, creamos una nueva máquina virtual empleando la imagen de Ubuntu que hemos descargado en el paso 1 y la imagen generada por cloud-localds en el paso 3.

  1. Desde la interfaz de virt-manager creamos una nueva Máquina Virtual (Archivo --> Nueva máquina virtual)
  2. En la nueva ventana que se abre, seleccionamos Medio de instalación local y pulsamos Adelante.
  3. En Choose ISO or CDROM install media seleccionamos la imagen de media.img' creada en el paso 3; y desmarcamos la casilla de Detección automática para seleccionar nuestro Sistema Operativo, en este caso, Ubuntu 22.04 LTS. Vemos que todo queda como en la imagen y pulsamos Adelante. Puede emplear el botón de Explore localmente para localizar el fichero.
    Elegir imagen de configuración y SO.
  4. Seleccionamos la cantidad de memoria y de CPU que queremos, por defecto 2048 de Memoria y 1 CPU está bien.
  5. En el almacenamiento, vamos a seleccionar un almacenaje personalizado, y aquí sera donde seleccionemos la imagen de ubuntu descargada, en nuestro caso jammy-server-cloudimg-amd64.img y pulsamos Adelante. Puede emplear el botón de Explore localmente para localizar el fichero.
  6. En el último paso, podremos selecionar la red, por ahora dejaremos NAT por defecto y pulsamos Finalizar (Si nos pregunta si queremos crear una red NAT porque no está creada, le decimos que sí).
Ya tenemos nuestra máquina virtual creada con nuestra configuración. Ahora vamos a probar que todo funciona correctamente. La máquina debería de estar arrancando y debería de aparecer el mensaje de login.
Login de ubuntu.
Utilizamos como usuario ubuntu, que es el usuario por defecto y como contraseña empleamos la que hayamos elegido en el paso 3. Con esto nos validamos en el sistema con éxito.
Usuario ya validado, en el intérprete de ordenes

Ya disponemos de un intérprete de ordenes en nuestro sistema operativo Ubuntu cloud que corre sobre nuestra máquina virtual.

Nota: El teclado de la imagen de Ubuntu cloud que corre en la máquina virtual está en inglés, puedes cambiarlo con la siguiente orden:

loadkeys es

Para hacerlo de manera permanente:

dpkg-reconfigure keyboard-configuration

Además, es conveniente desactivar el siguiente servicio:

systemctl disable systemd-networkd-wait-oneline.service

pues ralentiza el arranque de la máquina virtual en 2 minutos, como se puede ver en:

systemd-analyze blame

que sirve para obtener los tiempos de arranque del kernel de Linux y de los servicios lanzados por systemd en tiempo de arranque.

Paso 5: Configuración de la red en libvirt

Antes de ver los detalles de red, vamos a hacer una pequeña diferencia entre las dos ventanas que tenemos abiertas, virt-manager principal y virt-manager máquina de ubuntu ejecutándose. En la primera tendremos las configuraciones generales y en la segunda tendremos las configuraciones de una máquina virtual concreta, en nuestro caso, la configuración de la máquina virtual de ubuntu.

Con esto, veremos dos formas de saber la IP de nuestra máquina virtual:

  1. En la ventana de nuestra máquina virtual de ubuntu, vamos a cambiar la vista y ver los detalles de nuestra máquina. Vista --> Detalles. Aquí tenemos toda la configuración de nuestra máquina, pero solo vamos a centrarnos en la Interfaz de red virtual, que es donde podremos ver cual es pa IP que tiene asiganada nuestra máquina y cual es la fuente de red que se está utilizando.
    Interfaz de red virtual.
  2. La otra opción es utilizando comandos, podemos utilizar ip address en la consola de nuestra máquina virtual.
$ sudo ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 3d:f0:ee:49:aa:22 brd ff:ff:ff:ff:ff:ff
    inet 192.168.100.168/24 brd 192.168.2.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::3e97:eff:fe39:dd20/64 scope link 
       valid_lft forever preferred_lft forever

Que nos permite comprobar que estamos utilizando la dirección IP 192.168.100.168.

Si la interfaz no muestra una dirección IP, puedes forzar la obtención de una dirección IP desde la máquina virtual para la interfaz ens3 con la orden:

sudo dhclient ens3

Vamos a comprobar ahora desde un terminal en el anfitrión que alcanzamos a nuestra máquina virtual.

ping 9.9.9.9

Deberíamos de ver una salida similar a la siguiente:

PING 192.168.100.168 (192.168.100.168) 56(84) bytes of data.
64 bytes from 192.168.100.168: icmp_seq=1 ttl=64 time=0.397 ms
64 bytes from 192.168.100.168: icmp_seq=2 ttl=64 time=0.409 ms
64 bytes from 192.168.100.168: icmp_seq=3 ttl=64 time=0.321 ms

Si hubiere algún problema de conectividad la salida sería de este tipo:

PING 192.168.100.168 (192.168.100.168) 56(84) bytes of data.
From 192.168.100.1 icmp_seq=1 Destination Host Unreachable
From 192.168.100.1 icmp_seq=2 Destination Host Unreachable
From 192.168.100.1 icmp_seq=3 Destination Host Unreachable

En dicho caso, puedes forzar la obtención de una dirección IP con la orden:

sudo dhclient ens3

Esto quiere decir que la configuración de red es incorrecta, o quizás que la dirección IP de tu máquina virtual no es 192.168.100.168 :-).

Dispones de más información suplementaria sobre la configuración de red en libvirt.

Paso 6: Clonado de máquinas virtuales

Vamos a reutilizar la configuración y la máquina virtual creada, para crear varias iguales. Empecemos:

  1. Apagamos la máquina virtual si la tenemos encendida, para que nos permita hacer un clonado. Máquina virtual --> Apagar --> Apagar
  2. En la ventana principal, pulsar botón derecho encima de la máquina virtual que queramos clonar, y pulsar Clonar ...
  3. En la ventana que nos aparece, por defecto seleccionará la misma red y creará una MAC diferente para la nueva máquina y clonará la imagen de ubuntu que usamos de almacenamiento. Le damos un nuevo nombre a nuestra máquina, y pulsamos en Clonar.
  4. Repetimos este paso hasta que tengamos toda las máquinas virtuales deseadas, en nuestro caso, solo crearemos una para probar los detalles de red.

Ahora arrancaremos la máquina original y la clonada, y vamos a comprobar que ambas están en la misma red y que pueden verse entre ellas. Como comentamos en el paso anterior, comprobaremos la IP de la máquina virtual original y de la clonada, y haremos ping desde dentro de las máquinas para comprobar que se ven.

Es posible clonar una máquina virtual desde el intérprete de órdenes:

virt-clone --original mi-mv --name mi-mv-clone --auto-clone

Ejemplo:

  • Máquina original tiene IP 192.168.100.168
  • Máquina clonada tiene IP 192.168.100.169
  • Desde la máquina original haremos un ping 192.168.100.169
  • Desde la máquina clonada haremos un ping 192.168.100.168
  • Desde ambas máquinas, comprobaremos que la puerta de enlace es la misma, haciendo un ip route.
  • Desde la máquina host, deberíamos de obtener ping hacía las dos máquinas

Paso 7: Instantáneas de máquinas virtuales

Las instantáneas nos permiten almacenar una captura del estado de la ejecución de una máquina virtual en un cierto instante tiempo que podremos restaurar cuando sea necesario. Las instantáneas te serán útiles si tienes trabajo a medio hacer en la máquina virtual, de manera que quieras guardar lo que has hecho para restaurarlo posteriormente.

Para crear una instantánea, accedemos a la máquina virtual en ejecución y desplegamos el menú Vista y pinchamos sobre Capturas de Pantalla (Snapshot). Después pulsamos en el botón + que aparece abajo a la izquierda, indicamos el nombre de la instantánea y le damos a Finalizar'.

La creación de instantáneas toma algo de tiempo, sé paciente. Puedes almacenar tantas instantáneas como quieras. El nombre Captura de pantalla es una traducción poco afortunada del inglés snapshot que se refiere al término instantánea.

Paso 8: Instalación manual de Linux

Además de la instalación a partir de la imagen de Ubuntu Cloud, es posible realizar una instalación desde cero haciendo uso del instalador de Ubuntu. Este proceso es más lento que el de utilizar la imagen de Ubuntu Cloud.

Descarga la imagen de Ubuntu minimal CD

Lo primero es descargar la imagen del instalador de Ubuntu:

wget http://archive.ubuntu.com/ubuntu/dists/jammy/main/installer-amd64/current/images/netboot/mini.iso

Creación del disco duro virtual

Hay que crear un disco duro virtual que esté inicialmente vacío:

qemu-img create -f qcow2 server-base.qcow 5G

Tras esto disponemos de un disco duro con capacidad de 5 GBytes que poner usar en una máquina virtual.

Creación de la máquina virtual

  1. Marcamos medio de instalación local (imagen ISO o CDROM) y seleccionamos la imagen mini.iso que es el fichero que hemos descargado y que contiene la imagen del instalador de Ubuntu.
  2. Marcamos seleccionar almacenaje personalizado y seleccionamos el fichero server-base.qcow2 que contiene la imagen virtual (la creamos anteriormente).

Instalación manual de Ubuntu por pasos

texto alternativo
  1. Una vez arranca el instalador de Ubuntu, seleccionamos Install y le damos a la tecla intro.
  2. Configuración del teclado: Seleccionamos el idioma y el teclado Spanish (o cualquier otro que prefiramos). En la selección de teclado, recomendamos indicar que no realice la autodetección del teclado, de manera que selecciones de manual manual el tipo de teclado del que dispones.
  3. Selección de repositorio de réplica: Indicamos Spain para hacer uso del repositorio que contiene el catálogo de software de Ubuntu más cercano a nosotros, para que los tiempos de descarga sean lo menor posible.
  4. Selección de nombre de usuario y cuenta: Especificáis el nombre que queráis, así como una contraseña.
  5. Selección de zona horaria: Seleccionamos Spain e indicamos que estamos en la Península.
  6. Método de particionado: Seleccioamos guiado pues es el más sencillo, y utilizamos todo el disco. Nos mostrará un disco virtual (vda) de 5 Gbytes (o lo que hayamos selecionado al crear el disco virtual con qemu-img).
  7. ... tras esto comienza la instalación del sistema de base ... (toma un rato)
  8. Administrar actualizaciones: Seleccionamos sin actualizaciones automáticas, nosotros seleccionaremos el momento adecuado para actualizar el sistema pues conocemos cómo funciona el sistema de gestión de paquetes apt.
  9. Programas a instalar: No selecciono ninguno de las agrupaciones de paquetes temáticos para reducir el tiempo de instalación, y continuamos.
  10. GRUB: Indícamos que sí lo queremos instalar, pues es el gestor de arranque (sin él, ¡la máquina virtual no va a arrancar!)
  11. Selección de la hora UTC, indicamos .

Tras esto ya hemos completado una instalación manual de Ubuntu

Paso 9: Instalación manual de Windows

  • Descarga de la versión de evaluación de Windows: windows evaluation