Configurazione della porta seriale Hyper-V: istruzioni passo dopo passo

Abbiamo già dedicato del tempo a esaminare i modi per accedere alle porte COM in una macchina virtuale (puoi trovare l’articolo qui.) Anche se Serial to Ethernet Connector è un’ottima soluzione per il passthrough della porta seriale COM in Hyper-V, vale la pena dare un’occhiata ad alcune altre opzioni per aggiungere una porta COM alla porta seriale Hyper-V—che tratteremo di seguito.

Come accedere alla porta seriale in Hyper-V

Se devi connetterti alla porta seriale di una macchina virtuale, avrai bisogno del Serial Port Redirector. Segui questi passaggi per scoprire come usare questo strumento e utilizzarlo per accedere alla porta virtuale:

1. Ottieni Serial to Ethernet Connector sia sulla macchina virtuale che sul sistema operativo host.

2. Inizia aprendo l’app nella VM. Apri il menu “Connessioni” e seleziona “Nuova connessione al server”.

Nuova connessione al server

3. Inserisci le informazioni necessarie sulla porta che stai per condividere, inclusi il suo numero e la porta TCP utilizzata per connetterla.

Nota: spunta la casella di controllo per rendere la porta virtuale.

connettore da seriale a ethernet - crea porta COM server

4. Premi “Crea”.

5. Ora, passa a Seriale su Ethernet sul computer host. Apri “Connessioni remote”.

6. Se tutto è stato impostato correttamente, la porta della macchina virtuale dovrebbe apparire nell’elenco. Selezionala.

7. Impostare le opzioni di connessione del client, come la porta che verrà utilizzata per ricevere i dati.

8. Premi “Crea” ancora una volta e hai finito.

Video tutorial:

Come collegare l'hardware seriale a una macchina virtuale con PipeDream

Per gli utenti di Macchine Virtuali che desiderano aggiungere una porta COM alle porte seriali di Hyper-V, PipeDream è un’opzione ideale. Questo strumento per porte seriali in Hyper-V funziona tramite lo stesso server che ospita Hyper-V (che è un host di virtualizzazione), colmando il divario tra le macchine virtuali e le porte seriali.

PipeDream funziona trasmettendo i dati ricevuti dall’hardware seriale (qualunque cosa sia collegata alla porta COM) e aiuta la Macchina Virtuale a riconoscerlo e ad accedervi (e viceversa).

Inoltre, PipeDream non necessita di un elemento lato client per funzionare su un server, rendendo il passthrough del supporto seriale di Hyper-V ancora più comodo. PipeDream non richiede alcuna installazione (dispositivo, software o altro) sulla/e macchina/e virtuale/i partecipante/i—massimizzando così la compatibilità con OS/software legacy e un supporto affidabile per i sistemi operativi XP (e precedenti).

PipeDream consente alle macchine virtuali guest di controllare le porte seriali sull’host di virtualizzazione (o su altre macchine). Questo strumento funziona grazie al supporto delle named pipe di Hyper-V, il che significa che non è necessaria una connessione di rete per la comunicazione. Basta creare un nome di pipe in Hyper-V e PipeDream si collegherà al dispositivo seriale della VM guest una volta avviato il programma PipeDream.

Disclaimer: Il software PipeDream per porta seriale in Hyper-V è compatibile con Hyper-V di Microsoft, ma è uno strumento di terze parti senza alcuna affiliazione con Microsoft. Il nostro uso del termine “Hyper-V” non intende avallare né affiliarsi con Microsoft Corporation.

Per coloro che dispongono di una macchina virtuale Hyper-V di Gen 1

Segui la guida passo dopo passo qui sotto per scoprire come aggiungere una porta COM a Hyper-V.

1. Esegui Gestione Hyper-V e apri le impostazioni della macchina Guest (la VM che desideri configurare);

2. Scegli COM1 o COM2 dalla nuova finestra (situata nell’elenco hardware a sinistra);

3. Questa è la porta seriale che consente alla macchina virtuale di accedere al dispositivo seriale di tua scelta (ovvero la porta che appare nella VM può differire dalla porta seriale fisica dell’host);

4. Collega la pipe denominata “PipeDream” alla porta seriale dell’ospite (fallo facendo clic su Named pipe e digita “PipeDream” come nome della pipe—vedi l’immagine qui sotto come riferimento);

