Tutorial detallado: instale Ubuntu 20.04 en Hyper-V con sesión mejorada
Utilizar el Enhanced session mode en Microsoft Hyper-V Manager es una forma más cómoda de gestionar VMs que el modo de sesión básico en VMConnect. El Enhanced session mode utiliza el Protocolo de Escritorio Remoto (RDP) para permitirle adjuntar recursos de la máquina host (unidades, dispositivos USB, impresoras, etc.) a las máquinas virtuales. Cuando se utiliza este modo, ciertas acciones se vuelven disponibles para usted como la capacidad de cambiar el tamaño de la pantalla de una máquina virtual, copiar y pegar texto de un host a un invitado, y al revés, etc.
Activar el Enhanced session mode es sencillo en Windows ejecutándose como sistema operativo invitado en Hyper-V, ya que Windows viene con la función de Escritorio Remoto. Sin embargo, para las distribuciones Linux que se ejecutan como sistemas operativos invitados en Hyper-V, el escritorio remoto no está preconfigurado. Ubuntu 20.04 LTS, que es bastante popular en estos días, a menudo se implementa en máquinas virtuales Hyper-V, en particular, cuando no se puede instalar Linux como sistema operativo anfitrión. Sigue leyendo para aprender a utilizar Hyper-V en el modo de sesión mejorada para ejecutar Ubuntu en Windows.
Creación y configuración de una máquina virtual
Vamos a ver cómo crear y configurar un Ubuntu 20.04 VM desde cero en Hyper-V. En esta entrada de blog, estoy usando Windows 10 Pro versión 20H2 con Hyper-V instalado. El nombre de host de mi máquina host Windows 10 es home-pc. Tienes que habilitar Hyper-V antes de poder ejecutar la máquina virtual de Ubuntu. Si no tiene Hyper-V instalado en su host Windows, lea cómo instalar Hyper-V en Windows 10 y Windows Server 2019.
Para crear una nueva máquina virtual en Hyper-V, abra Hyper-V Manager, haga clic con el botón derecho en el nombre de su máquina host y, en el menú contextual, haga clic en New > Virtual Machine.
Se abre el New Virtual Machine Wizard. Puede omitir el paso Before You Begin.
Specify Name and Location. Introduzca un nombre de máquina virtual, por ejemplo, Ubuntu Hyper-V. Seleccione la casilla Store the virtual machine in a different location, y seleccione la carpeta donde desea almacenar los archivos de la VM, por ejemplo, E:\VMs\. Pulse Next en cada paso del asistente para continuar.
Specify Generation. Seleccione la generación de la nueva máquina virtual. Es mejor elegir la Generación 2 porque dispone de más funciones y los límites son más altos. Las máquinas virtuales de segunda generación utilizan UEFI. Más información sobre las máquinas virtuales Hyper-V de Generación 1 y Generación 2.
Assign Memory. Especifica la cantidad de memoria disponible para la máquina virtual. Selecciono 4096 MB, que es suficiente para ejecutar Ubuntu sin realizar tareas pesadas. Seleccione la casilla de verificación Use Dynamic Memory for this virtual machine. Cuanta más memoria asignes a la máquina virtual, más cómodo será el trabajo. No asigne toda la memoria de su ordenador a la máquina virtual; deje memoria para el sistema operativo anfitrión. Si ejecutas otras VMs simultáneamente con esta VM Linux, recuerda que las otras VMs también necesitan memoria.
Configure Networking. Seleccione un conmutador virtual al que se conectará el adaptador de red virtual de la máquina virtual. Si no ha creado ningún conmutador virtual, puede hacerlo más tarde y editar la configuración de la máquina virtual.
Connect Virtual Hard Disk. Haga clic en Create a virtual hard disk. Introduzca el nombre del disco virtual, por ejemplo, Ubuntu Hyper-V.vhdx. Defina la ubicación del archivo del disco virtual. Debe seleccionar la ubicación en su directorio utilizada para almacenar las máquinas virtuales Hyper-V. En mi caso, el directorio seleccionado es E:\VMs\Ubuntu Hyper-V\Virtual Hard Disks\. Ajuste el tamaño del disco virtual. Selecciono 15 GB para mi Ubuntu 20.04 VM utilizado para fines de prueba.
Installation Options. Seleccione Install an operating system from a bootable image file. Haga clic en Browse y seleccione la ubicación de la imagen de instalación ISO de Ubuntu 20.04. La versión de Ubuntu que voy a instalar es la 20.04.2. Puede descargar la imagen de instalación desde el sitio web oficial de Ubuntu.
Summary. Compruebe el resumen de configuración y haga clic en Finish para terminar la creación de la nueva máquina virtual.
Abra los ajustes de la máquina virtual Ubuntu Hyper-V que ya ha creado. Haga clic con el botón derecho en la máquina virtual Hyper-V de Ubuntu en Hyper-V Manager y, en el menú contextual, pulse Settings.
En el panel de navegación, seleccione Security en la sección Hardware y anule la selección de la casilla Enable Secure Boot. El arranque seguro no es necesario para esta máquina virtual. Puede comprobar y editar otros ajustes de la máquina virtual si es necesario. Pulse OK para guardar los ajustes y cerrar esta ventana.
Instalación de Ubuntu 20.04 en una máquina virtual
Una vez creada la nueva máquina virtual, debe instalar Ubuntu 20.04 como sistema operativo invitado en esta VM. Encienda la máquina virtual, el instalador de Ubuntu 20.04 debería arrancar desde la imagen de instalación ISO adjunta. El proceso de instalación de Ubuntu Linux se explica en detalle en la entrada del blog sobre la instalación de Linux en Hyper-V.
Me centraré sólo en dos pasos de las instalaciones. En este ejemplo, selecciono Normal installation con la opción Download updates while installing Ubuntu 20.04.
La opción importante que debes seleccionar es require the password to log in sesión en el paso “Who are you?” de la instalación. El uso del modo de sesión mejorado para la máquina virtual Ubuntu en Hyper-V no está disponible si se selecciona la opción Log in automatically.
Los servicios de integración de Hyper-V de Ubuntu forman parte de la distribución de Linux, por lo que no es necesario instalar manualmente el paquete descargado proporcionado por Microsoft.
Configuración posterior a la instalación en Ubuntu
Hay cosas importantes que hacer después de instalar Ubuntu 20.0. Tienes que descargar y ejecutar el script para configurar Ubuntu 20.04 instalado en una máquina virtual Hyper-V como sistema operativo invitado para que funcione el modo de sesión mejorado.
Abra la consola (terminal) en Ubuntu 20.04.
Vaya al directorio de descargas:
cd ~/Downloads/
Descargue el script actualizado para Ubuntu 20.04:
wget https://raw.githubusercontent.com/Hinara/linux-vm-tools/ubuntu20-04/ubuntu/20.04/install.sh
Añade permisos de ejecución al archivo de script install.sh descargado:
sudo chmod +x install.sh
Ejecuta el script con privilegios de root:
sudo ./install.sh
Cuando finalice la ejecución del script, se le pedirá que reinicie Ubuntu 20.04 y ejecute el script de nuevo tras el reinicio.
Reinicie la máquina Linux:
init 6
Después de reiniciar, abra el terminal, vaya al directorio donde se encuentra el script, y ejecute el script una vez más:
cd ~/Downloads/
sudo ./install.sh
Reinicie su máquina virtual Ubuntu cuando finalice la ejecución del script.
Configuración en el equipo host Windows que ejecuta Hyper-V
Debe permitir el modo de sesión mejorado en los ajustes generales de Hyper-V. De lo contrario, el icono del modo de sesión mejorado estará inactivo en la ventana VM. Abra Hyper-V Manager, haga clic con el botón derecho del ratón en el nombre del equipo host Windows en el que está instalado Hyper-V y, en el menú contextual, haga clic en Hyper-V Settings.
Seleccione la Enhanced Session Mode Policy en el panel de navegación y, a continuación, active la casilla de verificación Allow enhanced session mode. Pulse OK para guardar los ajustes de Hyper-V y cierre la ventana.
Ahora debe configurar Hyper-V para habilitar el modo de sesión mejorada utilizando el HvSocket para la VM «Ubuntu Hyper-V» en la que está instalado Ubuntu 20.04.
Ejecute este comando en PowerShell (como administrador) en la máquina host Windows que ejecuta Hyper-V:
Set-VM -VMName <your_vm_name> -EnhancedSessionTransportType HvSocket
Utilice cuotas dobles si el nombre de la máquina virtual contiene espacios. En mi caso el comando es:
Set-VM -VMName "Ubuntu Hyper-V" -EnhancedSessionTransportType HvSocket
Es posible que vea el siguiente error:
Set-VM : No se puede encontrar un parámetro que coincida con el nombre del parámetro ‘EnhancedSessionTransportType’.
At line:1 char:30
+ Set-VM -VMName «Ubuntu20-04» -EnhancedSessionTransportType HvSocket
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Set-VM], ParameterBindingException
+ FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.HyperV.PowerShell.Commands.SetVM
Este error puede producirse si se utiliza la versión antigua de PowerShell, que no es compatible con los nuevos cmdlets y parámetros.
En este caso, siga esta recomendación: Intente actualizar el sistema operativo Windows del host a Windows Server 2019, Windows 10 1803 o una versión más reciente. Si no puede actualizar el sistema operativo, actualice Windows PowerShell a una versión más reciente que incluya los cmdlets y funciones necesarios.
Es posible que tenga que reiniciar el host Hyper-V (no olvide ejecutar el último comando para habilitar el modo de sesión mejorado para Ubuntu 20.04 para Hyper-V en PowerShell). Detener e iniciar la máquina virtual Linux. Cuando arranque Ubuntu, debería ver una ventana con la configuración de la pantalla de la máquina virtual y otras opciones del modo de sesión mejorado. Haga clic en Show options y seleccione los recursos necesarios en la pestaña Local resources para conectar los recursos del host al SO invitado (Ubuntu 20.04 en nuestro caso) de la máquina virtual. Se recomienda desmarcar las impresoras por primera vez para reducir la probabilidad de problemas.
Introduzca el nombre de usuario y la contraseña de su usuario de Ubuntu en la ventana de inicio de sesión de Xorg. Observe que el botón de modo de sesión mejorado está ahora activo en la ventana de la máquina virtual.
Ahora debería ver la GUI (interfaz gráfica de usuario) y el Escritorio de Ubuntu 20.04. Intenta utilizar el portapapeles compartido y otras funciones de uso compartido, y cambiar la resolución de pantalla en la VM.
Si ve una pantalla negra después de introducir sus credenciales, la razón puede ser la siguiente: Un usuario ya ha iniciado sesión en la sesión de escritorio de Ubuntu. Cerrar la sesión del usuario y finalizar esa sesión. A continuación, intente conectarse a Ubuntu utilizando el modo de sesión mejorada y Xrdp en Hyper-V. Puede reiniciar la máquina virtual de Ubuntu y conectarse a Ubuntu con el modo de sesión mejorado.
Si la opción de sesión mejorada no está disponible para su invitado Ubuntu 20.04 en Hyper-V, intente editar el archivo de configuración xrdp.ini ubicado en /etc/xrdp. Debe editar el archivo con privilegios de root. Edite dos líneas en el archivo xrdp.ini.
Cambia estos parámetros:
port=3389 to port=vsock://-1:3389
use_vsock=true to use_vsock=false
Este problema debería estar solucionado para Ubuntu 20.04.1.
Lea también la entrada del blog sobre la configuración de RDP en Linux para aprender más sobre la configuración manual.
Conclusión
Ubuntu Linux es un gran sistema operativo, cómodo, fiable y muy utilizado en todo el mundo. Si utiliza Windows instalado en su ordenador como sistema operativo anfitrión, puede ejecutar Ubuntu en una máquina virtual Hyper-V. Esta entrada del blog ha explicado cómo habilitar el modo de sesión mejorada para una máquina virtual que ejecuta Ubuntu 20.04 en Hyper-V. En este tutorial se utiliza Windows 10 20H2 como máquina anfitriona. Puede realizar la misma configuración en Windows Server 2019. El modo de sesión mejorado le ofrece funciones adicionales para trabajar con la máquina virtual de forma más cómoda. El punto principal de la configuración es ejecutar el script de configuración en el invitado de Ubuntu.
Si utiliza máquinas virtuales Hyper-V, no olvide hacer backups de Hyper-V para proteger los datos de sus máquinas virtuales. Descargue la edición gratuita de NAKIVO Backup & Replication, y haga backups de las máquinas virtuales en sus hosts Hyper-V.