Вичерпний посібник із послідовних портів VirtualBox

VirtualBox дозволяє емулювати послідовні (COM) порти всередині віртуальної машини, що дає змогу запускати застарілі застосунки, підключати фізичні послідовні пристрої або встановлювати зв’язок між віртуальними системами. Правильно налаштувавши COM-порти VirtualBox, ви можете перенаправляти послідовні дані на хост-машину, спільно використовувати реальне апаратне забезпечення або створювати віртуальні з’єднання за допомогою каналів і мережевих сокетів.

У цій статті пояснюється, як працюють послідовні порти VirtualBox, доступні параметри конфігурації та практичні способи підключення й керування COM-портами у віртуальному середовищі.

Емуляція та керування послідовним портом у VirtualBox

Віртуальні послідовні порти, створені у VirtualBox, за замовчуванням розпізнаються операційною системою як стандартний UART-пристрій, сумісний із 16550A. Команда VBoxManage modifyvm дає змогу налаштувати порт так, щоб він імітував інші типи UART-пристроїв. Віртуальні послідовні порти підтримують приймання та передавання даних для двостороннього зв’язку. Підключення до хост-машини налаштовується з використанням можливостей її операційної системи.

Користувачі налаштовують віртуальні послідовні порти на вкладці «Налаштування» VirtualBox або за допомогою команди VBoxManage. Для кожної віртуальної машини можна налаштувати до чотирьох віртуальних послідовних портів. Номери портів призначаються під час налаштування та зазвичай відповідають стандартним значенням, таким як COM1, COM2 тощо. Під час створення віртуальних послідовних портів також можна задавати власні імена.

послідовні порти в налаштуваннях VirtualBox

Параметри режиму порту та методи зв’язку у VirtualBox

Під час вибору режиму порту доступно кілька варіантів, які впливають на підключення віртуального порту. Ваші варіанти:

  • Від’єднано – Гостьова ОС розпізнає пристрій, але поводиться з ним так, ніби він не підключений до порту.
  • Пристрій хоста – Цей параметр пов’язує віртуальний послідовний порт із фізичним послідовним портом комп’ютера-хоста. Шляхи відображають формат ОС хоста. Наприклад, /dev/ttyS0 використовується для Linux, а COM1 — для систем Windows.
  • Канал хоста – Цей параметр створює іменований канал у системах Windows або використовує локальний доменний сокет на Mac, Linux чи Oracle Solaris. Це бажане налаштування для створення каналових підключень із програмного забезпечення до ОС хоста.
  • Сирий файл – Цей режим зберігає вихідні дані віртуального послідовного порту у файл, де їх можна використати для збирання діагностичних даних із гостьової операційної системи.
  • TCP-сокет – Використання цього режиму встановлює наскрізне передавання (passthrough) послідовного порту VirtualBox і дозволяє пересилати послідовні дані через мережі TCP/IP. ВМ можуть діяти як сервер або клієнт.


Коли створено кілька віртуальних послідовних портів, спільне використання переривань не слід реалізовувати, якщо порти використовують один і той самий рівень переривання, щоб уникнути конфлікту зв’язку.

Користувачі можуть встановити зв’язок між віртуальними машинами за допомогою з’єднання null-modem. Одна з ВМ налаштовується як канал або сокет, який друга ВМ використовує для підключення до першої машини.

Режим TCP-сокета підтримує створення зовнішніх підключень до послідовного порту гостьової машини через TCP. VirtualBox підтримує як режим TCP-сервера, доступний за допомогою інструментів на кшталт telnet, так і режим TCP-клієнта, придатний для віртуальних кабелів null-modem.

Знання послідовних портів VirtualBox надає розробникам і системним програмістам цінний інструмент для розширення функціональності їхніх ВМ. Порти можна використовувати для спільного використання пристроїв, налагодження ядра або створення мережевих мостів без потреби у фізичних послідовних інтерфейсах.

Технічні деталі послідовного порту VirtualBox

