So aktivieren Sie Hyper-V USB-Passthrough
Hier erfahren Sie es:
- Was ist Hyper-V USB-Passthrough?
- Was benötigen Sie, um Hyper-V USB-Passthrough zu verwenden?
- wenn DiskInternals Ihnen bei der VMware-Sicherung helfen kann
Sind Sie bereit? Lasst uns lesen!
Die Abstraktion der Hardware ist einer der wichtigsten Aspekte der Virtualisierung. Sie konzentriert sich auf die CPU, die Festplatte und den Speicher, da diese von allen Betriebssystemen und Anwendungen benötigt werden. Diese Ressourcen werden auch auf nicht virtualisierten Systemen gemeinsam genutzt. Andere Hardwarekomponenten, die nicht einmal von unabhängigen Anwendungen gemeinsam genutzt werden, erschweren die Virtualisierung. USB-Geräte gehören zu der letztgenannten Kategorie. Zu jedem Zeitpunkt erwarten USB-Geräte eine Verbindung mit nur einem Subsystem oder einer Anwendung. Infolgedessen stellt USB in virtualisierten Systemen eine besondere Herausforderung dar.
Was ist Hyper-V-USB-Passthrough?
Die USB-Passthrough-Funktion ermöglicht es Ihnen, ein USB-Gerät innerhalb einer virtuellen Maschine zu verwenden. Leider wird USB-Passthrough in Hyper-V-Umgebungen nicht nativ unterstützt. Sie können jedoch die folgenden Methoden verwenden, um Hyper-V USB-Passthrough zu erreichen:
- Aktivieren Sie den Enhanced Session Mode.
- Starten Sie eine RDP-Sitzung (Remote Desktop Protocol).
- Installieren Sie USB-Lösungen, die netzwerkbasiert sind.
- Installieren Sie USB-Lösungen, die auf Software basieren.
Da die ersten beiden Optionen keine Installation von Drittanbietersoftware erfordern und in wenigen Minuten manuell angepasst werden können, wird in diesem Artikel beschrieben, wie sie funktionieren.
Voraussetzungen für Hyper-V USB Passthrough
Kurz gesagt, müssen Sie die folgenden Bedingungen erfüllen, um der VM den Zugriff auf eine lokale Ressource zu ermöglichen:
- Die Richtlinie für den erweiterten Sitzungsmodus sollte aktiviert werden, ebenso wie die Einstellungen für den erweiterten Sitzungsmodus. Nur VMs der Generation 2 unterstützen den Erweiterten Sitzungsmodus.
- Auf Ihrem Computer muss Windows Server 2016, Windows 10, Windows 8.1, Windows Server 2012 R2, Windows Server 2012 oder Windows 8 installiert sein, damit Virtual Machine Connection (VMConnect) funktioniert.
- Windows Server 2016, Windows Server 2012 R2, Windows 10 oder Windows 8.1 muss auf der virtuellen Maschine installiert sein, von der aus wir eine Verbindung zu einem USB-Laufwerk herstellen möchten.
- Auf der VM, mit der Sie sich verbinden möchten, müssen die Remotedesktopdienste aktiviert sein.
Hinzufügen von Hyper-V Passthrough-Unterstützung für USB-Laufwerke
Die meisten USB-Laufwerke können von Hyper-V im Passthrough-Modus eingerichtet werden, auch wenn dies über das Speichersubsystem von Windows geschieht. Da nur eine Komponente eine Verbindung zu einem USB-Gerät herstellen kann, fungiert das Windows-Festplatten-Subsystem als Vermittler für alle USB-Speichergeräte. Damit Ihr USB-Laufwerk im Passthrough-Modus verbunden werden kann, muss es daher von Windows als "Massenspeichergerät" erkannt werden. Andere USB-Speichergeräte sind nicht kompatibel.
1. Stellen Sie in der Datenträgerverwaltung sicher, dass der Datenträger sichtbar ist. Entfernen Sie es aus dem Internet. Der Datenträger kann nicht als Passthrough verwendet werden, wenn die Option Offline nicht vorhanden ist.
2. Klicken Sie im Eigenschaftenfenster der virtuellen Zielmaschine auf den virtuellen Controller, dem Sie die Passthrough-Festplatte hinzufügen möchten. Vergewissern Sie sich auf der rechten Seite, dass Festplatte ausgewählt ist, und klicken Sie dann auf Hinzufügen. Sie können keine Festplatte zu einem virtuellen IDE-Controller hinzufügen, während die virtuelle Maschine ausgeführt wird, aber Sie können eine Festplatte zu einem virtuellen SCSI-Controller hinzufügen, egal ob die virtuelle Maschine ausgeführt wird oder nicht.
3. Um einen Datenträger anzuschließen, ändern Sie den Auswahlpunkt in Physikalische Festplatte und wählen Sie dann das Laufwerk aus dem Dropdown-Menü. Klicken Sie auf die Schaltfläche OK.
Hyper-V kann kein Passthrough für Nicht-Festplatten-USB durchführen
Ich habe viele Bedenken gesehen, dass Hyper-V nicht in der Lage ist, USB-Geräte weiterzuleiten. Das Problem wird in der Regel von einem schlechten Vergleich mit Anwendungen begleitet, die USB-Passthrough können, wie VMware Workstation und Oracle VirtualBox.
Die Unterscheidung, die hier gemacht werden muss, ist, dass Hyper-V ein Hypervisor vom Typ 1 ist, während Hypervisoren vom Typ 2 einfaches USB-Passthrough ermöglichen. Bei einem Typ-2-Hypervisor wird das Management-Betriebssystem direkt auf der Hardware platziert, und der Hypervisor ist lediglich ein weiteres Programm, das innerhalb der Hardware läuft. Anwendungen können einen USB-Anschluss nur deshalb kapern, um anderen Anwendungen die Nutzung zu verwehren, wenn sie es wollen. Deshalb ist es unter einem Hypervisor vom Typ 2 so einfach.
>Wenn Sie schon einmal einen Hypervisor vom Typ 2 auf diese Weise verwendet haben, werden Sie feststellen, dass ausdrücklich festgelegt ist, dass das USB-Gerät entweder an den Eltern- oder an den Gastcomputer angeschlossen werden kann - es gibt keine gemeinsame Nutzung, keine Aufteilung des Ressourcenzugriffs oder Ähnliches.
Hypervisoren des Typs 1 sind keine Anwendungen. Sie sind Kernel, die sicher in Partitionen eingebettet sind. Ein Hypervisor vom Typ 2 ist nur ein Anwendungs-Shim, der vorgibt, ein Root-Hardware-Gerät zu sein, was in Ordnung ist, weil er nicht so viel Isolierung braucht wie ein Hypervisor vom Typ 1.
Da eine Betriebssysteminstanz einen USB-Anschluss für alle anderen Betriebssysteminstanzen sperrt, funktioniert die Typ-1-Virtualisierung nicht, und Hyper-V kann dies nicht leisten. Ist es möglich, dass ein Hypervisor vom Typ 1 einem bestimmten Gast einen USB-Anschluss zuweist, so wie es ein Hypervisor vom Typ 2 tut?
Es scheint etwas zu sein, das prinzipiell möglich ist. Die technische Machbarkeit ist jedoch irrelevant. Es ist mit Hyper-V nicht möglich. Wenn Sie mehr darüber erfahren möchten, hat Microsoft einen ausführlichen Beitrag über das Durchreichen von Hardware auf der 2016er-Plattform verfasst, in dem einige der Probleme und Möglichkeiten behandelt werden.
Hyper-V ist eine schreckliche Lösung, wenn echtes USB-Passthrough ein Muss ist für das, was Sie vorhaben. Man wird irgendwie dazu gezwungen, wenn man die Emulatoren in Visual Studio verwendet. Allen anderen empfehle ich, sich einen Hypervisor vom Typ 2 anzusehen. VirtualBox ist eines meiner Lieblingsprogramme. Es ist bei weitem nicht ideal, aber die Lizenzbedingungen sind für die meisten Benutzer angemessen, und es erfüllt seine Aufgabe.
Sollte Hyper-V über USB-Passthrough verfügen?
Während der Globus vorankam, hatte dieses Stück etwas Zeit, in der Sonne zu braten. Meine ersten Überlegungen zu diesem Thema waren wie folgt:
Hyper-V ist in erster Linie eine serverbasierte Lösung. Darüber hinaus setzt Microsoft mit Begeisterung auf Cloud-Prinzipien, meiner Meinung nach sogar unter Ausschluss vieler anderer Technologien. Wenn man eine auf Virtualisierung basierende Cloud, sogar eine On-Premises-Cloud, in Betracht zieht, ist es leicht zu verstehen, warum Host-basiertes USB eine schlechte Wahl ist. Man kann nie sicher sein, ob eine virtuelle Maschine zu einem bestimmten Zeitpunkt läuft oder nicht. Selbst das Fehlen eines Clusters bindet eine virtuelle Maschine mit Shared Nothing Live Migration nicht mehr an einen bestimmten Host. Es macht einfach keinen Sinn, USB als Host zu verwenden.
>Nach weiterem Nachdenken vertrete ich immer noch diesen Standpunkt in Bezug auf Server, Rechenzentren und Cloud Computing. Allerdings hat sich der Client Hyper-V in den folgenden Jahren bei deutlich mehr Anwendern durchgesetzt. In Windows 10 haben virtuelle Maschinen viel weniger Probleme mit der Mobilität. Außerdem gibt es für Windows 10-Kunden wesentlich mehr zwingende Gründe, USB-Passthrough zu fordern. Wie die Debatte um "Methode 3" zeigt, bietet Microsoft jedoch eine Methode an, die die Auslagerung der USB-Verbindung an seine Konsolensoftware beinhaltet. Bedauerlicherweise ist diese nur teilweise anwendbar.
Sollten wir also erwarten, dass Microsoft einen Versuch unternimmt, eine richtige USB-Passthrough-Lösung zu entwickeln? Ich tendiere immer noch zu "Nein", einfach weil es einen erheblichen Aufwand bedeuten würde und der Anwendungsbereich der Konsolenlösung sich letztendlich an den von den Benutzern verwendeten Gastbetriebssystemen orientieren würde.
Methode 1: Netzwerkbasierte USB-Lösungen
Bevorzugen Sie netzwerkbasierte Optionen, wenn Sie ein USB-Gerät in Ihrem virtualisierten Rechenzentrum verfügbar machen müssen. Verwenden Sie ein Digi-Produkt. Dies ist keine wirkliche Empfehlung, da ich nur eines ihrer Geräte verwendet und keine ihrer neueren Technologien ausprobiert habe, aber sie sind immer noch im Geschäft, also müssen sie etwas gut machen. Denken Sie daran, dass USB-Hubs, nicht Ports, eins zu eins mit Betriebssystemen übereinstimmen. Wenn Sie viele virtuelle Computer anschließen möchten, sollten Sie kein einzelnes Gerät mit vielen Anschlüssen kaufen.
Methode 2: Remote Desktop Protokoll
Sobald ein Betriebssystem auf einem virtuellen Computer installiert ist, verhält er sich ähnlich wie ein echter Computer. In den Systemeigenschaften können Sie also Remote-Desktop-Verbindungen zulassen:
Danach können Sie wie bei jedem anderen Windows-Rechner eine Fernverbindung herstellen.
>Um USB-Geräte in einer RDP-Sitzung zuzulassen, gehen Sie folgendermaßen vor:
- 1. Führen Sie mstsc.exe über eine Ausführen/Eingabeaufforderung aus.
- 2. Klicken Sie auf Optionen anzeigen:
- 3. Das Dialogfeld wird erweitert und zeigt eine Reihe von Registerkarten. Wechseln Sie zur Registerkarte Lokale Ressourcen und klicken Sie auf die Schaltfläche Mehr:
- 4. Ein weiteres Dialogfeld wird angezeigt. Hier erscheinen weitere erkannte Geräte sowie ein Kontrollkästchen für andere unterstützte Plug-and-Play-Geräte (PnP). Markieren Sie die gewünschten Punkte.
Diese Parameter bleiben erhalten, bis Sie sie ändern, nachdem Sie auf OK geklickt und eine Verbindung zu einer RDP-Verbindung auf einem beliebigen Host hergestellt haben. Ein nützliches Dienstprogramm namens "Remote Desktop Connection Manager" ist ebenfalls verfügbar. Es ist etwas eigenwillig und unzuverlässig, aber die Möglichkeit, viele eindeutige Verbindungsparameter für weit entfernte Hosts in einem hierarchischen Baum zu speichern, macht die leichten Nachteile wett.
Methode 3: USB-Verbindung im erweiterten Sitzungsmodus
Der letzte Ansatz ist der zuverlässigste, aber er bringt auch die größten Einschränkungen mit sich. Die Version 2012 von Hyper-V enthielt den erweiterten Sitzungsmodus, der mit dem Client Hyper-V von Windows 8 gebündelt wurde.
Viele der Sitzungstechnologien von RDP sind in dem Programm VMConnect.exe zusammengefasst, das diese Technologie nutzt. Falls Ihnen der Name dieses Programms nicht bekannt vorkommt: Hyper-V Manager und Failover Cluster Manager starten es, wenn Sie in der Menüleiste die Option Verbinden wählen.
Sie können es auch von einer Eingabeaufforderung aus ausführen, indem Sie vmconnect.exe eingeben (in der Regel ist eine Berechtigung erforderlich).
VMConnect ist die Konsolenanwendung für Hyper-V. Virtuelle Hyper-V-Computer können, wie reale Systeme in einem Rechenzentrum, unabhängig davon ausgeführt werden, ob eine Konsole angeschlossen ist oder nicht. Tastatur-, Video- und Mausfunktionen werden über Hypervisor-Konsolenprogramme bereitgestellt. Typ-2-Hypervisoren mit mehr Erfahrung verfügen in der Regel über robustere Konsolen. Da das Programm von Hyper-Client V nicht annähernd so viel Zeit für die Entwicklung hatte wie der Remote Desktop-Client, nutzt es die Funktionen des letzteren, um den erweiterten Sitzungsmodus bereitzustellen.
So aktivieren Sie den erweiterten Sitzungsmodus in Hyper-V USB Passthrough
Der erweiterte Sitzungsmodus ist in Client-Hyper-V-Bereitstellungen standardmäßig aktiviert. Sie müssen ihn manuell für die Server-SKUs aktivieren. Der Hyper-V Virtual Machine Management Service muss dann neu gestartet werden (vmms). Die PowerShell ist die schnellste Methode:
Set-VMHost -EnableEnhancedSessionMode $true
Dieses Cmdlet enthält den Parameter -ComputerName, wenn Sie es per Fernzugriff ausführen.
Wenn Sie Hyper-V Manager bevorzugen:
- 1. Klicken Sie mit der rechten Maustaste auf den Host im linken Fensterbereich. Klicken Sie auf Hyper-V-Einstellungen.
- 2. Klicken Sie in den Registerkarten auf der linken Seite auf Richtlinie für den erweiterten Sitzungsmodus (Enhanced Session Mode Policy).
- 3. Aktivieren Sie das Kontrollkästchen Erweiterten Sitzungsmodus zulassen und klicken Sie auf OK.
Es ist nicht notwendig, den Integrationsdienst für Gastdienste zu aktivieren, nur um die USB-Umleitung zu aktivieren.
Schlussfolgerung
Der erweiterte Sitzungsmodus wird am besten mit dem Client Hyper-V verwendet und kommt den Hypervisor-Funktionen vom Typ 2 am nächsten. Da er auf der RDP-Technologie basiert, ist es wichtig, daran zu denken, dass er das USB-Gerät nicht wirklich "durchläuft". Einige Geräte funktionieren möglicherweise nicht so gut wie bei Typ-2-Hypervisoren, andere wiederum überhaupt nicht.