Paso de dispositivo USB (redireccionamiento) a máquina virtual Hyper-V

Una de las desventajas significativas de Hyper-V sobre otros hipervisores (por ejemplo, VMWare ESXi o Proxmox) es la falta de una función para redirigir dispositivos USB desde el host a las máquinas virtuales. Desde la versión Hyper-V 2012 R2, ha habido una serie de cambios con respecto a las opciones de USB Passthrough, pero esta funcionalidad sigue siendo inferior a la de la competencia. En este artículo, discutiremos los detalles de la redirección USB en Hyper-V.

Una descripción general de Hyper-V USB Passthrough

transferencia USB se refiere a la capacidad de redirigir un dispositivo USB desde el hipervisor host (oa través de la red desde otro servidor/dispositivo) a una máquina virtual. Con un paso de USB, puede redirigir una memoria USB, un token, un dongle USB, un módem o cualquier otro dispositivo conectado al puerto USB del host físico a la máquina virtual.

La mala noticia es que Hyper-V no es compatible con el paso de USB con todas las funciones. No puede redirigir un dispositivo USB arbitrario desde un host físico a una máquina virtual (VMWare es mucho mejor con esto; consulte el artículo Transferencia de USB en VMWare ESXi). Hay varias opciones integradas para usar un dispositivo USB externo en una máquina virtual Hyper-V, pero todas tienen limitaciones significativas. Actualmente, puede usar las siguientes formas de redirigir un dispositivo USB a una máquina virtual Hyper-V.

  • Redirigir unidades USB desde el host Hyper-V;
  • Modo de sesión mejorado en la consola Hyper-V;
  • Redirección USB a través de RDP;
  • Uso de una solución de software/hardware para la redirección de USB a través de la red (USB sobre IP).

El último escenario implica el uso de soluciones de terceros para implementar USB sobre IP. Puede ser un concentrador USB de red, una solución de software para redirigir un dispositivo USB a través de una red TCP/IP desde otro servidor. La mayoría de las soluciones comerciales populares son de pago (AnywhereUSB, DigiUSB). Los gratuitos incluyen VirtualHere USB (gratis para un dongle USB y un servidor de destino) y un proyecto de código abierto bastante antiguo. usbip.sourceforge.net (la parte del servidor se implementa en Linux, el cliente se puede instalar en Windows).

Acceso a un disco duro USB desde una máquina virtual Hyper-V

Puede redirigir con bastante facilidad una unidad USB conectada al host directamente dentro de cualquier máquina virtual Hyper-V en ejecución. Veamos cómo otorgar a una máquina virtual Hyper-V acceso directo a la unidad USB del host.

Nota.

  1. Esta guía solo funciona para las unidades USB que el sistema detecta como reparado. No puede redirigir a VM de esta manera unidades flash USB, tarjetas inteligentes y otros dispositivos extraíbles (aunque hay un pequeño truco para que Windows vea un dispositivo extraíble como un disco duro fijo).
  2. Para estas unidades, no puede crear una instantánea/punto de control.
  1. Conecte una unidad USB externa al host de Hyper-V (puede ser cualquier host con Windows y el rol de Hyper-V instalado, o un servidor Microsoft Hyper-V gratuito). La unidad aparecerá en un sistema y se le asignará una letra de unidad (si no se ha asignado una letra de unidad, consulte el artículo);
  2. Abre el Gestión de discos (diskmgmt.msc), haga clic con el botón derecho en la unidad (en nuestro ejemplo, la ID de la unidad USB de 20 GB es Disco 1) y seleccione Desconectado. administración de discos: configure la unidad USB fuera de línea en Hyper-V
    Si está utilizando Windows Server Core o Hyper-V Server, que no tienen algunos de los complementos gráficos de mmc, puede administrar sus discos locales mediante el módulo Administración de discos de PowerShell. Los siguientes comandos pueden enumerar los discos físicos en el host y desconectar el disco especificado:
    Get-Disk
    Get-Disk -Number 1 |Set-Disk -IsOffline:$true

    PowerShell establece el disco USB fuera de línea
  3. Ejecute el Administrador de Hyper-V y abra las propiedades de la máquina virtual, a la que debe conectarse una unidad USB. En el Controlador SCSI sección, agregue un nuevo disco, indicando que es físico (Disco duro físico). En el menú desplegable, seleccione su unidad USB (se verá así: Disco 1 20,00 Gb Bus 0 Lun 0 Destino 1).Nota. No necesita apagar la máquina virtual para agregar un disco duro SCSI. Para dispositivos SCSI, se admiten unidades de extracción y adición en caliente.

    Monte la unidad USB en una máquina virtual desde el host Hyper-V

  4. Ahora mostraremos cómo acceder a un disco USB en un host Hyper-V desde el sistema operativo invitado de una máquina virtual que ejecuta Windows. Abra la consola de la máquina virtual o conéctese a ella a través de RDP. Inicie sesión en el sistema operativo invitado. Ejecute el Administrador de discos. El sistema operativo debería ver la nueva unidad. Si está fuera de línea, haga clic derecho sobre él y seleccione En línea. En este momento, no se asignan letras de unidad ni puntos de montaje a las particiones en un disco USB. Para solucionar esto, haga clic con el botón derecho en la partición del disco y seleccione «Cambiar la letra de la unidad y las rutas” del menú contextual. Asigne cualquier letra de unidad libre a la partición o especifique un punto de montaje. letra de unidad del conjunto de gestión de discos

