Как создать виртуальный COM-порт в Windows 10

Устройство не определяется в диспетчере устройств, программа для прошивки или диагностики не видит подключённый адаптер, а физического COM-порта на современном ПК просто нет — именно в такой ситуации требуется создать виртуальный COM-порт в Windows 10. Операционная система не имеет встроенной кнопки «добавить порт», поэтому задача решается либо установкой драйвера USB-адаптера, либо специальным эмулятором последовательного интерфейса.

Виртуальный порт ведёт себя в системе точно так же, как аппаратный: ему присваивается номер вида COM3 или COM5, и любое приложение может открывать его, передавать и принимать данные. Разница лишь в том, что данные проходят через программный драйвер, а не через физическую микросхему UART на материнской плате. Ниже разберём все рабочие способы — от простого подключения USB-переходника до создания связки портов для отладки программ.

Что такое виртуальный COM-порт и когда он нужен

Виртуальный COM-порт — это программная эмуляция последовательного интерфейса RS-232. Для Windows он выглядит как обычное устройство, которое отображается в диспетчере устройств в разделе «Порты (COM и LPT)». Приложения не различают виртуальный и физический порт, поэтому старое оборудование и софт, рассчитанные на COM-интерфейс, продолжают работать на современных компьютерах.

Типичные сценарии, где без виртуального порта не обойтись:

  • 🔌 Подключение USB-to-Serial адаптеров на чипах FTDI, CH340, Prolific PL2303 для прошивки микроконтроллеров и роутеров;
  • 🛰️ Работа с GPS-приёмниками, сканерами штрих-кодов и кассовым оборудованием через USB;
  • 🧪 Отладка программ: создание пары связанных портов, где данные, записанные в один, читаются из другого;
  • 🚗 Диагностика автомобилей через адаптеры OBD-II (например, на базе ELM327), которым требуется COM-интерфейс;
  • 📡 Перенаправление данных последовательного порта по сети (TCP-to-COM) для удалённого доступа к оборудованию.

Способ 1: установка драйвера USB-to-Serial адаптера

Самый частый случай: вы подключили переходник USB-RS232 или плату Arduino, а порт в системе не появился. Причина почти всегда одна — отсутствует драйвер микросхемы-преобразователя. Пока драйвер не установлен, Windows видит лишь «неизвестное устройство» с жёлтым значком.

Порядок действий следующий. Откройте Диспетчер устройств (нажмите Win + X и выберите соответствующий пункт), найдите устройство с ошибкой в разделе «Другие устройства» или «Порты (COM и LPT)». Кликните по нему правой кнопкой и выберите Обновить драйвер. Если система не находит драйвер автоматически, скачайте его с официального сайта производителя чипа: для CH340 — у производителя WCH, для FTDI — на сайте FTDI Chip, для PL2303 — у Prolific.

После успешной установки в разделе «Порты (COM и LPT)» появится новая строка, например USB-SERIAL CH340 (COM4). Номер порта присваивается автоматически, но его можно изменить: откройте свойства устройства, перейдите на вкладку Параметры портаДополнительно и выберите свободный номер из списка.

⚠️ Внимание: драйверы для чипов Prolific старых ревизий часто конфликтуют с новыми версиями Windows 10 — система может заблокировать устройство с кодом ошибки 10. В этом случае помогает установка более ранней версии драйвера, но скачивать её стоит только с официального сайта производителя, а не со сторонних сборников.

☑️ Проверка после установки драйвера

Выполнено: 0 / 4

Способ 2: программа com0com — связка виртуальных портов

Если физического устройства нет, а нужна пара портов для связи двух программ между собой, используйте свободный драйвер com0com. Он создаёт пары виртуальных портов, соединённых «нуль-модемным» каналом: всё, что одна программа пишет в первый порт, вторая читает из второго. Это стандартный инструмент для тестирования софта, работающего с последовательными интерфейсами.

Установка требует внимания к одному нюансу: драйвер com0com имеет цифровую подпись, но на некоторых конфигурациях Windows 10 с включённой обязательной проверкой подписей установка может завершиться ошибкой. В таком случае придётся временно отключить проверку подписи драйверов через меню особых вариантов загрузки: Параметры → Обновление и безопасность → Восстановление → Особые варианты загрузки, затем после перезагрузки выбрать пункт отключения обязательной проверки подписи.

После установки запустите утилиту Setup Command Prompt из папки com0com и введите команду:

install PortName=COM5 PortName=COM6

Эта команда создаст пару портов COM5 и COM6, которые сразу появятся в диспетчере устройств. Проверить связь можно через любой терминал (например, PuTTY в режиме Serial): откройте два окна на разных портах пары и отправьте текст из одного — он появится во втором.

Способ 3: коммерческие эмуляторы — VSPD и аналоги

Для тех, кто предпочитает графический интерфейс вместо командной строки, существуют коммерческие решения: Virtual Serial Port Driver (VSPD) от Eltima, Virtual COM Port Driver и подобные. Они стабильнее работают под Windows 10, не требуют отключения проверки подписей и предлагают дополнительные функции: разветвление одного порта на несколько приложений, объединение портов, эмуляцию обрыва линии.

