Una guida completa alle porte seriali di VirtualBox

VirtualBox consente di emulare porte seriali (COM) all’interno di una macchina virtuale, rendendo possibile eseguire applicazioni legacy, collegare dispositivi seriali fisici o stabilire comunicazioni tra sistemi virtuali. Configurando correttamente le porte COM di VirtualBox, puoi reindirizzare i dati seriali alla macchina host, condividere hardware reale o creare connessioni virtuali utilizzando pipe e socket di rete.

Questo articolo spiega come funzionano le porte seriali di VirtualBox, le opzioni di configurazione disponibili e modi pratici per collegare e gestire le porte COM in un ambiente virtuale.

Emulazione e gestione della porta seriale in VirtualBox

Le porte seriali virtuali create in VirtualBox vengono riconosciute dal sistema operativo come un dispositivo UART compatibile 16550A standard per impostazione predefinita. Il comando VBoxManage modifyvm consente alla porta di replicare altri tipi di dispositivi UART. Le porte seriali virtuali supportano la ricezione e la trasmissione dei dati per una comunicazione bidirezionale. La connettività con la macchina host viene personalizzata utilizzando le funzionalità del suo sistema operativo.

Gli utenti configurano le porte seriali virtuali tramite la scheda Impostazioni di VirtualBox oppure usando il comando VBoxManage. È possibile configurare fino a quattro porte seriali virtuali per ciascuna macchina virtuale. I numeri di porta vengono assegnati durante la configurazione e in genere replicano valori standard come COM1, COM2, ecc. È possibile anche definire nomi personalizzati durante la creazione delle porte seriali virtuali.

porte seriali nelle impostazioni di virtualbox

Opzioni della modalità porta e tecniche di comunicazione in VirtualBox

Quando si seleziona la modalità della porta sono disponibili diverse opzioni che influiscono sulla connessione della porta virtuale. Le opzioni sono:

  • Disconnessa – Il sistema operativo guest riconosce il dispositivo ma lo tratta come se non fosse collegato alla porta.
  • Dispositivo host – Questa opzione collega la porta seriale virtuale alla porta seriale fisica del computer host. I percorsi riflettono il formato del sistema operativo host. Ad esempio, /dev/ttyS0 viene utilizzato per Linux e COM1 per i sistemi Windows.
  • Pipe host – Questa opzione crea una pipe con nome sui sistemi Windows o utilizza un socket di dominio locale su Mac, Linux o Oracle Solaris. Questa è la configurazione preferita per creare connessioni tramite pipe dal software al sistema operativo host.
  • File raw – Questa modalità salva l’output della porta seriale virtuale in un file, dove può essere utilizzato per raccogliere dati diagnostici dal sistema operativo guest.
  • Socket TCP – L’uso di questa modalità stabilisce il passthrough della porta seriale di VirtualBox e consente di inoltrare i dati seriali su reti TCP/IP. Le VM possono agire sia da server sia da client.


Quando vengono create più porte seriali virtuali, la condivisione degli interrupt non dovrebbe essere implementata se le porte utilizzano lo stesso livello di interrupt, per evitare conflitti di comunicazione.

Gli utenti possono stabilire comunicazione tra macchine virtuali con una connessione null-modem. Una delle VM viene configurata come pipe o socket che la seconda VM utilizza per connettersi alla prima macchina.

La modalità socket TCP supporta la creazione di connessioni esterne alla porta seriale di una macchina guest tramite TCP. VirtualBox supporta sia la modalità server TCP, accessibile con strumenti come telnet, sia la modalità client TCP, adatta ai cavi null-modem virtuali.

La conoscenza delle porte seriali di VirtualBox fornisce agli sviluppatori e ai programmatori di sistema uno strumento prezioso per estendere la funzionalità delle loro VM. Le porte possono essere utilizzate per la condivisione di dispositivi, il debug del kernel o la creazione di bridge di rete senza richiedere interfacce seriali fisiche.

Dettagli tecnici della porta seriale di VirtualBox

VirtualBox supporta fino a quattro porte seriali virtuali per macchina virtuale. Ogni porta emula un’interfaccia COM standard del PC e richiede parametri hardware specifici per garantire la compatibilità con software e sistemi operativi legacy.

Impostazioni predefinite della porta COM in VirtualBox

Quando si configura manualmente una porta seriale, è necessario specificare l’indirizzo di base I/O e il numero IRQ. VirtualBox segue il tradizionale layout delle porte seriali dei PC:

Porta COM Indirizzo base I/O IRQ
COM1 0x3F8 4
COM2 0x2F8 3
COM3 0x3E8 4
COM4 0x2E8 3

L’utilizzo di questi valori predefiniti aiuta a evitare conflitti e garantisce che i sistemi operativi guest rilevino correttamente il dispositivo seriale.

Nota: Alcuni sistemi legacy potrebbero non gestire bene gli IRQ condivisi. Se si verificano problemi di comunicazione, verificare che nessun altro hardware virtuale stia utilizzando lo stesso interrupt.

Configurazione delle porte seriali tramite VBoxManage

Oltre all’interfaccia grafica di VirtualBox, le porte seriali possono essere configurate utilizzando lo strumento da riga di comando VBoxManage. Questo approccio è utile per l’automazione, lo scripting o gli ambienti headless.

VirtualBox fornisce opzioni di comando quali:

  • --uart – definisce il numero della porta seriale e i parametri hardware
  • --uartmode – specifica come la porta è connessa (dispositivo host, pipe, socket, file, ecc.)
  • --uarttype – imposta il tipo di emulazione UART


La configurazione da riga di comando consente agli utenti avanzati di controllare con precisione il comportamento della porta seriale senza fare affidamento sulla GUI.

Passthrough della porta seriale di VirtualBox con connettore da seriale a Ethernet

Per semplificare il passthrough della porta seriale di VirtualBox e abilitare l’accesso ai dispositivi seriali fisici, puoi utilizzare Serial to Ethernet Connector. Questo software consente a una macchina virtuale VirtualBox di connettersi a dispositivi seriali collegati a un host Windows locale o remoto creando porte seriali virtuali all’interno della VM.

Utilizzando Serial to Ethernet Connector, le macchine virtuali ottengono il pieno controllo delle periferiche seriali connesse in rete, proprio come se fossero collegate direttamente. Questo approccio aggiunge flessibilità alla gestione dei dispositivi seriali, consentendo di riassegnare facilmente l’hardware tra sessioni virtuali senza riconfigurare la macchina virtuale.

Configurazione delle porte COM in VirtualBox

I seguenti passaggi mostrano come stabilire e condividere porte seriali virtuali con le macchine virtuali.

1. Scarica e installa Serial to Ethernet Connector sul computer che condividerà una porta seriale fisica.

2. Avvia il programma e apri la scheda di connessione al server.

3. Fornire il nome della porta COM del computer host e la porta TCP che monitorerà la comunicazione.

4. Seleziona Crea connessione al server.

5. Collega la porta seriale alla macchina virtuale nella scheda Connessione client sul sistema operativo guest che accederà alla porta fisica condivisa.

6. Fornire il nome della porta TCP definito durante la creazione del server e l’indirizzo IP del computer host.

7. Seleziona un nome per la porta seriale della macchina virtuale.

8. Scegli Crea connessione client.

Video tutorial

COM Port Redirector ti consente di accedere alle porte seriali negli ambienti di macchine virtuali. Dopo aver stabilito una connessione client, COM Port Redirector (aka Serial to Ethernet Connector) fornisce alla VM guest lo stesso livello di funzionalità nell’utilizzo dei dispositivi collegati come con una connessione fisica diretta.