- Startseite
- Blog
- Hyper-V-Serieller-Port-Konfiguration: Schritt-für-Schritt-Anweisungen
Hyper-V-Serieller-Port-Konfiguration: Schritt-für-Schritt-Anweisungen
Wir haben uns bereits die Zeit genommen, die Möglichkeiten zu erläutern, wie man auf COMs in einer virtuellen Maschine zugreifen kann (Sie finden den Artikel hier.) Während Serial to Ethernet Connector eine großartige Lösung für COM im Hyper-V-Seriellport-Passthrough ist, lohnt es sich, ein paar weitere Optionen anzusehen, um einen COM-Port zu Hyper-V-Seriellport hinzuzufügen—die wir unten behandeln.
Wie greift man in Hyper-V auf den seriellen Port zu?
Wenn Sie eine Verbindung zum seriellen Port einer virtuellen Maschine herstellen müssen, benötigen Sie den Serial Port Redirector. Befolgen Sie diese Schritte, um zu erfahren, wie Sie dieses Tool verwenden und damit auf den virtuellen Port zugreifen:
1. Holen Sie sich den Serial-to-Ethernet-Connector sowohl auf der virtuellen Maschine als auch auf dem Host-Betriebssystem.
2. Beginnen Sie, indem Sie die App in der VM öffnen. Öffnen Sie das Menü „Verbindungen“ und wählen Sie „Neue Serververbindung“.
3. Füllen Sie die erforderlichen Informationen über den Port aus, den Sie freigeben werden, einschließlich seiner Nummer und des TCP-Ports, der für die Verbindung verwendet wird.
Hinweis: Aktivieren Sie das Kontrollkästchen, um den Port virtuell zu machen.
4. Drücken Sie „Erstellen“.
5. Wechseln Sie nun auf dem Host-Computer zu „Seriell zu Ethernet“. Öffnen Sie „Remote-Verbindungen“.
6. Wenn alles richtig eingestellt wurde, sollte der Port der virtuellen Maschine in der Liste erscheinen. Wählen Sie ihn aus.
7. Legen Sie die Client-Verbindungsoptionen fest, z. B. den Port, der zum Empfangen der Daten verwendet wird.
8. Drücken Sie erneut „Erstellen“, und Sie sind fertig.
Videoanleitung:
Wie man serielle Hardware mit einer virtuellen Maschine über PipeDream verbindet
Für Virtual-Machine-Nutzer, die Hyper-V-Seriellports um einen COM-Port erweitern möchten, ist PipeDream eine ideale Option. Dieses Tool für serielle Ports in Hyper-V läuft über denselben Server, der Hyper-V hostet (also einen Virtualisierungshost), und überbrückt die Lücke zwischen virtuellen Maschinen und seriellen Ports.
PipeDream funktioniert, indem es die von der seriellen Hardware empfangenen Daten (was auch immer am COM-Port angeschlossen ist) überträgt und der Virtual Machine hilft, diese zu erkennen und darauf zuzugreifen (und umgekehrt).
Darüber hinaus benötigt PipeDream kein clientseitiges Element, das auf einem Server ausgeführt werden muss, was den Hyper-V-Serial-Support-Passthrough noch bequemer macht. PipeDream erfordert keine Installation (Gerät, Software oder anderweitig) auf der/den beteiligten virtuellen Maschine(n) – wodurch die Kompatibilität mit Legacy-OS/Software maximiert wird und zuverlässige Unterstützung für XP (und ältere) Betriebssysteme gewährleistet ist.
PipeDream ermöglicht es virtuellen Gastmaschinen, serielle Ports auf dem Virtualisierungs-Host (oder anderen Maschinen) zu steuern. Dieses Tool funktioniert dank der Unterstützung benannter Pipes in Hyper-V, was bedeutet, dass für die Kommunikation keine Netzwerkverbindung erforderlich ist. Erstellen Sie einfach einen Pipe-Namen in Hyper-V, und PipeDream verbindet sich mit dem seriellen Gerät der Gast-VM, sobald Sie das PipeDream-Programm starten.
Haftungsausschluss: Die PipeDream-Software für serielle Ports in Hyper-V ist mit Microsofts Hyper-V kompatibel, ist jedoch ein Drittanbieter-Tool ohne Verbindung zu Microsoft. Unsere Verwendung des Begriffs „Hyper-V“ ist nicht dazu bestimmt, eine Unterstützung oder Zugehörigkeit zur Microsoft Corporation auszudrücken.
Für diejenigen mit einer Hyper-V-virtuellen Maschine der Generation 1
Folgen Sie der nachstehenden Schritt-für-Schritt-Anleitung, um zu erfahren, wie Sie einen COM-Port zu Hyper-V hinzufügen.
1. Starten Sie den Hyper-V-Manager und öffnen Sie die Einstellungen der Gastmaschine (die VM, die Sie einrichten möchten);
2. Wählen Sie COM1 oder COM2 aus dem neuen Fenster (in der linken Hardwareliste);
3. Dies ist der serielle Port, der es der virtuellen Maschine ermöglicht, auf das serielle Gerät Ihrer Wahl zuzugreifen (auch bekannt als der Port, der in der VM erscheint, kann sich vom physischen seriellen Port des Hosts unterscheiden);
4. Verbinden Sie die Pipe mit dem Namen „PipeDream“ mit dem seriellen Port des Gasts (tun Sie dies, indem Sie auf Named pipe klicken und „PipeDream“ als Namen der Pipe eingeben—siehe Abbildung unten als Referenz);
5. Wenn Sie über ein serielles Gerät auf einem Remotecomputer verfügen, stellen Sie sicher, dass das Kontrollkästchen „Remotecomputer“ aktiviert ist, und geben Sie den Namen des Geräts ein;
6. Klicken Sie auf OK;
So konfigurieren Sie Gen-2-virtuelle Maschinen
Für diejenigen, die Gen-2-virtuelle Maschinen ausführen, sind die oben angezeigten Pipe-Einstellungen nicht über die GUI konfigurierbar, daher müssen Benutzer Powershell-Befehle implementieren.
1. Öffnen Sie eine Powershell-Sitzung;
2. Get-VM ausführen;
3. Kopieren Sie den Namen der virtuellen Maschine mit dem gewünschten seriellen Port;
4. Führen Sie Set-VMComPort -Number < 1 oder 2, für den seriellen Port COM1 oder COM2 > -Path \.pipePipeDream aus
5. Verwenden Sie Get-VMComPort, um die Erstellung der Pipe zu bestätigen (siehe den unten angezeigten Screenshot, der zu Beispielzwecken eine VM mit dem Namen „SillyRabbit“ verwendet).
Aber es gibt doch keine COM-Ports für Gen-2-VMs, oder…?
Ehrlich gesagt ist die Antwort eine Mischung aus Ja und Nein (wobei sich das „Nein“ hauptsächlich auf die Standardfähigkeiten von Hyper-V zur seriellen Port-Durchleitung bezieht.) Die gute Nachricht ist: Das lässt sich anpassen!
Die untenstehenden Screenshots stammen aus einer Windows-8-VM (die speziell Medien verwendet, die im vorherigen Abschnitt erstellt wurden, in dem der Treiber für die softwarebasierte Tastatur hinzugefügt wurde.)
Im folgenden Beispiel sehen Sie, dass den Einstellungen einer einfachen Gen-2-virtuellen Maschine COM-Port-Optionen fehlen.
Der Grund dafür ist, dass der Gen-2 Hyper-V-Manager COM-Ports niemals anzeigt, unabhängig davon, ob serielle Ports verfügbar sind oder nicht.
Unten werfen wir einen Blick darauf, was PowerShell dazu zu sagen hat:
Beachten Sie, wie PowerShell zwei verfügbare COM-Ports anzeigt? Wenn Sie jedoch den Geräte-Manager der Gastmaschine öffnen, werden für die VM keine COM-Ports aufgelistet.
Sehen Sie sich das folgende Beispiel (unter Verwendung von COM1) an, um einen Pipe-Pfad für COM-Ports zu konfigurieren, während eine virtuelle Maschine ausgeführt wird:
Wie zuvor erwähnt, wird beim Überprüfen des Geräte-Managers der Gastmaschine COM1 nicht angezeigt – aber sobald die VM heruntergefahren und neu gestartet wird, ist der gewünschte COM-Port nun in der Liste verfügbar (siehe unten.)
Für diejenigen, die Erfahrung mit Kernel-Debugging haben, ist der verbleibende Prozess ziemlich einfach und geradlinig—mit nur einer kleinen Ausnahme, die spezifisch für Gen-2-VMs ist (noch spezifischer UEFI-basierte Computer, die Secure Boot verwenden.)
Über msconfig haben wir das Kernel-Debugging für die VM auf COM1 aktiviert. Nachdem wir jedoch auf OK geklickt haben, erscheint die folgende Fehlermeldung:
Warum? Weil die Richtlinie von Windows besagt, dass Secure Boot und Kernel-Debugging nicht kompatibel sind. Das bedeutet, dass Benutzer die virtuelle Maschine ausschalten und dann Secure Boot in den Firmware-Einstellungen deaktivieren sollten.
- Verwenden Sie msconfig erneut, um das Kernel-Debugging zu aktivieren (diesmal wird es erfolgreich sein);
- Starten Sie die VM neu;
- Stellen Sie über das windbg der übergeordneten Partition eine Verbindung zur Pipe her;
Fazit
Zusammenfassend lässt sich sagen, dass Hyper-V zwar keine direkte Durchleitung physischer COM-Ports an virtuelle Maschinen bietet, serielle Kommunikation jedoch weiterhin über Named Pipes, PowerShell-Konfiguration und spezialisierte Umleitungstools realisiert werden kann. Diese Methoden ermöglichen die Arbeit sowohl mit Gen 1- als auch mit Gen 2-VMs für Aufgaben wie die Unterstützung von Legacy-Software, Hardware-Integration oder Debugging.
In Szenarien, in denen direkter serieller Zugriff nicht praktikabel ist, kann ein Serial-to-Ethernet-Connector eine effektive Alternative sein. Durch die Umwandlung serieller Daten in Netzwerkverkehr ermöglichen solche Geräte den Zugriff auf COM-basierte Geräte über TCP/IP und deren einfache gemeinsame Nutzung mit virtuellen Maschinen. In Kombination mit Software zur Umleitung serieller Ports bietet dieser Ansatz mehr Flexibilität und vereinfacht den Zugriff auf physische serielle Geräte in virtualisierten Hyper-V-Umgebungen.