Одним из существенных недостатков Hyper-Vперед другими гипервизорами (например, ESXi или Proxmox) являются отсутствие полноценной возможности пробрасывать USB устройства с хоста в виртуальные машины. Начиная с версии Hyper-V 2012 R2 появился ряд изменений, касающихся возможностей USB Passthrouth, однако этот функционал все еще уступает возможностям конкурентов. В этой статье мы расскажем об особенностях проброса USB устройств в Hyper-V.
Особенности USB Passthrough в Hyper-V
Под термином USB passthrough понимается возможность проброса USB устройства из хостового гипервизора (или по сети с другого сервера/устройства) в виртуальную машину. С помощью USB passthrough вы можете прокинуть внутрь ВМ токен, USB ключ, модем или любое другое оборудование, подключенное через USB порт.
Плохая новость в том, что в Hyper-V нет нормальной поддержки проброса USB устройств, вы не сможете пробросить любое USB устройство с физического хоста в виртуальную машину (в VMWare с этим на порядок лучше – см. статью USB passthrough в VMWare ESXi ). Есть несколько встроенных возможностей использования USB устройства в Hyper-V, но у всех них есть существенные ограничения. На данный момент можно использовать следующие технологии для проброса USB устройства в Hyper-V.
- Проброс USB дисков с хоста Hyper-V;
- Расширенные возможности консоли Hyper-V — Enhanced Session Mode;
- Проброс USB устройства через RDP сессию;
- Использование программного/аппаратного средства для проброса USB по сети (USB over IP).
Проброс USB диска в виртуальную машину Hyper-V
Вы можете довольно просто пробросить подключенный к хосту USB диск напрямую внутрь любой запущенной виртуальной машины Hyper-V. Рассмотрим, как предоставить виртуальной машине Hyper-V прямой доступ к USB диску.
- Данная инструкция работает только для USB дисков, которые в системе видятся как fixed, т.е. флешки, смарт-карты и прочие removable-устройства прокинуть внутрь виртуальной машины не получится ( хотя есть небольшой трюк, позволяющий заставить Windows видеть сменное устройство как жесткий диск );
- Для таких дисков невозможно создать снапшот/ чекпоинт .
- Подключите внешний USB диск к хосту Hyper-V (это может быть как любой хост с Windows и установленной ролью Hyper-V, так и Free Hyper-V Server ). Диск появится в системе и ему будет назначена буква диска (если буква диска не назначилась, см. статью );
- Откройте консоль управления дисками Disk Management ( diskmgmt.msc ) на хосте Hyper-V. Щелкните правой кнопкой мыши по диску (левая колонка, в нашем примере USB диск размером 20 Гб имеет идентификатор Disk 1) и выберите Offline . Если у вас используется Windows Server Core или Hyper-V Server, в которых отсутствуют некоторых графические оснастки, вы можете управлять локальными дисками с помощью PowerShell модуля управления дисками . Следующие команды могут вывести список физических дисков на хосте и перевести указанный диск в режим offline:
Get-Disk
Get-Disk -Number 1 |Set-Disk -IsOffline:$true - Запустите консоль Hyper-V Manager. Откройте свойства виртуальной машины, в которую вы хотите пробросить USB диск. Добавьте новый диск в разделе SCSI Controller . Укажите, что это физический диск ( Physical hard disk ). В выпадающем меню выберите ваш USB диск (он будет выглядеть как-то так: Disk 1 20.00 Gb Bus 0 Lun 0 Target 1). Примечание