5. Per chi dispone di un dispositivo seriale su un computer remoto, assicurarsi che la casella di controllo “Computer remoto” sia selezionata e inserire il nome della macchina;

6. Fare clic su OK;

nome del tubo

Come configurare per macchine virtuali Gen-2

Per coloro che eseguono macchine virtuali Gen-2, le impostazioni della pipe visualizzate sopra non sono configurabili tramite la GUI; pertanto, gli utenti devono implementare comandi PowerShell.

1. Apri una sessione di Powershell;

2. Eseguire Get-VM;

3. Copia il nome della macchina virtuale con la porta seriale desiderata;

4. Eseguire Set-VMComPort -Number < 1 o 2, per la porta seriale COM1 o COM2 > -Path \.pipePipeDream

5. Usa Get-VMComPort per confermare la creazione della pipe (vedi lo screenshot mostrato di seguito utilizzando una VM chiamata “SillyRabbit” a scopo di esempio).

conferma la creazione della pipeline

Ma non ci sono porte COM per le VM Gen 2, giusto…?

Francamente, la risposta è un misto di sì e no (con il “no” principalmente incentrato sulle capacità predefinite di passthrough della porta seriale di Hyper-V.) La notizia entusiasmante è che questo è modificabile!

Le schermate sottostanti provengono da una VM Windows 8 (nello specifico utilizzando i supporti creati nella sezione precedente in cui è stato aggiunto il driver per la tastiera basata su software.)

Nell’esempio seguente, vedrai che le impostazioni per una macchina virtuale gen-2 di base non includono opzioni per la porta COM.

Impostazioni Hyper-V

Il motivo è che, indipendentemente dal fatto che le porte seriali siano disponibili o meno, il Gestione Hyper-V di Gen-2 non visualizza mai le porte COM.

Di seguito daremo un’occhiata a cosa ha da dire PowerShell:

PowerShell

Nota come PowerShell mostri due porte COM disponibili? Tuttavia, se apri Gestione dispositivi della macchina guest, non saranno elencate porte COM per la VM.

Dai un’occhiata all’esempio seguente (usando COM1) per configurare un percorso del pipe per le porte COM mentre una macchina virtuale è in esecuzione:

configura un percorso della pipeline

Come accennato in precedenza, quando si controlla Gestione dispositivi della macchina guest, COM1 non viene visualizzato, ma una volta che la VM viene arrestata e riavviata, la porta COM desiderata sarà ora disponibile nell’elenco (vedi sotto).

gestione dispositivi porta COM

Per chi ha esperienza con il debug del kernel, il processo rimanente è piuttosto semplice e lineare, con una sola piccola eccezione specifica delle VM Gen-2 (ancora più specificamente, computer basati su UEFI che utilizzano Secure Boot.)

Tramite msconfig, abbiamo abilitato il debug del kernel per la VM su COM1. Tuttavia, una volta fatto clic su OK, viene visualizzato il seguente messaggio di errore:

configurazione di sistema

Perché? Perché la policy di Windows afferma che Secure Boot e il debug del kernel non sono compatibili. Ciò significa che gli utenti devono spegnere la macchina virtuale, quindi disabilitare Secure Boot dalle impostazioni del firmware.

abilita Secure Boot
  1. Utilizza di nuovo msconfig per abilitare il debug del kernel (questa volta andrà a buon fine);
  2. Riavvia la VM;
  3. Connettiti alla pipe tramite windbg della partizione padre;
connetti al tubo

Conclusione

In sintesi, sebbene Hyper-V non offra il passthrough diretto delle porte COM fisiche alle macchine virtuali, la comunicazione seriale può comunque essere ottenuta utilizzando pipe con nome, configurazione tramite PowerShell e strumenti specializzati di reindirizzamento. Questi metodi rendono possibile lavorare sia con VM di Gen 1 sia di Gen 2 per attività come il supporto di software legacy, l’integrazione hardware o il debugging.

Negli scenari in cui l’accesso seriale diretto non è pratico, Serial to Ethernet Connector può essere un’alternativa efficace. Convertendo i dati seriali in traffico di rete, tali dispositivi consentono di accedere ad apparecchiature basate su COM tramite TCP/IP e di condividerle facilmente con le macchine virtuali. In combinazione con un software di reindirizzamento delle porte seriali, questo approccio offre maggiore flessibilità e semplifica l’accesso ai dispositivi seriali fisici in ambienti Hyper-V virtualizzati.