Un ghid cuprinzător pentru porturile seriale VirtualBox

VirtualBox vă permite să emulați porturi seriale (COM) în interiorul unei mașini virtuale, făcând posibilă rularea aplicațiilor vechi, conectarea dispozitivelor seriale fizice sau stabilirea comunicării între sisteme virtuale. Prin configurarea corectă a porturilor COM în VirtualBox, puteți redirecționa datele seriale către mașina gazdă, partaja hardware real sau crea conexiuni virtuale folosind pipe-uri și socket-uri de rețea.

Acest articol explică modul în care funcționează porturile seriale VirtualBox, opțiunile de configurare disponibile și modalități practice de conectare și gestionare a porturilor COM într-un mediu virtual.

Emularea și gestionarea portului serial în VirtualBox

Porturile seriale virtuale create în VirtualBox sunt recunoscute implicit de sistemul de operare ca un dispozitiv UART compatibil standard 16550A. Comanda VBoxManage modifyvm permite portului să emuleze alte tipuri de dispozitive UART. Porturile seriale virtuale acceptă recepția și transmisia de date pentru comunicare bidirecțională. Conectivitatea la mașina gazdă este personalizată folosind capabilitățile sistemului său de operare.

Utilizatorii configurează porturile seriale virtuale din fila Setări VirtualBox sau folosind comanda VBoxManage. Pot fi configurate până la patru porturi seriale virtuale pentru fiecare mașină virtuală. Numerele porturilor sunt atribuite în timpul configurării și, de obicei, reproduc valori standard precum COM1, COM2 etc. Numele definite de utilizator sunt, de asemenea, o opțiune la configurarea porturilor seriale virtuale.

porturi seriale în setările VirtualBox

Opțiuni pentru modul portului și tehnici de comunicare în Virtualbox

Sunt disponibile mai multe opțiuni la selectarea modului portului, care afectează conexiunea portului virtual. Opțiunile sunt:

  • Deconectat – Sistemul de operare invitat recunoaște dispozitivul, dar îl tratează ca și cum nu ar fi conectat la port.
  • Dispozitiv gazdă – Această opțiune leagă portul serial virtual de portul serial fizic al computerului gazdă. Căile reflectă formatul sistemului de operare al gazdei. De exemplu, /dev/ttyS0 este utilizat pentru Linux și COM1 pentru sistemele Windows.
  • Conductă gazdă – Această opțiune creează o conductă denumită pe sistemele Windows sau utilizează un socket de domeniu local pe Mac, Linux sau Oracle Solaris. Aceasta este configurația preferată pentru crearea conexiunilor prin conductă din software către sistemul de operare gazdă.
  • Fișier brut – Acest mod salvează ieșirea portului serial virtual într-un fișier, unde poate fi utilizată pentru a colecta date de diagnostic din sistemul de operare invitat.
  • Socket TCP – Utilizarea acestui mod stabilește passthrough-ul portului serial VirtualBox și permite redirecționarea datelor seriale prin rețele TCP/IP. Mașinile virtuale pot acționa fie ca server, fie ca client.


Atunci când sunt create mai multe porturi seriale virtuale, partajarea întreruperilor nu ar trebui implementată dacă porturile folosesc același nivel de întrerupere, pentru a evita conflictele de comunicare.

Utilizatorii pot stabili comunicarea între mașini virtuale cu o conexiune null-modem. Una dintre mașinile virtuale este configurată ca o conductă sau un socket, pe care a doua mașină virtuală îl folosește pentru a se conecta la prima mașină.

Modul socket TCP acceptă crearea de conexiuni externe către portul serial al unei mașini invitate prin TCP. VirtualBox acceptă atât modul server TCP, care este accesibil cu instrumente precum telnet, cât și modul client TCP, potrivit pentru cabluri virtuale null-modem.

Cunoașterea porturilor seriale VirtualBox le oferă dezvoltatorilor și programatorilor de sistem un instrument valoros pentru a extinde funcționalitatea mașinilor lor virtuale. Porturile pot fi folosite pentru partajarea dispozitivelor, depanarea kernel-ului sau stabilirea de punți de rețea fără a necesita interfețe seriale fizice.

