Hyper-V konfigurasjon av seriellport: Steg-for-steg-instruksjonar

Vi har allereie teke oss tid til å gå gjennom måtane ein kan få tilgang til COM-ar i ei virtuell maskin (du kan finne artikkelen her.) Sjølv om Serial to Ethernet Connector er ei flott løysing for COM i Hyper-V serielle port passthrough, er det verdt å sjå nærare på nokre andre alternativ for å leggje til COM-port til Hyper-V seriell port—som vi vil gå gjennom nedanfor.

Korleis få tilgang til serieport i Hyper-V

Om du treng å kople til serieporten på ei virtuell maskin, treng du Serial Port Redirector. Følg desse stega for å lære korleis du bruker dette verktøyet og bruker det til å få tilgang til den virtuelle porten:

1. Hent Serial to Ethernet Connector både på den virtuelle maskina og vertsoperativsystemet.

2. Start med å opne appen i VM-en. Opne menyen «Tilkoplingar» og vel «Ny tenartilkopling».

Ny tenartilkopling

3. Fyll inn nødvendig informasjon om porten du skal dele, inkludert nummeret hans og TCP-porten som blir brukt for å kople til han.

Merk: kryss av i avkryssingsboksen for å gjere porten virtuell.

serie til ethernet-kontakt – opprett server COM-port

4. Trykk «Opprett».

5. Byt no til Serial til Ethernet på vertsmaskina. Opna «Fjernkoplingar».

6. Dersom alt vart sett opp rett, skal porten til den virtuelle maskina visast på lista. Vel han.

7. Still inn vala for klienttilkoplinga, til dømes porten som skal brukast til å ta imot data.

8. Trykk «Opprett» ein gong til, og du er ferdig.

Videorettleiing:

Korleis kople seriell maskinvare til ei virtuell maskin med PipeDream

For brukarar av virtuelle maskiner som ønskjer å leggja til COM-port til Hyper-V serieportar, er PipeDream eit ideelt val. Dette verktøyet for serieport i Hyper-V køyrer via den same serveren som er vert for Hyper-V (som er ein virtualiseringsvert), og byggjer bru mellom virtuelle maskiner og serieportar.

PipeDream fungerer ved å overføra data som kjem inn frå serieharda­varen (det som er plugga inn i COM-porten), og hjelper den virtuelle maskina med å kjenna han att og få tilgang til han (og omvendt).

I tillegg treng PipeDream ikkje eit element på klientsida for å køyra på ein server, noko som gjer Hyper-V serie-støtte passthrough endå meir praktisk. PipeDream krev ingen installasjon (eining, programvare eller anna) på den/dei deltakande virtuelle maskina(-ene) – og maksimerer slik kompatibiliteten med eldre OS/programvare, og påliteleg støtte for XP (og eldre) operativsystem.

PipeDream lèt gjeste-virtuelle maskiner styre serieportar på virtualiseringsverten (eller andre maskiner). Dette verktøyet fungerer takka vere Hyper-V si støtte for namngjevne røyr, noko som betyr at ei nettverkstilkopling ikkje er nødvendig for kommunikasjon. Berre lag eit røyrnamn i Hyper-V, og PipeDream vil kople seg til serieeininga til gjeste-VM-en når du startar PipeDream-programmet.

Ansvarsfråskriving: PipeDream-serieporten i Hyper-V-programvara er kompatibel med Microsoft Hyper-V, men er eit tredjepartsverktøy utan tilknyting til Microsoft. Vår bruk av omgrepet «Hyper-V» er ikkje meint å støtte eller knyte oss til Microsoft Corporation.

For dei med ei Gen 1 Hyper-V virtuell maskin

Følg steg-for-steg-rettleiinga nedanfor for å lære korleis du legg til COM-port til Hyper-V.

1. Køyr Hyper-V Manager og opna innstillingane til gjestemaskina (VM-en du vil etablere);

2. Vel COM1 eller COM2 i det nye vindauget (plassert i maskinvarelista til venstre);

3. Dette er serieporten som lèt den virtuelle maskina få tilgang til serieeininga du vel (òg kjent som at porten som blir vist i VM-en kan vere ulik den fysiske serieporten på verten);

4. Kople røyrleidninga med namnet «PipeDream» til gjesten sin serielle port (gjer dette ved å klikke på Named pipe, og skriv «PipeDream» som namnet på røyrleidninga—sjå biletet nedanfor for referanse);

5. For dei som har ei seriell eining på ei ekstern datamaskin, sørg for at avkryssingsboksen «Ekstern datamaskin» er kryssa av, og skriv inn namnet på maskina;