¡Eso es todo! Ha conectado directamente un medio USB externo a la máquina virtual Hyper-V y ahora puede usarlo.

Importante. Para evitar la pérdida de datos, antes de retirar físicamente el disco duro del puerto USB, asegúrese de que ninguna aplicación de la máquina virtual acceda a este disco.

Para retirar con seguridad la unidad USB, puede abrir la Administrar Hyper-Vr y vaya a la ventana de configuración de la máquina virtual. En el Controlador SCSI sección, seleccione el disco duro que desea eliminar y haga clic en Remover. Guarde sus cambios. Después de eso, puede quitar físicamente el disco duro del puerto USB del host Hyper-V.

Redirigir el dispositivo USB a la máquina virtual con el modo de sesión mejorado de Hyper-V

En la versión de Hyper-V presentada en Windows Server 2012 R2/8.1, cualquier dispositivo USB se puede reenviar a una máquina virtual desde una computadora cliente usando Modo de sesión mejorado (ESM). La herramienta Administrador de Hyper-V vmconnect.exe se utiliza para conectarse. Le permite conectarse a la consola de la máquina virtual y seleccionar los dispositivos USB que desea redirigir.

Primero debe habilitar el Modo de sesión mejorado en la configuración del servidor Hyper-V. Esto se puede hacer usando PowerShell:

Set-VMHost -EnableEnhancedSessionMode $true

O en Configuración de Hyper-V -> Modo de sesión mejorado.

habilite el modo de sesión mejorado en el host hyper-v

Reinicie el servicio de administración de máquinas virtuales de Hyper-V:
Get-Service vmms | Restart-Service

En el Servicios de integración sección de la configuración de la máquina virtual, debe habilitar la Servicios de invitado opción.

Para redirigir el dispositivo USB a través del modo de sesión mejorado, debe abrir la consola de Hyper-V, seleccionar la máquina virtual y hacer clic en el botón Conectar botón. O puede ejecutar el vmconnect.exe (Conexión de máquina virtual), especifique el servidor Hyper-V y el nombre de la máquina virtual. La herramienta vmconnect admite algunas opciones de línea de comandos, por lo que puede proporcionar un archivo bat personalizado con las opciones que desee a los usuarios.

vmconnect.exe: conexión de la consola de la máquina virtual Hyper-V

Si la máquina virtual admite el modo de sesión mejorado, aparecerá una ventana similar a las propiedades de conexión RDP. Hacer clic Mostrar opción -> Recursos locales -> Dispositivo y recursos locales -> Más.

conexión de máquina virtual - opciones

Seleccione los dispositivos USB en su computadora para ser redirigidos a la VM. Si el dispositivo que desea no está conectado actualmente, seleccione «Otros dispositivos Plug and Play (PnP) compatibles» y «Dispositivos que conecto en opciones posteriores”.

Redirigir el dispositivo USB a la máquina virtual Hyper-V a través de la consola

Ahora todos los dispositivos USB conectados a su computadora estarán automáticamente disponibles en la sesión de consola de la máquina virtual Hyper-V.

Características y limitaciones clave del modo de sesión mejorado de Hyper-V:

  • Solo se admite Windows como sistema operativo invitado (a partir de Windows 8.1/Windows Server 2012 R2);
  • No necesita acceso de red directo a la máquina virtual. Todas las conexiones se realizan a través del host Hyper-V (usted se conecta a él a través de la red a través del puerto TCP 2179) y Hyper-V se conecta a la VM a través del VMBus;
  • Hyper-V Manager debe estar instalado en la computadora del cliente.

Este método es similar a redirigir dispositivos USB desde un host local a través de una sesión RDP. No consideraremos esto con más detalle. Redirigir USB a través de RDP

Si está redirigiendo dispositivos USB a través de la red (USB sobre IP o mediante una sesión RDP), aún puede acceder a la llave USB incluso después de migrar la máquina virtual a otro host (Hyper-V Live Migration/vMotion).

Artículos Interesantes