Hyper v добавить usb

Одним из существенных недостатков Hyper-V перед другими гипервизорами (например, ESXi или Proxmox) являются отсутствие полноценной возможности пробрасывать USB устройства с хоста в виртуальные машины. Начиная с версии Hyper-V 2012 R2 появился ряд изменений, касающихся возможностей USB Passthrough, однако этот функционал все еще уступает возможностям конкурентов.

Под термином USB passthrough понимается возможность проброса USB устройства из хостового гипервизора в виртуальную машину. С помощью USB passthrough вы можете прокинуть внутрь ВМ токен, USB ключ, модем или любое другое оборудование, подключенное через USB порт.

Плохая новость в том, что в Hyper-V нет нормальной поддержки проброса USB устройств, вы не сможете пробросить любое USB устройство с физического хоста в виртуальную машину. Есть несколько встроенных возможностей использования USB устройства в Hyper-V, но у всех них есть существенные ограничения.

На сегодня можно использовать следующие технологии для проброса USB устройства в Hyper-V:

Последний сценарий предполагает использование сторонних решений для реализации USB over IP. Это может быть сетевой USB хаб, программное решение по пробросу USB устройства через TCP/IP сеть с другого сервера. Большинство популярных коммерческих решений — платные (AnywhereUSB, DigiUSBAW). Из бесплатных можно отметить VirtualHere USB (бесплатна для одного ключа и одного сервера) и довольно старый opensource проект usbip.sourceforge.net (серверная часть реализуется на Linux, на Windows ставится клиент).

По проброс USB дисков с хоста Hyper-V есть немало инструкций в сети. Поэтому мы остановимся на пробросе USB устройств через Enhanced Session Mode в Hyper-V.

Сначала нужно включить Enhanced Session Mode в настройках сервера Hyper-V. Это можно сделать с помощью PowerShell:

Set-VMHost -EnableEnhancedSessionMode $true

Заметьте что это надо сделать в двух местах, и для Сервера и для Пользователя.

Читайте также:  Оптимизация процесса учета офисного оборудования в организациях

После нужно перезапустить службу Hyper-V Virtual Machine Management:

Далее для самой ВМ в разделе Integration Services нужно включить опцию Guest Services.

Готово! Для проброса USB устройства через Enhanced Session Mode нужно запустить консоль Hyper-V, выбрать ВМ и нажать Connect. Либо вы можете запустить утилиту vmconnect.exe (Virtual Machine Connection), указать Hyper-V сервер и имя ВМ (утилита поддерживает некоторые параметры командной строки, поэтому вы можете отдавать пользователям настроенный bat файл).

Выберите USB устройства на вашем компьютере, которое нужно пробросить в ВМ. Если устройства, которое вам нужно, сейчас не подключено, выберите опции Other supported Plug and Play (PnP) devices и Devices that I plug in later.

Теперь все подключённые к вашему компьютеру USB устройства должны быть доступны в консольной сессии виртуальной машины Hyper-V.

Данный метод похож на возможность проброса USB устройств через RDP сессию.

Основные возможности и ограничения Enhanced Session Mode:

Вот и все.

Одной из существенных проблем гипервизора HyperV является невозможность пробросить USB устройство в виртуальную машину. Есть решение этой проблемы — open source проект usbipd-win. С его помощью можно пробросить USB устройство, подключенное к машине под управлением Windows в любую другую по сети, либо в локальный Linux, работающий по WSL2 (инструкция от microsoft).

Онлайн-курс по Kubernetes – для разработчиков, администраторов, технических лидеров, которые хотят изучить современную платформу для микросервисов Kubernetes. Самый полный русскоязычный курс по очень востребованным и хорошо оплачиваемым навыкам. Курс не для новичков – нужно пройти вступительный тест.

На базе проекта usbip существует много различных продуктов. Конкретно usbipd-win это только сервер под Windows. Я начал с него, потому что он максимально просто устанавливается и настраивается. Можно через winget поставить:

Читайте также:  Wordpress в докере

Опубликованный с помощью этого сервера ключ можно подключить к Linux или Windows машине. Под Linux достаточно установить соответствующие пакеты с утилитой и модулем ядра. Для Debian вот эти:

# apt install usbip hwdata usbutils

После этого можно смотреть список опубликованных ключей и подключать один из них:

# usbip list —remote=10.20.1.56
# usbip attach -remote=10.20.1.56 —busid=4-3

Для подключения этих ключей в Windows, нужно установить Windows Agent. Взять его можно из другого репозитория usbip-win. Там есть инструкция по установке агента. Она немного замороченная, по сравнению с установкой сервера, но ничего особо сложного нет. Вопрос решаемый.

Точно так же можно публиковать USB устройства с Linux по сети на другие машины. Есть пакет сервера и под OpenWRT. Таким простым и бесплатным способом можно решить вопрос проброса USB ключей. Для HASP работает отлично. Заметку имеет смысл сохранить.

Оцените статью
Хостинги