Detalii tehnice ale portului serial VirtualBox

VirtualBox acceptă până la patru porturi seriale virtuale per mașină virtuală. Fiecare port emulează o interfață COM standard de PC și necesită parametri hardware specifici pentru a asigura compatibilitatea cu software-ul și sistemele de operare vechi.

Setări implicite ale portului COM în VirtualBox

Când configurați manual un port serial, trebuie să specificați adresa de bază I/O și numărul IRQ. VirtualBox urmează configurația tradițională a porturilor seriale ale PC-urilor:

Port COM Adresă de bază I/O IRQ
COM1 0x3F8 4
COM2 0x2F8 3
COM3 0x3E8 4
COM4 0x2E8 3

Utilizarea acestor valori implicite ajută la evitarea conflictelor și asigură că sistemele de operare invitate detectează corect dispozitivul serial.

Notă: Este posibil ca unele sisteme vechi să nu gestioneze bine IRQ-urile partajate. Dacă întâmpinați probleme de comunicare, verificați că niciun alt hardware virtual nu utilizează aceeași întrerupere.

Configurarea porturilor seriale prin VBoxManage

Pe lângă interfața grafică VirtualBox, porturile seriale pot fi configurate folosind instrumentul de linie de comandă VBoxManage. Această abordare este utilă pentru automatizare, scripting sau medii headless.

VirtualBox oferă opțiuni de comandă precum:

  • --uart – definește numărul portului serial și parametrii hardware
  • --uartmode – specifică modul în care este conectat portul (dispozitiv gazdă, pipe, socket, fișier etc.)
  • --uarttype – setează tipul de emulare UART


Configurarea din linia de comandă permite utilizatorilor avansați să controleze cu precizie comportamentul portului serial fără a se baza pe GUI.

VirtualBox Passthrough pentru port serial cu conector Serial la Ethernet

Pentru a simplifica passthrough-ul portului serial VirtualBox și pentru a permite accesul la dispozitive seriale fizice, puteți utiliza Serial to Ethernet Connector. Acest software permite unei mașini virtuale VirtualBox să se conecteze la dispozitive seriale atașate la o gazdă Windows locală sau la distanță prin crearea de porturi seriale virtuale în interiorul mașinii virtuale.

Prin utilizarea Serial to Ethernet Connector, mașinile virtuale obțin control complet asupra perifericelor seriale conectate la rețea, ca și cum ar fi atașate direct. Această abordare adaugă flexibilitate în gestionarea dispozitivelor seriale, permițând ca hardware-ul să fie reasignat cu ușurință între sesiuni virtuale fără a reconfigura mașina virtuală.

Configurarea porturilor COM în VirtualBox

Următorii pași demonstrează cum să stabiliți și să partajați porturi seriale virtuale cu mașinile dvs. virtuale.

1. Descărcați și instalați Serial to Ethernet Connector pe computerul care va partaja un port serial fizic.

2. Lansați programul și deschideți fila de conexiune la server.

3. Furnizați numele portului COM al mașinii gazdă și portul TCP care va monitoriza comunicarea.

4. Selectați Creați conexiune la server.

5. Conectați portul serial la mașina virtuală în fila de conectare Client de pe sistemul de operare invitat care va accesa portul fizic partajat.

6. Furnizați numele portului TCP definit în timpul creării serverului și adresa IP a computerului gazdă.

7. Selectați un nume pentru portul serial al mașinii virtuale.

8. Alegeți Creare conexiune client.

Tutorial video

COM Port Redirector vă permite să accesați porturi seriale în medii de mașini virtuale. După stabilirea unei conexiuni client, COM Port Redirector (cunoscut și ca Serial to Ethernet Connector) oferă mașinii virtuale invitate același nivel de funcționalitate atunci când utilizați dispozitive conectate ca și în cazul unei conexiuni fizice directe.