VirtualBox підтримує до чотирьох віртуальних послідовних портів на одну віртуальну машину. Кожен порт емулює стандартний інтерфейс PC COM і вимагає конкретних апаратних параметрів для забезпечення сумісності зі застарілим програмним забезпеченням та операційними системами.

Налаштування COM-порту за замовчуванням у VirtualBox

Під час ручного налаштування послідовного порту потрібно вказати базову адресу введення/виведення та номер IRQ. VirtualBox дотримується традиційного розташування послідовних портів ПК:

COM-порт Базова адреса вводу/виводу IRQ
COM1 0x3F8 4
COM2 0x2F8 3
COM3 0x3E8 4
COM4 0x2E8 3

Використання цих значень за замовчуванням допомагає уникнути конфліктів і забезпечує, що гостьові операційні системи правильно виявляють послідовний пристрій.

Примітка: Деякі застарілі системи можуть погано працювати зі спільно використовуваними IRQ. Якщо у вас виникають проблеми зі зв’язком, перевірте, що жодне інше віртуальне обладнання не використовує те саме переривання.

Налаштування послідовних портів через VBoxManage

Окрім графічного інтерфейсу VirtualBox, послідовні порти можна налаштовувати за допомогою інструмента командного рядка VBoxManage. Цей підхід корисний для автоматизації, скриптингу або безголових середовищ.

VirtualBox надає такі параметри команд:

  • --uart – визначає номер послідовного порту та апаратні параметри
  • --uartmode – вказує, як підключено порт (пристрій хоста, канал, сокет, файл тощо)
  • --uarttype – задає тип емуляції UART


Налаштування через командний рядок дозволяє досвідченим користувачам точно контролювати поведінку послідовного порту без використання GUI.

Проброс послідовного порту VirtualBox за допомогою з’єднувача Serial to Ethernet Connector

Щоб спростити перенаправлення послідовного порту VirtualBox і забезпечити доступ до фізичних послідовних пристроїв, ви можете скористатися Serial to Ethernet Connector. Це програмне забезпечення дозволяє віртуальній машині VirtualBox підключатися до послідовних пристроїв, під’єднаних до локального або віддаленого хоста Windows, створюючи віртуальні послідовні порти всередині ВМ.

Використовуючи Serial to Ethernet Connector, віртуальні машини отримують повний контроль над послідовними периферійними пристроями, підключеними через мережу, так само, ніби вони були під’єднані безпосередньо. Цей підхід додає гнучкості в керуванні послідовними пристроями, дозволяючи легко перепризначати апаратне забезпечення між віртуальними сеансами без переналаштування віртуальної машини.

Налаштування COM-портів у VirtualBox

Наступні кроки демонструють, як налаштувати та надати спільний доступ до віртуальних послідовних портів із вашими віртуальними машинами.

1. Завантажте та встановіть Serial to Ethernet Connector на комп’ютер, який надаватиме спільний доступ до фізичного послідовного порту.

2. Запустіть програму та відкрийте вкладку підключення до сервера.

3. Надайте назву COM-порту головної машини та TCP-порт, який відстежуватиме обмін даними.

4. Виберіть «Створити підключення до сервера».

5. Підключіть послідовний порт до віртуальної машини на вкладці підключення клієнта в гостьовій операційній системі, яка отримуватиме доступ до спільного фізичного порту.

6. Вкажіть назву TCP-порту, визначену під час створення сервера, та IP-адресу хост-комп’ютера.

7. Виберіть назву для послідовного порту віртуальної машини.

8. Виберіть «Створити клієнтське підключення».

Відеоурок

COM Port Redirector дає змогу отримувати доступ до послідовних портів у середовищах віртуальних машин. Після встановлення клієнтського з’єднання COM Port Redirector (також відомий як Serial to Ethernet Connector) надає гостьовій ВМ той самий рівень функціональності під час використання підключених пристроїв, що й за прямого фізичного підключення.