6. Klikk OK;

røyrnamn

Korleis konfigurere for Gen-2 virtuelle maskiner

For dei som køyrer Gen-2 virtuelle maskiner, kan ikkje røyrinnstillingane som er viste ovanfor konfigurerast ved hjelp av GUI-en, difor må brukarar implementere Powershell-kommandoar.

1. Opne ei Powershell-økt;

2. Utfør Get-VM;

3. Kopier namnet på den virtuelle maskina med den ønskte serieporten;

4. Utfør Set-VMComPort -Number < 1 eller 2, for seriellport COM1 eller COM2 > -Path \.pipePipeDream

5. Bruk Get-VMComPort for å stadfeste at røyrleidninga er oppretta (sjå skjermbiletet som blir vist nedanfor, der ein VM med namnet «SillyRabbit» er brukt som døme).

stadfest oppretting av røyr

Men det finst vel ikkje COM-portar for Gen 2-VM-ar, ikkje sant…?

Ærleg talt er svaret ein kombinasjon av ja og nei (der «nei» hovudsakleg dreier seg om standardfunksjonane til Hyper-V for vidarekobling av seriell port.) Den spanande nyheita er at dette kan justerast!

Skjermbileta nedanfor er frå ein Windows 8-VM (som spesifikt nyttar medium laga i førre avsnitt, der drivaren for det programvarebaserte tastaturet blei lagt til.)

I dømet nedanfor vil du sjå at innstillingane for ei grunnleggjande gen-2 virtuell maskin manglar COM-portalternativ.

Hyper v-innstillingar

Årsaka er at, uavhengig av om serielle portar er tilgjengelege eller ikkje, viser Gen-2 Hyper-V Manager aldri COM-portar.

Nedanfor skal vi ta ein kikk på kva PowerShell har å seie:

PowerShell

Legg merke til korleis PowerShell viser to tilgjengelege COM-portar? Men dersom du opnar Einingshandsamaren på gjestemaskina, vil det ikkje vere lista opp nokon COM-portar for VM-en.

Sjå på dømet nedanfor (med COM1) for å konfigurere ein røyre-veg for COM-portar medan ei virtuell maskin køyrer:

konfigurer ein røyrløype

Som nemnt tidlegare, når du sjekkar Enhetshandsamaren til gjestemaskina, blir ikkje COM1 vist – men når VM-en er slått av og starta på nytt, vil den ønskte COM-porten no vere tilgjengeleg frå lista (sjå nedanfor.)

einingshandsamar COM-port

For dei som har erfaring med kjernefeilsøking, er den resterande prosessen ganske enkel og rett fram—med berre eitt lite unntak som er spesifikt for Gen-2-VM-ar (endå meir spesifikt UEFI-baserte datamaskiner som nyttar Secure Boot.)

Via msconfig har vi aktivert kjernedebugging for VM-en på COM1. Men då vi klikka OK, dukkar følgjande feilmelding opp:

systemkonfigurasjon

Why? Fordi Window sin policy seier at Secure Boot og kjernefeilsøking ikkje er kompatible. Dette betyr at brukarar bør slå av den virtuelle maskina, og deretter deaktivere Secure Boot frå firmware-innstillingane.

aktiver Secure Boot
  1. Bruk msconfig ein gong til for å aktivere kjernefeilsøking (denne gongen vil det lukkast);
  2. Start VM-en på nytt;
  3. Kople til røyrleidninga via windbg i foreldrapartisjonen;
kople til røyrleidninga

Konklusjon

Oppsummert: sjølv om Hyper-V ikkje tilbyr direkte gjennomkopling av fysiske COM-portar til virtuelle maskiner, kan seriell kommunikasjon likevel oppnåast ved å bruke namngjevne piper, PowerShell-konfigurasjon og spesialiserte omdirigeringsverktøy. Desse metodane gjer det mogleg å arbeide med både Gen 1- og Gen 2-VM-ar for oppgåver som støtte for eldre programvare, maskinvareintegrasjon eller feilsøking.

I scenario der direkte seriell tilgang ikkje er praktisk, kan Serial to Ethernet Connector vere eit effektivt alternativ. Ved å konvertere serielle data til nettverkstrafikk, gjer slike einingar at COM-basert utstyr kan nåast over TCP/IP og enkelt delast med virtuelle maskiner. Kombinert med programvare for omdirigering av serieportar, gir denne tilnærminga større fleksibilitet og forenklar tilgangen til fysiske serielle einingar i virtualiserte Hyper-V-miljø.