Guía con detalles: Instalación de Ubuntu 20.04 en Hyper-V con sesión mejorada
El uso del modo de sesión mejorada en el Administrador de Microsoft Hyper-V es una forma más cómoda de gestionar máquinas virtuales que el modo de sesión básico de VMConnect. El modo de sesión mejorada utiliza el Protocolo de Escritorio Remoto (RDP) para permitirte conectar recursos del equipo host (unidades, dispositivos USB, impresoras, etc.) a las máquinas virtuales. Al utilizar este modo, se habilitan ciertas acciones, como la posibilidad de cambiar el tamaño de la pantalla de una máquina virtual, copiar y pegar texto del sistema host al invitado y viceversa, etc.
Activar el modo de sesión mejorada es sencillo en Windows cuando se ejecuta como sistema operativo invitado en Hyper-V, ya que Windows incluye de serie la función de Escritorio remoto. Sin embargo, en el caso de las distribuciones de Linux que se ejecutan como sistemas operativos invitados en Hyper-V, el escritorio remoto no viene preconfigurado. Ubuntu 20.04 LTS, que goza de gran popularidad en la actualidad, se suele instalar en máquinas virtuales de Hyper-V, sobre todo cuando no es posible instalar Linux como sistema operativo anfitrión. Sigue leyendo para descubrir cómo 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
Veamos cómo crear y configurar una máquina virtual Ubuntu 20.04 desde cero en Hyper-V. En esta publicación de blog, estoy usando Windows 10 Pro versión 20H2 con Hyper-V instalado. El nombre de la máquina host de mi Windows 10 es home-pc. Debes habilitar Hyper-V antes de poder ejecutar la máquina virtual Ubuntu. Si no tienes Hyper-V instalado en tu host de Windows, lee cómo Instalar Hyper-V en Windows 10 y Windows Server 2019.
Para crear una nueva máquina virtual en Hyper-V, abre el Administrador de Hyper-V, haz clic derecho en el nombre de tu máquina host y en el menú de contexto, selecciona New > Virtual Machine.
El Asistente para Nuevas Máquinas Virtuales se abre. Puedes omitir el paso Antes de Comenzar .
Specify Name and Location. Ingresa un nombre para la máquina virtual, por ejemplo, Ubuntu Hyper-V . Selecciona el Store the virtual machine in a different location casilla de verificación, y selecciona la carpeta donde deseas almacenar los archivos de la máquina virtual, por ejemplo, E:VMs . Presiona Next en cada paso del asistente para continuar.
Specify Generation. Selecciona la generación de la nueva máquina virtual. Es mejor seleccionar Generación 2 porque hay más funciones disponibles y los límites son más altos. Las máquinas virtuales de Generación 2 utilizan UEFI. Leer más sobre máquinas virtuales de Hyper-V Generación 1 y Generación 2.
Assign Memory. Especifica la cantidad de memoria disponible para la máquina virtual. Selecciono 4096 MB, suficiente para ejecutar Ubuntu sin realizar tareas pesadas. Marca la casilla para Use Dynamic Memory for this virtual machine. Cuanta más memoria asignes a la máquina virtual, más conveniente será el trabajo. No asignes toda la memoria de tu computadora a la máquina virtual; deja memoria para el sistema operativo host. Si ejecutas otras máquinas virtuales simultáneamente con esta máquina virtual Linux, recuerda que las otras máquinas virtuales también necesitan memoria.
Configure Networking. Selecciona un conmutador virtual al cual el red adaptador de la máquina virtual se conectará. Si no has creado ningún conmutador virtual, puedes hacerlo más tarde y editar la configuración de la máquina virtual.
Connect Virtual Hard Disk. Haz clic en Create a virtual hard disk. Ingresa el nombre del disco virtual, por ejemplo, Ubuntu Hyper-V.vhdx . Define la ubicación del archivo del disco virtual. Debes seleccionar la ubicación en tu directorio utilizado para almacenar máquinas virtuales Hyper-V. En mi caso, el directorio seleccionado es E:VMsUbuntu Hyper-VVirtual Hard Disks . Establece el tamaño del disco virtual. Selecciono 15 GB para mi máquina virtual Ubuntu 20.04 utilizada con fines de prueba.
Installation Options. Selecciona Install an operating system from a bootable image file. Haz clic en Browse y selecciona la ubicación de la imagen de instalación de Ubuntu 20.04 ISO. La versión de Ubuntu que voy a instalar es 20.04.2. Puedes descargar la imagen de instalación desde el página web oficial de Ubuntu.
Summary. Verifica el resumen de configuración y haz clic en Finish para finalizar 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 derecho en la máquina virtual Ubuntu Hyper-V en el Gestor de Hyper-V y, en el menú contextual, haga clic en Settings.
En el panel de navegación, seleccione Seguridad en la sección de Hardware , y desmarque la casilla Enable Secure Boot. El inicio seguro no es necesario para esta máquina virtual. Puede consultar y editar otros ajustes de la máquina virtual si es necesario. Haga clic en OK para guardar ajustes y cerrar esta ventana.
Instalando 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 máquina virtual. Encienda la máquina virtual, el instalador de Ubuntu 20.04 debería iniciarse desde la imagen de instalación ISO adjunta. El proceso de instalación de Ubuntu Linux se explica en detalle en la publicación del blog sobre Instalación de Linux en Hyper-V.
Me enfocaré únicamente en dos pasos de instalación. En este ejemplo, selecciono Normal installation con la opción de Download updates while installing Ubuntu 20.04.
La opción importante que debe seleccionar es require the password to log in en el paso «¿Quién es usted?» de la instalación. Usar el modo de sesión mejorado para la máquina virtual Ubuntu en Hyper-V no está disponible si la opción Iniciar sesión automáticamente está seleccionada.
Los servicios de integración de Hyper-V para Ubuntu son parte de la distribución de Linux y no necesita instalar el paquete descargado proporcionado por Microsoft manualmente.
Configuración post-instalación en Ubuntu
Hay cosas importantes que hacer después de instalar Ubuntu 20.04. Debe descargar y ejecutar el script para configurar Ubuntu 20.04 instalado en una máquina virtual de Hyper-V como un sistema operativo invitado para que el modo de sesión mejorado funcione.
Abra la consola (terminal) en Ubuntu 20.04.
Vaya al directorio de Descargas:
cd ~/Downloads/
Descargar el script actualizado para Ubuntu 20.04:
wget https://raw.githubusercontent.com/Hinara/linux-vm-tools/ubuntu20-04/ubuntu/20.04/install.sh
Agregue permisos de ejecución al archivo de script descargado install.sh:
sudo chmod +x install.sh
Ejecute el script con privilegios de root:
sudo ./install.sh
Cuando finaliza la ejecución del script, se le solicita que reinicie Ubuntu 20.04 y ejecute el script nuevamente después de reiniciar.
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 la Máquina Windows Host que ejecuta Hyper-V
Debe permitir el modo de sesión mejorada en los ajustes generales de Hyper-V. De lo contrario, el ícono del modo de sesión mejorada estará inactivo en la ventana de la máquina virtual. Abra el Administrador de Hyper-V, haga clic derecho en el nombre de su máquina anfitriona con Windows en la cual está instalado Hyper-V, y en el menú contextual, haga clic en Hyper-V Settings.
Seleccione la Política de Modo de Sesión Mejorada en el panel de navegación, y luego marque la casilla Allow enhanced session mode. Presione OK para guardar los ajustes de Hyper-V y cerrar la ventana.
Ahora deberá configurar Hyper-V para habilitar el modo de sesión mejorada usando el HvSocket para la VM “Ubuntu Hyper-V” en la cual está instalado Ubuntu 20.04.
Ejecute este comando en PowerShell (como administrador) en la máquina anfitriona con Windows ejecutando Hyper-V:
Set-VM -VMName <your_vm_name> -EnhancedSessionTransportType HvSocket
Use comillas 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
Puede ver el siguiente error:
Set-VM : No se puede encontrar un parámetro que coincida con el nombre del parámetro ‘EnhancedSessionTransportType’.
En la línea:1 carácter:30
+ Set-VM -VMName «Ubuntu20-04» -EnhancedSessionTransportType HvSocket
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Set-VM], ParameterBindingException
+ FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.HyperV.PowerShell.Commands.SetVM
Este error puede ocurrir si usa la versión antigua de PowerShell, que no soporta los nuevos cmdlets y parámetros.
En este caso, siga esta recomendación: Intente actualizar su sistema operativo Windows anfitrión a Windows Server 2019, Windows 10 1803, o 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 características necesarios.
Es posible que necesite reiniciar el anfitrión de Hyper-V (no olvide ejecutar el último comando para habilitar el modo de sesión mejorada para Ubuntu 20.04 para Hyper-V en PowerShell). Detenga y reinicie la máquina virtual de Linux. Cuando Ubuntu esté iniciada, debería ver una ventana con la configuración de visualización de la máquina virtual y otras opciones del modo de sesión mejorada. Haga clic en Show options, y seleccione los recursos necesarios en la pestaña Recursos Locales para conectar los recursos del anfitrión al sistema operativo invitado (Ubuntu 20.04 en nuestro caso) de la máquina virtual. Se recomienda que desmarque las impresoras por primera vez para reducir la probabilidad de problemas.
Ingrese 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 mejorada ahora está 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. Prueba a utilizar el portapapeles compartido y otras funciones de uso compartido, así como a cambiar la resolución de pantalla en la máquina virtual.
Si ves una pantalla negra después de introducir tus credenciales, el motivo puede ser el siguiente: ya hay un usuario conectado a la sesión de escritorio de Ubuntu. Cierra sesión en ese usuario y finaliza dicha sesión. A continuación, intenta conectarte a Ubuntu utilizando el modo de sesión mejorada y Xrdp en Hyper-V. Puedes reiniciar la máquina virtual de Ubuntu y conectarte a Ubuntu con el modo de sesión mejorada.
Si la opción de sesión mejorada no está disponible para tu máquina invitada de Ubuntu 20.04 en Hyper-V, intenta editar el archivo de configuración xrdp.ini ubicado en /etc/xrdp. Debes editar el archivo con privilegios de root. Edita dos líneas del 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 en Ubuntu 20.04.1.
Lee también la entrada del blog sobre Configuración de RDP en Linux para obtener más información sobre la configuración manual.
Conclusión
Ubuntu Linux es un excelente sistema operativo, cómodo, fiable y ampliamente utilizado en todo el mundo. Si utilizas Windows instalado en tu ordenador como sistema operativo anfitrión, puedes ejecutar Ubuntu en una Máquina virtual de Hyper-V. En esta entrada del blog se ha explicado cómo habilitar el modo de sesión mejorado 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. Puedes realizar la misma configuración en Windows Server 2019. El modo de sesión mejorado te ofrece funciones adicionales para trabajar con la máquina virtual de forma más cómoda. El paso clave de la configuración consiste en ejecutar el script de configuración en el sistema invitado de Ubuntu.
Si utilizas máquinas virtuales de Hyper-V, no olvides realizar un backup de Hyper-V para proteger los datos de tus máquinas virtuales. Descarga la edición gratuita de NAKIVO Backup & Replication y realiza backups de las máquinas virtuales en tus hosts de Hyper-V.




















