Jak odblokować wirtualny port com w Windows 11?
ComDB
w rejestrze, a następnie zainstalujesz/aktualizujesz poprawny, podpisany sterownik.Kluczowe punkty
• Menedżer urządzeń → Widok → Pokaż ukryte urządzenia → Porty (COM i LPT)
• Odinstaluj/aktualizuj sterownik, ew. „Dodaj starszy sprzęt”
• Process Explorer: wyszukaj „COMx” i zabij blokujący proces
• Rejestr: HKLM\SYSTEM\CurrentControlSet\Control\COM Name Arbiter → ComDB = 0
• Restart systemu i ponowne podłączenie / odtworzenie wirtualnego portu
Typowe źródła blokady
a) „Ghost device” – port rezerwowany w rejestrze mimo braku urządzenia
b) Uchwyt software’owy – aplikacja nie zwolniła COM-a po awarii
c) Błędny lub niepodpisany sterownik (częste po przejściu z Win 10 → Win 11)
d) Konflikt numeracji (ten sam numer przypisany dwóm urządzeniom, np. Bluetooth SPP + USB-Serial)
Diagnostyka krok po kroku
2.1 Menedżer urządzeń
• Win+X → Menedżer urządzeń → Widok → Pokaż ukryte urządzenia
• Porty (COM i LPT) → wyblakłe wpisy → PPM → Odinstaluj urządzenie
• Zaznacz „Usuń oprogramowanie sterownika…”, by system nie odtworzył starego wpisu.
2.2 Sprawdzenie uchwytu aplikacji
• Pobierz Process Explorer (Sysinternals), Ctrl + F → „COM3” (lub inny numer)
• PPM → Kill Process lub zamknij aplikację w normalny sposób.
2.3 Reset numeracji w rejestrze (zaawansowane)
• regedit
→ HKLM\SYSTEM\CurrentControlSet\Control\COM Name Arbiter
• Dwuklik ComDB
→ ustaw wszystkie bajty na 00
→ OK → restart.
2.4 Aktualizacja / reinstalacja sterownika
• Najnowszy, podpisany pakiet (FTDI v2.12.36.4, WCH CH340 v3.8, Silicon Labs CP210x v11.3 – stan na VI 2024).
• Jeżeli port tworzy program (com0com, Eltima VSPD, Free Virtual Serial Ports) – usuń starą wersję, zainstaluj build dedykowany dla Windows 11 z podpisem EV.
2.5 Dodanie portu ręcznie
• Menedżer urządzeń → Akcja → Dodaj starszy sprzęt → Porty (COM i LPT) → Standardowy port komunikacyjny → przypisz wolny numer.
Teoretyczne podstawy
• COM-y numerowane są w strukturze bitmapy ComDB
; bit=1 → port zajęty.
• Każdy uchwyt otwarty przez API Win32 CreateFile("\\\\.\\COMx", …)
uniemożliwia innym procesom dostęp – stąd konieczność domknięcia procesu.
• Wirtualne sterowniki działają w ringu 0 (kernel-mode) i muszą posiadać podpis WHQL / EV; od Win 11 22H2 domyślne wyłączenie „Test Mode” uniemożliwia instalację niepodpisanego INF/SYS.
Praktyczne zastosowania
• Programatory MCU, drukarki 3D, SCADA – wszystkie potrzebują stabilnej, niekolidującej numeracji COM.
• Wirtualne pary COM-COM (bridge TCP → COM) w oprogramowaniu MES/PLC – wymagają bezkonfliktowej listy portów.
Przykład szybkiej identyfikacji procesu blokującego:
> handle.exe -a COM3
putty.exe pid: 9464 type: File xyz: \Device\Serial0
Zamknięcie:
> taskkill /PID 9464 /F
Polecenie zwolnienia wszystkich portów w PowerShell (uruchom jako admin):
$reg = "HKLM:\SYSTEM\CurrentControlSet\Control\COM Name Arbiter"
Set-ItemProperty -Path $reg -Name ComDB -Value ([byte[]](0..31 | % {0}))
Po restarcie numeracja zaczyna się od COM1.
reg export
). Odblokowanie wirtualnego portu COM w Windows 11 sprowadza się do usunięcia „osieroconych” lub konfliktowych wpisów, zamknięcia procesów trzymających uchwyt i zainstalowania aktualnego, podpisanego sterownika. Najszybsza droga: Menedżer urządzeń (pokaż ukryte → odinstaluj), ewentualnie Process Explorer i wyzerowanie ComDB
. Po restarcie port odzyskuje funkcjonalność, a numerację można ustawić ręcznie w zakładce „Zaawansowane”.