Работа с такой программой сводится к простому сценарию: запускаете приложение, указываете два номера портов, нажимаете кнопку создания пары — и порты сразу доступны системе. Никаких перезагрузок обычно не требуется. Платные версии также умеют сохранять конфигурации и восстанавливать пары после перезагрузки автоматически.

Сравнение основных инструментов:

ИнструментЛицензияИнтерфейсОсобенности
com0comБесплатный, open sourceКомандная строкаМожет требовать отключения проверки подписи
Virtual Serial Port Driver (Eltima)Платный, есть пробная версияГрафическийРазветвление и объединение портов
Драйвер USB-адаптера (FTDI, CH340)БесплатныйАвтоматическая установкаРаботает только с физическим устройством
com2tcp / hub4comБесплатныйКомандная строкаПроброс COM-порта по сети TCP/IP
📊 Какой способ создания виртуального COM-порта вы используете?
Драйвер USB-to-Serial адаптера
com0com
Платный эмулятор (VSPD и аналоги)
Только изучаю вопрос

Как изменить номер COM-порта и освободить занятые

Windows 10 запоминает все когда-либо подключённые устройства и резервирует за ними номера портов. Из-за этого новый адаптер может получить номер COM17, хотя видимых портов в системе всего два, а старая программа отказывается с таким номером работать. Ситуация решается вручную через диспетчер устройств.

Откройте свойства нужного порта, перейдите на вкладку Параметры порта, нажмите Дополнительно и в выпадающем списке выберите желаемый номер. Пометка «занят» рядом с номером часто означает лишь то, что порт зарезервирован за давно отключённым устройством — такой номер можно использовать, подтвердив предупреждение системы.

Чтобы увидеть и удалить «призрачные» устройства, запустите диспетчер устройств с отображением скрытых элементов:

set devmgr_show_nonpresent_devices=1

start devmgmt.msc

Затем в меню Вид включите пункт Показать скрытые устройства. Полупрозрачные значки портов — это записи об отключённых устройствах; их можно удалить через контекстное меню, освободив номера.

⚠️ Внимание: не удаляйте скрытые устройства массово — среди них могут быть системные компоненты, необходимые для работы Windows. Удаляйте только те порты, в которых уверены: они относятся к отключённым USB-адаптерам и старым виртуальным парам.

Типичные ошибки и их решение

Даже при правильной установке виртуальный порт может не работать. Разберём самые распространённые проблемы и способы диагностики. Начинать проверку стоит с диспетчера устройств — состояние значка устройства сразу указывает направление поиска.

  • Код 10 в свойствах устройства — драйвер не запустился. Попробуйте другую версию драйвера или другой USB-порт, проверьте кабель;
  • ⚠️ Порт есть, но программа пишет «Access denied» — порт уже занят другим приложением (терминалом, службой). Закройте все программы, которые могли его открыть;
  • 🔄 Порт пропадает при переподключении — возможна нестабильная работа USB-контроллера или экономии энергии. Отключите в свойствах USB-концентратора опцию «Разрешить отключение для экономии энергии»;
  • 🔢 Программа не видит порт с большим номером — переназначьте порт на номер из диапазона COM1–COM9.
Как проверить обмен данными без второго устройства

Создайте пару портов через com0com, откройте два экземпляра терминала (например, PuTTY в режиме Serial) на разных портах пары с одинаковой скоростью, например 9600 бод. Текст, набранный в одном окне, должен появиться в другом. Если обмена нет — проверьте, что обе программы используют одинаковые параметры порта: скорость, чётность, стоп-биты.

Если ни один способ не помог, проверьте журнал событий Windows: Просмотр событий → Журналы Windows → Система. Ошибки с источником, связанным с драйвером порта, часто содержат конкретную причину сбоя. Также убедитесь, что в системе установлены актуальные обновления — отдельные версии Windows 10 имели известные проблемы с подсистемой USB, исправленные в последующих апдейтах.

Часто задаваемые вопросы

Можно ли создать виртуальный COM-порт без сторонних программ?

Встроенного инструмента для создания программных COM-портов в Windows 10 нет. Порт появляется автоматически только при установке драйвера физического USB-устройства. Для чисто программной эмуляции нужен драйвер-эмулятор, например com0com или VSPD.

Сколько виртуальных COM-портов можно создать?

Теоретически Windows поддерживает номера портов до COM256. На практике ограничением становятся ресурсы системы и возможности конкретного эмулятора. Для большинства задач достаточно одной-двух пар портов.

Почему программа видит физический порт, но не видит виртуальный?

Возможные причины: программа сканирует только порты COM1–COM4, у неё нет прав на открытие порта, либо драйвер эмулятора не зарегистрировал порт корректно. Проверьте наличие порта в диспетчере устройств и попробуйте назначить ему младший номер.

Безопасно ли отключать проверку подписи драйверов для com0com?

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

Чем виртуальный COM-порт отличается от проброса порта по сети?

Виртуальный порт эмулирует интерфейс локально, внутри одного компьютера. Проброс по сети (TCP-to-COM) связывает порт с удалённым устройством через TCP/IP: программа работает с локальным COM-портом, а данные передаются по сети. Для этого используются отдельные утилиты, например hub4com или сетевые функции коммерческих эмуляторов.