- Strona główna
- Blog
- Kompleksowy przewodnik po portach szeregowych VirtualBox
Kompleksowy przewodnik po portach szeregowych VirtualBox
VirtualBox umożliwia emulowanie portów szeregowych (COM) wewnątrz maszyny wirtualnej, co pozwala uruchamiać starsze aplikacje, podłączać fizyczne urządzenia szeregowe lub nawiązywać komunikację między systemami wirtualnymi. Poprawnie konfigurując porty COM w VirtualBox, możesz przekierowywać dane szeregowe do maszyny hosta, współdzielić rzeczywisty sprzęt lub tworzyć wirtualne połączenia za pomocą potoków i gniazd sieciowych.
Ten artykuł wyjaśnia, jak działają porty szeregowe VirtualBox, dostępne opcje konfiguracji oraz praktyczne sposoby podłączania i zarządzania portami COM w środowisku wirtualnym.
Emulacja portu szeregowego i zarządzanie nim w VirtualBox
Wirtualne porty szeregowe utworzone w VirtualBox są domyślnie rozpoznawane przez system operacyjny jako standardowe urządzenie UART zgodne z 16550A. Polecenie VBoxManage modifyvm umożliwia portowi emulowanie innych typów urządzeń UART. Wirtualne porty szeregowe obsługują odbiór i transmisję danych do komunikacji dwukierunkowej. Łączność z maszyną hosta jest dostosowywana z wykorzystaniem możliwości jej systemu operacyjnego.
Użytkownicy konfigurują wirtualne porty szeregowe w zakładce Ustawienia VirtualBox lub za pomocą polecenia VBoxManage. Dla każdej maszyny wirtualnej można skonfigurować do czterech wirtualnych portów szeregowych. Numery portów są przypisywane podczas konfiguracji i zazwyczaj odzwierciedlają standardowe wartości, takie jak COM1, COM2 itd. Podczas tworzenia wirtualnych portów szeregowych można również używać nazw zdefiniowanych przez użytkownika.
Opcje trybu portu i techniki komunikacji w VirtualBox
Podczas wybierania trybu portu dostępnych jest wiele opcji, które wpływają na połączenie wirtualnego portu. Dostępne opcje to:
- Odłączony – Gościnny system operacyjny rozpoznaje urządzenie, ale traktuje je tak, jakby nie było podłączone do portu.
- Urządzenie hosta – Ta opcja łączy wirtualny port szeregowy z fizycznym portem szeregowym komputera hosta. Ścieżki odzwierciedlają format systemu operacyjnego hosta. Na przykład /dev/ttyS0 jest używane w systemie Linux, a COM1 w systemach Windows.
- Potok hosta – Ta opcja tworzy nazwany potok w systemach Windows lub wykorzystuje lokalne gniazdo domeny w systemach Mac, Linux lub Oracle Solaris. Jest to preferowana konfiguracja do tworzenia połączeń potokowych z oprogramowania do systemu operacyjnego hosta.
- Surowy plik – Ten tryb zapisuje dane wyjściowe wirtualnego portu szeregowego do pliku, gdzie mogą być użyte do zbierania danych diagnostycznych z gościnnego systemu operacyjnego.
- Gniazdo TCP – Użycie tego trybu ustanawia przekazywanie portu szeregowego VirtualBox i umożliwia przekazywanie danych szeregowych przez sieci TCP/IP. Maszyny wirtualne mogą działać zarówno jako serwer, jak i klient.
Gdy tworzonych jest wiele wirtualnych portów szeregowych, nie należy stosować współdzielenia przerwań, jeśli porty używają tego samego poziomu przerwania, aby uniknąć konfliktu komunikacji.
Użytkownicy mogą nawiązać komunikację między maszynami wirtualnymi za pomocą połączenia null-modem. Jedna z maszyn wirtualnych jest skonfigurowana jako potok lub gniazdo, którego druga maszyna wirtualna używa do połączenia z pierwszą.
Tryb gniazda TCP obsługuje tworzenie zewnętrznych połączeń z portem szeregowym maszyny gościa przez TCP. VirtualBox obsługuje zarówno tryb serwera TCP, do którego można uzyskać dostęp za pomocą narzędzi takich jak telnet, jak i tryb klienta TCP, odpowiedni dla wirtualnych kabli null-modem.
Znajomość portów szeregowych VirtualBox daje programistom i programistom systemowym cenne narzędzie do rozszerzania funkcjonalności ich maszyn wirtualnych. Porty mogą być używane do współdzielenia urządzeń, debugowania jądra lub tworzenia mostów sieciowych bez konieczności posiadania fizycznych interfejsów szeregowych.
Szczegóły techniczne portu szeregowego VirtualBox
VirtualBox obsługuje do czterech wirtualnych portów szeregowych na maszynę wirtualną. Każdy port emuluje standardowy interfejs PC COM i wymaga określonych parametrów sprzętowych, aby zapewnić zgodność ze starszym oprogramowaniem i systemami operacyjnymi.
Domyślne ustawienia portu COM w VirtualBox
Podczas ręcznej konfiguracji portu szeregowego musisz określić bazowy adres I/O oraz numer IRQ. VirtualBox stosuje tradycyjny układ portów szeregowych w komputerach PC:
| Port COM | Bazowy adres I/O | IRQ |
| COM1 | 0x3F8 | 4 |
| COM2 | 0x2F8 | 3 |
| COM3 | 0x3E8 | 4 |
| COM4 | 0x2E8 | 3 |
Użycie tych wartości domyślnych pomaga uniknąć konfliktów i zapewnia, że gościnne systemy operacyjne poprawnie wykrywają urządzenie szeregowe.
Konfigurowanie portów szeregowych za pomocą VBoxManage
Oprócz graficznego interfejsu VirtualBox, porty szeregowe można konfigurować za pomocą narzędzia wiersza poleceń VBoxManage. To podejście jest przydatne do automatyzacji, skryptów lub środowisk bez interfejsu graficznego.
VirtualBox udostępnia opcje poleceń takie jak:
--uart– definiuje numer portu szeregowego i parametry sprzętowe--uartmode– określa, w jaki sposób port jest podłączony (urządzenie hosta, potok, gniazdo, plik itp.)--uarttype– ustawia typ emulacji UART
Konfiguracja z wiersza poleceń pozwala zaawansowanym użytkownikom precyzyjnie kontrolować zachowanie portu szeregowego bez polegania na GUI.
Przekazywanie portu szeregowego VirtualBox z łącznikiem szeregowym do Ethernetu
Aby uprościć przekazywanie portu szeregowego w VirtualBox i umożliwić dostęp do fizycznych urządzeń szeregowych, możesz użyć Serial to Ethernet Connector. To oprogramowanie pozwala maszynie wirtualnej VirtualBox łączyć się z urządzeniami szeregowymi podłączonymi do lokalnego lub zdalnego hosta Windows poprzez tworzenie wirtualnych portów szeregowych wewnątrz maszyny wirtualnej.
Korzystając z Serial to Ethernet Connector, maszyny wirtualne zyskują pełną kontrolę nad urządzeniami peryferyjnymi szeregowymi podłączonymi przez sieć, tak jakby były podłączone bezpośrednio. Takie podejście zwiększa elastyczność zarządzania urządzeniami szeregowymi, umożliwiając łatwe przypisywanie sprzętu pomiędzy sesjami wirtualnymi bez konieczności ponownej konfiguracji maszyny wirtualnej.
Konfigurowanie portów COM w VirtualBox
Poniższe kroki pokazują, jak skonfigurować i udostępniać wirtualne porty szeregowe maszynom wirtualnym.
1. Pobierz i zainstaluj Serial to Ethernet Connector na komputerze, który będzie udostępniał fizyczny port szeregowy.
2. Uruchom program i otwórz kartę połączenia z serwerem.
3. Podaj nazwę portu COM komputera hosta oraz port TCP, który będzie monitorował komunikację.
4. Wybierz Utwórz połączenie z serwerem.
5. Podłącz port szeregowy do maszyny wirtualnej na karcie połączenia Klienta w systemie operacyjnym gościa, który będzie uzyskiwać dostęp do współdzielonego portu fizycznego.
6. Podaj nazwę portu TCP zdefiniowaną podczas tworzenia serwera oraz adres IP komputera hosta.
7. Wybierz nazwę dla portu szeregowego maszyny wirtualnej.
8. Wybierz Utwórz połączenie klienta.
Samouczek wideo
COM Port Redirector umożliwia dostęp do portów szeregowych w środowiskach maszyn wirtualnych. Po nawiązaniu połączenia klienta COM Port Redirector (znany również jako Serial to Ethernet Connector) zapewnia gościnnej maszynie wirtualnej ten sam poziom funkcjonalności podczas korzystania z podłączonych urządzeń, co w przypadku bezpośredniego fizycznego połączenia.