Method 1: Network-Based USB Solutions
If you need to make a USB device available in your virtualized datacenter, I prefer network-based solutions. Years ago, I used a product sold by Digi. This is not an endorsement per se because I only ever used the one device and have not used any of their current technology, but they’re still around so they must be doing something right. Remember that USB hubs, not ports, match up with operating systems at a one-to-one ratio. Don’t buy a single device with a lot of ports and expect to connect lots of virtual machines.
USB Over Network
Pros of network-based USB hubs:
- Can remain connected to their assigned virtual machine no matter where it moves and whether or not anyone is logged in, provided network connectivity remains constant
- Allows for concentration and management of networked USB devices in administrator-defined locations. For instance, you might purchase a rack shelf and use it to hold all of your network USB hubs, all connected to a switch provisioned just for connecting those devices.
- A perfect solution for nuisance devices such as licensing dongles.
- Widest range of host and guest operating system support.
Cons of network-based USB hubs:
- A 1-to-1 ratio of hubs to virtual machines often means purchasing many empty USB slots
- Gigabit Ethernet is much slower than USB 3+
- Unless your wiring, addressing, routing, and firewall infrastructure allows for it, you may not be able to provide physical device access to end-users
- Drivers for the network-connected USB hub must be available for your guest operating system, as well as for the USB devices plugged into it
- The guest must be connected to the network (which could be a limiting factor for VMs that you wish to be isolated)
Проброс USB диска в виртуальную машину Hyper-V
Вы можете просто перенаправить подключенный к хосту USB-накопитель прямо в любую работающую виртуальную машину Hyper-V. Давайте посмотрим, как предоставить виртуальной машине Hyper-V прямой доступ к USB-накопителю.
Примечание.
- Эта инструкция работает только для USB-накопителей, которые в системе считаются фиксированными, то есть флэш-накопители, смарт-карты и другие съемные устройства не могут быть вставлены внутрь виртуальной машины (хотя есть небольшая хитрость, которая позволяет Windows видеть съемное устройство, такое как жесткий диск);
- для таких дисков невозможно создать снимок / контрольную точку.
- Подключите внешний USB-накопитель к хосту Hyper-V (это может быть любой хост с Windows и установленной ролью Hyper-V или бесплатный сервер Hyper-V). Диск появится в системе и ему будет присвоена буква диска (если буква диска не назначена, см. Статью);
- Откройте консоль управления дисками (diskmgmt.msc) на хосте Hyper-V. Щелкните диск правой кнопкой мыши (левый столбец, в нашем примере USB-диск емкостью 20 ГБ имеет идентификатор диска 1) и выберите «Автономный.
Если вы используете Windows Server Core или Hyper-V Server, в которых отсутствуют некоторые графические оснастки, вы можете управлять локальными дисками с помощью PowerShell Disk Management. Следующие команды могут вывести список физических дисков на хосте и перевести указанный диск в автономный режим:
- Запустите консоль Hyper-V Manager. Откройте свойства виртуальной машины, на которую вы хотите перенаправить USB-диск. Добавьте новый диск в контроллер SCSI. Указывает, что это физический жесткий диск. Выберите свой USB-накопитель из раскрывающегося меню (он будет выглядеть так: Диск 1 20,00 Гб Шина 0 Пн 0 Цель 1). При добавлении жесткого диска SCSI нет необходимости выключать виртуальную машину. Для устройств SCSI поддерживаются диски с горячим добавлением и удалением).
- Теперь мы покажем, как получить доступ к USB-диску на хосте Hyper-V из гостевой ОС виртуальной машины на примере Windows. Откройте консоль виртуальной машины или подключитесь к ней по RDP (как включить rdp). Войдите в гостевую операционную систему. Запустите Управление дисками. Операционная система должна увидеть новый диск. Если он не в сети, нажмите кнопку «Активировать» и выберите «В сети». В настоящее время ни буква диска, ни точка монтирования не назначаются разделам на диске. Чтобы исправить это, щелкните правой кнопкой мыши раздел на диске и выберите «Изменить букву диска и путь» в контекстном меню. Присвойте разделу любую свободную букву диска или укажите точку монтирования.
Все! Вы напрямую загрузили внешний USB-накопитель в виртуальную машину Hyper-V и можете его использовать.
Чтобы предотвратить потерю данных, перед физическим извлечением жесткого диска из USB-порта хоста Hyper-V убедитесь, что никакие приложения на виртуальной машине не обращаются к диску.
Чтобы безопасно извлечь USB-накопитель, вы можете открыть консоль Hyper-V Manager и перейти в окно настроек виртуальной машины. В разделе «Контроллер SCSI» выберите жесткий диск, который нужно удалить, и нажмите «Удалить». Сохраните изменения. Затем жесткий диск можно физически извлечь из USB-порта хоста Hyper-V.
Включение общей виртуализации Hyper-V в Windows
Включить виртуализацию в BIOS
Первое, что нам нужно сделать, это включить поддержку виртуализации в BIOS нашего компьютера. По умолчанию BIOS / UEFI отключает виртуализацию ЦП, потому что это функция, которая обычно не требуется пользователям. Поэтому, если мы захотим его использовать, нам придется активировать его вручную.
Процессоры Intel на борту VT-х , а процессоры AMD внедрить технологию АМД-В . Каждый BIOS отличается, но чаще всего эти параметры можно найти в разделе расширенных настроек ЦП.
Как только эти две функции будут активированы, мы сможем войти в Windows. Хотя, прежде чем мы сможем использовать эти системы одновременно, нам также нужно будет выполнить некоторую настройку в операционной системе.
Включение Hyper-V, WSL и других функций в Windows 10
Hyper-V по умолчанию отключен в Windows. Поэтому, если мы не активируем его вручную в какой-то момент, он будет недоступен.
Этот компонент, как и другие, является частью функциональности Windows. Поэтому, чтобы активировать его, нам нужно будет ввести в строке поиска Windows 10 » Возможности системы Windows Чтобы открыть это окно конфигурации.
Теперь мы можем видеть окно для включения или выключения функций Windows. Вот особенности, которые нас интересуют Hyper-V, а также » Платформа гипервизора Windows
Но мы также можем воспользоваться и активировать другие функции, которые мы можем использовать в Hyper-V, такие как подсистема Windows для Linux или песочница, также известная как Windows Sandbox.
Как только эти параметры будут активированы, просто перезагрузите компьютер, чтобы Windows применила изменения, и все.
What Is Hyper-V USB Passthrough?
The USB passthrough functionality allows you to access the USB device from within a VM. Unfortunately, USB passthrough is not natively supported in Hyper-V environments, but you can still perform Hyper-V USB passthrough using the following approaches:
- Enable Enhanced Session Mode
- Run the Remote Desktop Protocol (RDP) session
- Install network-based USB solutions
- Install software-based USB solutions
Below, I am going to describe how the first two approaches work, since they do not require the installation of a third-party software, and can be manually configured in a few steps.
Requirements for Hyper-V USB passthrough
In a nutshell, to enable the VM access to a local resource, you need to meet the following requirements:
- The Enhanced session mode policy and Enhanced session mode settings should be enabled. Enhanced Session Mode is only supported on generation 2 VMs.
- For Virtual Machine Connection (VMConnect) to work, your computer should run Windows Server 2016, Windows 10, Windows 8.1, Windows Server 2012 R2, Windows Server 2012, Windows 8.
- The VM from which we want to connect to a USB drive must run Windows Server 2016, Windows Server 2012 R2, Windows 10, or Windows 8.1.
- Remote Desktop Services must be enabled on the VM which you would like to connect to.
Опрос
Я познакомился с виртуальными машинами в 2004 году, когда начал заниматься автоустановкой Windows. С тех пор они стали неотъемлемой частью моей повседневной работы, включая тестирование системных настроек, программ и т.п.
Я хочу поблагодарить Дениса Дягилева за помощь в подготовке этого материала. Одним из преимуществ программы MVP является знакомство с лучшими специалистами по технологиям Microsoft. Это означает, что в частном порядке можно получить грамотную консультацию по любому вопросу
Денис также любезно предложил свою помощь в проведении дискуссии. Поэтому если у вас возникнут технические вопросы по этой статье, вы можете рассчитывать на квалифицированные ответы.
Результаты голосования утеряны в связи с прекращением работы веб-сервиса опросов.
Теперь вы можете выбирать между виртуальной машиной и WSL
Если вам нужен более прямой доступ к самой операционной системе, вам следует установить Linux на виртуальную машину под Windows. Таким образом у вас будет больше контроля над системой.
Для тех, кто просто хочет использовать инструменты командной строки под Linux, продолжая использовать Windows, WSL – лучший выбор. Вам не придется тратить время на настройку системы только для того, чтобы использовать несколько программ, которые вам действительно нужны. Просто запустите окно терминала и приступайте к работе.
Возможно, вы только что решили использовать двойную загрузку, что было классическим решением проблемы запуска Linux и Windows на одной машине в течение многих лет. Хотя это все еще действующий подход, у него есть некоторые недостатки, о которых вам следует знать, прежде чем приступать к практическому применению.
Frequently Asked Questions
Should Hyper-V Have USB Passthrough?
First and foremost, Hyper-V is a server-based solution. Beyond that, Microsoft is wholeheartedly embracing cloud concepts, even (in my opinion) to the detriment of a great many other technologies. If you envision a cloud based on virtualization, even an on-premises cloud, you can see fairly quickly that host-based USB is a terrible idea. You never have any guarantee of any kind where a virtual machine will be running from moment to moment. With Shared Nothing Live Migration, even the lack of a cluster no longer locks a virtual machine to a specific host. Host-based USB just doesn’t make a lot of sense in a cloud.
How to Enable Enhanced Session Mode
Client Hyper-V installations automatically enable Enhanced Session Mode. For the server SKUs, you need to enable it manually. Afterward, you need to restart the Hyper-V Virtual Machine Management service (vmms). The quickest way is with PowerShell:
Set-VMHost -EnableEnhancedSessionMode $true
That cmdlet includes the -ComputerName parameter if you’re running it remotely.
If you prefer Hyper-V Manager:
Right-click on the host in the left pane. Click Hyper-V Settings.
In the left-side tabs, click Enhanced Session Mode Policy.
Check the box for Allow enhanced session mode and click OK.
Проброс USB устройств через Enhanced Session Mode в Hyper-V
В версии Hyper-V, представленной в Windows Server 2012 R2 / 8.1, практически любое USB-устройство можно вставить в виртуальную машину с помощью технологии расширенного сеансового режима (ESM). Для подключения используется утилита Hyper-V Manager
. Это позволяет вам подключиться к консоли виртуальной машины и выбрать USB-устройства, которые вы хотите перенаправить.
Для начала вам нужно включить расширенный режим сеанса в настройках сервера Hyper-V. Это можно сделать с помощью PowerShell:
Или в меню настроек Hyper-V -> Advanced Session Mode.
Перезапустите службу управления виртуальными машинами Hyper-V:
В разделе «Службы интеграции» в настройках ВМ необходимо включить параметр «Гостевые службы.
Чтобы перенаправить USB-устройство в режиме расширенного сеанса, вам необходимо запустить консоль Hyper-V, выбрать виртуальную машину и нажать кнопку «Подключиться». В качестве альтернативы вы можете запустить утилиту vmconnect.exe (подключение к виртуальной машине), указать сервер Hyper-V и имя виртуальной машины (утилита поддерживает некоторые параметры командной строки, поэтому вы можете предоставить пользователям собственный файл .bat).
Если виртуальная машина поддерживает расширенный режим сеанса, появится окно, аналогичное свойствам подключения RDP. Нажмите «Показать параметр» -> «Локальные ресурсы» -> «Локальное устройство и ресурсы» -> «Другое.
Выберите USB-устройства на вашем компьютере для пересылки на виртуальную машину. Если нужное устройство в настоящее время не подключено, выберите «Другие устройства с поддержкой Plug and Play (PnP)» и «Устройства, которые я подключу позже.
Теперь все USB-устройства, подключенные к вашему компьютеру, будут автоматически доступны в сеансе консоли виртуальной машины Hyper-V.
Ключевые особенности и ограничения расширенного режима сеанса
- Только Windows поддерживается в качестве гостевой ОС (начиная с Windows 8.1 / Windows Server 2012 R2);
- Прямой доступ к виртуальной машине не требуется. Все подключения выполняются через хост Hyper-V (вы подключаетесь к нему через сеть через TCP-порт 2179), а подключение к виртуальной машине осуществляется через VMBus;
- На компьютере пользователя должен быть установлен диспетчер Hyper-V
Этот метод аналогичен возможности перенаправления USB-устройств через сеанс RDP. Мы не будем рассматривать это более подробно.
Методы перенаправления USB-устройства по сети (USB через IP или в сеансе RDP) позволяют поддерживать доступ к USB-ключу при миграции виртуальной машины на другой хост (Hyper-V Live Migration / vMotion).
Источник изображения: winitpro.ru
Linux под виртуальной машиной
Иногда наиболее целесообразно запускать Linux на виртуальной машине с использованием гипервизора, такого как VirtualBox .
Если вы изучаете Linux и хотите разобраться в мельчайших деталях установки и настройки системы Linux, виртуальная машина – лучший вариант. Если вы планируете карьеру в ИТ, знание этих вещей будет иметь решающее значение.
Если вам нужен доступ к графическим приложениям в Linux, виртуальная машина все еще является лучшим вариантом на данный момент, даже несмотря на то, что Microsoft обещает поддержку приложений с графическим интерфейсом в WSL. Если вы хотите попробовать различные оконные менеджеры и среды рабочего стола, которые предлагает Linux, вам нужно использовать некоторые обходные пути с WSL в стабильной версии.
Тем, кто хочет попробовать разные дистрибутивы, также лучше использовать виртуальные машины. Хотя WSL предлагает выбор дистрибутивов, он все еще ограничен в Microsoft Store. В то время как основные дистрибутивы, такие как Ubuntu, Debian, openSUSE и Alpine Linux , доступны на WSL , другие менее известные дистрибутивы представлены в меньшей степени. Использование гипервизора, такого как VirtualBox, предоставит вам более широкий выбор дистрибутивов.
Linux – не единственная операционная система с открытым исходным кодом, которую вы можете использовать в VirtualBox. Вы можете запускать BSD и даже FreeDOS.
Подключите USB-устройство к виртуальной машине с Hyper-V
Hyper-v имеет функцию, которая позволяет передавать информацию через устройство usb в виртуальная машина .
Но если вам нужно получить доступ к USB-устройству, подключенному к компьютеру, и вы заметите, что Hyper-V не уступает место USB, что делать? Прежде всего, имейте в виду, что Hyper-V — это гипервизор класса 1 , это указывает на то, что операционная система может блокировать вход USB.
Во-вторых, если Hyper-V не предоставляет USB-вход, вы можете использовать некоторые из варианты активации взятый в заряд USB Hyper-V. По этой причине мы кратко обсудим способы простого доступа к USB в Hyper-V, когда с вами случится какая-либо из этих проблем.
Используйте программное обеспечение для доступа к USB-устройству в Hyper-V
Чтобы решить проблему блокировки Hyper-V порта USB, вы можете положиться на следующее программное обеспечение, чтобы исправить это.
- FlexiHub — это программа, использует технологию USB через Ethernet для передачи информации на USB-устройства через Интернет. Эту программу можно использовать в Windows, MacOS, Linux и Android, чтобы исправить сбой, вызванный Hyper-V из-за блокировки входа USB.
- USB через сеть — это программное приложение, которое позволяет устройствам быть доступными , независимо от компьютера. Благодаря этому приложению вы сможете подключиться к любой виртуальной машине независимо от ее удаленности. Он даже становится очень полезным инструментом для работы с USB Hyper-V в Windows 7/8/10.
Обмен файлами между физической и виртуальными машинами
По ходу работы с виртуальной машиной регулярно возникает необходимость скопировать на нее файлы с физической, либо наоборот. Я опишу несколько способов решения этой задачи.
Общие сетевые папки
Этот способ работает во всех изданиях Windows 10. Поскольку в нашем распоряжении есть локальная сеть, можно использовать общие папки для обмена файлами. Фактически инструкции ниже сводятся к основам создания общих папок.
Доступ с виртуальной машины на физическую
Картинка стоит тысячи слов, как говорят американцы.
На рисунке показан проводник виртуальной машины (VIRTUAL-PC), откуда осуществляется доступ к физической машине (VADIK-PC). Как только вы введете учетные данные аккаунта, доступ к его профилю будет в вашем распоряжении.
Возможно, вы захотите сделать общей папку, расположенную на физической машине вне своего профиля. Для этого достаточно задействовать стандартные средства предоставления общего доступа, но этот процесс я объясню уже на примере доступа к произвольной папке виртуальной машины.
Доступ с физической машины на виртуальную
Допустим, в корне диска виртуальной машины есть папка Shared. Щелкните по ней правой кнопкой мыши и выберите Общий доступ – Отдельные люди (или Конкретные пользователи в Windows 7).
Теперь вы можете открыть общую папку по сети в проводнике, в том числе введя в адресную строку адрес вида \\имя-компьютера\имя-папки.
Подключение к удаленному рабочему столу виртуальной рабочей машины
В Hyper-V между физической и виртуальной машиной невозможен обмен файлами путем копирования и вставки. Можно лишь вставлять скопированный на физической машине текст сочетанием клавиш Ctrl + V. Однако после запуска виртуальной машины можно соединяться с ней посредством RDP вместо того чтобы открывать ее из диспетчера Hyper-V. Этот способ работает в изданиях Pro и выше.
Действия на виртуальной машине
Сначала нужно разрешить на виртуальной машине подключения к удаленному рабочему столу в свойствах системы. Нажмите Win + R и выполните:
RUNDLL32.EXE shell32.dll,Control_RunDLL sysdm.cpl,,5
Затем разрешите подключение, как показано на рисунке.
Остается лишь выяснить IP-адрес виртуальной машины командой ipconfig
Действия на физической машине
Нажмите Win + R и введите mstsc и раскройте параметры входа.
В открывшемся окне:
- Введите IP-адрес виртуальной машины (обязательно).
- Укажите имя пользователя, в чью учетную запись будет выполнен вход.
- Включите запоминание учетных данных.
- Сохраните параметры подключения.
Вы также можете задать на вкладке «Экран» разрешение меньше того, что используется в физической машине.
Теперь можно обмениваться файлами между физической и виртуальной машинами привычными сочетаниями клавиш Ctrl + C и Ctrl + V.
Установка и настройка Hyper-V
Мастер поможет Вам создать виртуальную машину. Виртуальные машины могут использоваться вместо физических компьютеров в разных целях. Вы можете выполнить настройку виртуальной машины с помощью мастера или с помощью диспетчера Hyper-V.
Перед созданием виртуальной машины в Hyper-V необходимо скачать образ операционной системы. Можно легко скачать образ Windows 10 с официального сайта Microsoft.
- Открываем диспетчер Hyper-V, который появился в системе после включения компонента гипервизора Hyper-V.
- Правой кнопкой мыши нажимаем на свое устройство в диспетчере Hyper-V и в контекстном меню выбираем пункт Создать > Виртуальная машина…
- В открывшемся окне мастера создания виртуальной машины нажимаем кнопку Далее, чтобы создать виртуальную машину с особыми параметрами конфигурации.
- Задаем имя и местонахождение для этой виртуальной машины и нажимаем Далее (значения текущего окна можно оставить по умолчанию, если у Вас достаточно памяти на системном диске).
- В зависимости от разрядности операционной системы, которую будем устанавливать на виртуальную машину выбираем поколение (выбранное Вами поколение виртуальной машины невозможно изменить после создания).
- Дальше укажите сколько необходимо выделить оперативной памяти для этой виртуальной машины (принимая решение об объеме памяти, выделяемой виртуальной машине, следует учесть, для каких целей она будет использоваться).
- Выберите виртуальный коммутатор среди доступных подключений или оставите сетевой адаптер виртуальной машины неподключенным.
- Теперь создадим виртуальный жесткий диск задав его имя, расположение и размер (рекомендуем заранее освободить память на своём жестком диске).
- Дальше в параметрах установки выберите пункт Установить операционную систему из файла загрузочного образа и укажите желаемый образ операционной системы.
- Последним шагом создания виртуальной машины будет проверка всех выше указанных параметров во вкладке Сводка и нажатие кнопки Готово.
- Теперь в диспетчере Hyper-V достаточно запустить созданную виртуальную машину выбрав пункт Пуск в контекстном меню и подключиться к ней выбрав пункт Подключить.
После подключения к новой виртуальной машине откроется новое окно с образом, который выбирался ранее. Дальше достаточно управлять и следовать шагам установке операционной системы.
Заключение
Включить виртуализацию Hyper-V на Windows 10 можно используя мастер создания виртуальной машины в диспетчере Hyper-V. Но перед включением убедитесь что Ваш компьютер отвечает системным требованиям Hyper-V. Только потом рекомендуется включать, устанавливать и настраивать виртуальную машину в Hyper-V.
Что произойдет, если я не буду обновлять версию конфигурации виртуальной машины?
При наличии виртуальных машин, созданных с помощью более ранней версии Hyper-V, некоторые функции, доступные в более новой ОС узла, могут не работать с этими виртуальными машинами до тех пор, пока не будет обновлена версия конфигурации.
в качестве общего руководства рекомендуется обновить версию конфигурации после успешного обновления узлов виртуализации до более новой версии Windows и уверенности в том, что откат не требуется. При использовании функции последовательного обновления ОС кластера это обычно происходит после обновления функционального уровня кластера. Таким образом вы получите преимущества от новых функций, а также внутренних изменений и оптимизаций.
Примечание
После обновления версии конфигурации ВИРТУАЛЬНОЙ машины виртуальная машина не сможет запуститься на узлах, которые не поддерживают обновленную версию конфигурации.
В следующей таблице показана минимальная версия конфигурации виртуальной машины, необходимая для использования некоторых функций Hyper-V.
Функциональная возможность | Минимальная версия конфигурации виртуальной машины |
---|---|
Разрешить дополнительные функции процессора для PerfMon | 9.0 |
Автоматически предоставлять настройку для виртуальных машин, работающих на узлах, с помощью | 9.0 |
Поддержка спящего режима | 9.0 |
Увеличьте максимальное значение по умолчанию для виртуальных устройств, равное 64 на устройство (например, сети и назначенные устройства). | 8.3 |
Поддержка безопасности гостевых Virtualization-Based (VBS) | 8.0 |
Диск для хранения ключей | 8.0 |
Виртуальные машины с большими объемами памяти | 8.0 |
Вложенная виртуализация | 8.0 |
Число виртуальных процессоров | 8.0 |
Поддержка XSAVE | 8.0 |
Несколько очередей виртуальной машины (ВММК) | 7.1 |
Виртуальный доверенный платформенный модуль (vTPM) | 7.0 |
Горячее добавление и удаление памяти | 6.2 |
PowerShell Direct | 6.2 |
Рабочие контрольные точки | 6.2 |
Безопасная загрузка виртуальных машин Linux | 6.2 |
Группирование виртуальных машин | 6.2 |