Як очистити COM-порти, що використовуються?


36

Як очистити ці використовувані порти COM? введіть тут опис зображення

Номери COM-портів завжди схожі на щось, і хоча зараз у мене є лише 4 послідовних порту (3 через Bluetooth і один USB на RS-232), у мене є численні порти COM, які використовуються як раніше. Я хотів би трохи очистити цей список.

Також мені здається, що час від часу один із прийнятих COM-портів звільняється, і тоді один із пристроїв, які я використовую, прийме це число, створюючи плутанину, оскільки мені доведеться перейти і полювати його номер ком в диспетчері пристроїв .

ОНОВЛЕННЯ:

Ну я просто очистив незліченну кількість USB-пристроїв, які колись були підключені до комп'ютера за допомогою USBDeview, і проблема все ще залишається.

Відповіді:


33

Запустіть диспетчер пристроїв з підвищеного командного рядка:

> set DEVMGR_SHOW_NONPRESENT_DEVICES=1
> devmgmt.msc

Увімкніть "Показати приховані пристрої" в меню та видаліть сірі COM-порти.


1
Приховані послідовні порти, здається, не є основною причиною проблеми. Як і очікувалося, я знайшов численні екземпляри послідовних портів, створених моїм USB-адаптером RS-232, але навіть коли вони очищаються, у мене все ще є 11 додаткових COM-портів, як у використанні.
AndrejaKo

1
@AndrejaKo: Чи є у вас пристрої, перелічені в розділі "Модеми"? Вони також займають 1 серійний порт кожен.
grawity

Так, але там є лише один модем.
AndrejaKo

Це працює, але налаштування системної змінної, як видно у відповіді @Michael Herman, є кращим способом IMHO, а подання в диспетчері пристроїв "показувати приховані пристрої" працює потім. Я не знаю, чому MS відключила цю системну змінну на моєму ПК за замовчуванням.
Том Кушель

Це працювало для мене в Windows 7 64-бітне підприємство Enterprise Edition з підвищеного командного рядка
Тахір Халід

28

Я знайшов корисну відповідь у розділі Як очистити або скинути COM-порт?

  1. Натисніть кнопку Пуск → Виконати → введіть regeditта натисніть кнопку ОК
  2. Перейдіть до HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter
  3. Тепер на правій панелі ви можете побачити ключ ComDB. Клацніть правою кнопкою миші та клацніть змінити
  4. У розділі Дані значення виберіть усі та видаліть скидання до нуля ( 0)
    Його 32 байти з 8 бітами в кожному байті в шістнадцятковому поданні. Біт значення 1 робить номер порту (1 ... 256) зарезервованим. Перші 8 портів знаходяться у двох лівих шістнадцяткових значеннях, біти зростають від найнижчого до найвищого правого лівого, наступні 8 портів - у другому двоє тощо: hex F3 24буде бінарним 1111 0011 0010 0100, що означає, що використовуються наступні порти: 1, 2, 5, 6, 7, 8( 1111 0011)і 11, 14( 0010 0100). введіть тут опис зображення
  5. Закрийте редактор реєстру та перезавантажте комп'ютер. Якщо встановити значення, 0всі COM-порти вільні.

Можливо, вам доведеться перевстановити будь-який USB-серійний перетворювач.


1
Ласкаво просимо до суперпользователя. Я відредагував вашу відповідь і додав ще кілька деталей. Вільно почувайте відкат своєї публікації, якщо це потрібно.
nixda

Виглядає цікаво! Я спробую це і повідомити про результати.
AndrejaKo

Ні, я точно стежив за цим, і це не видалило жодного з них.
Боб Бруніус

@nixda хіба це 1,2,5,6,7,8, 11,14 ?
kimliv

@kimliv Я не вставив цю частину відповіді. Це був редактор після мене :) Тож ви
мусите

13

Дякую за всі поради вище. Я написав програмне забезпечення для автоматичного очищення реєстру, але, хоча він коригував розділи апаратного, програмного забезпечення та арбітра, він НЕ видаляв фантомні записи COM-порту. Навіть перезавантаження з вилученим пристроєм "USB-2-повітряний порт" не очистило систему належним чином.

Однак інструкції в цьому PDF- файлі спрацювали правильно:

Для Win7 я трохи відкоригував інструкції на цьому PDF-файлі:

  1. натисніть кнопку Пуск / (клацніть правою кнопкою миші :) Комп'ютер / Властивості / Розширені налаштування системи (не Диспетчер пристроїв)
  2. Клацніть Змінні середовища
  3. Клацніть у системних змінних (нижній розділ) та натисніть кнопку Створити
  4. Введіть ім'я змінної: DEVMGR_SHOW_NONPRESENT_DEVICES
    Введіть значення змінної: 1
  5. Натисніть кнопку ОК (виходить із середовища)
  6. Натисніть кнопку ОК (вихід із системних властивостей)

  7. Натисніть кнопку Пуск. У командному полі введіть Manage Це відображає вікно Управління комп'ютером ...

  8. Клацніть Диспетчер пристроїв
  9. Клацніть Переглянути та виберіть Показати приховані пристрої
  10. Клацніть порти (COM & LPT)
    Тепер з'являються всі порти, реальний (чорний текст) та фантом (сірий текст).
  11. Клацніть правою кнопкою миші порти фантома та виберіть Видалити

Тепер це повинно очистити вашу систему від небажаних фантомних портів USB.

Примітка: після очищення всіх моїх фантомних портів, залишаючи лише "COM1", я знаходжу свої реєстри:

Hardware:   COM1
Software:   COM1, COM2, COM3, COM4, COM5
Arbiter:    COM1, COM2, COM3

І правою кнопкою миші на Комп'ютер / Властивості / Диспетчер пристроїв / порти відображається лише COM1. Клацніть правою кнопкою миші на COM1 / Властивості / Налаштування портів / Додатково показує COM1 з COM2 "у використанні" та COM3 "у використанні". Усі інші налаштування до 7, які раніше використовувались, тепер вивільняються. Тож лише налаштування "Арбітра", здається, говорить системі Win7 про те, що насправді "використовується". Система управління комп'ютером очистила арбітр, але не очистила розділ Програмне забезпечення ...

... багато таємниць Microsoft ...


Це подання має багато помилок форматування на мій смак. Не соромтеся витратити деякий час на форматування вашої подачі, і я відміню свій голос.
Рамхаунд

здивовано, що ця відповідь не має підстав, оскільки це єдина відповідь, яка фактично вирішила мою проблему на Win7
bas

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

PDF Неправильне посилання. Де в реєстрі "Апаратне забезпечення, арбітр програмного забезпечення"? Чи є інші вказівки, які слід перенести, але були втрачені в PDF?
Асимілатор

8

Вирішення проблем із драйверами USB

Спосіб використання командного рядка підвищених

тобто введіть cmd на панелі пошуку, потім клацніть правою кнопкою миші cmd.exe, вибравши Запустити як адміністратор

• 1-й етап, як було обговорено з типу командного рядка; встановити devmgr_show_non_present_devices = 1 devmgmt.msc

    Under Ports (Com & LPT) delete all instances of  prolific USB to Serial Comm Port

• 2-й етап знову з піднятого командного рядка - видаліть драйверні пакети з магазину драйверів. Магазин драйверів - це захищена область комп'ютера, яка містить пакети драйверів пристроїв, схвалені для встановлення на комп'ютер

    You need to Identify OEM#.inf  where # is a number so type 
        pnputil.exe -e      (then enter)

    Read the entries in the output to find the description of your package(s) and its file name(s)


    Its highly likely you will have multiple entries from previous attempts.

Зверніть увагу на всі oem ###. Inf екземпляри плодовитого драйвера, де # (хеш) - це число.

    To remove entries type:
        pnputil.exe -d  oem###.inf

(використовуйте пробіл між exe & - і d & Oem, потім натисніть клавішу Enter). Не забудьте замінити # на номер файлу inf, який потрібно видалити.

Якщо комп'ютер повідомляє про те, що пакет драйверів використовується зараз встановленим пристроєм, вам слід спочатку видалити пристрій або скористатися командою -f у команді pnputil, щоб примусити видалити пакет.

Також у вас може бути завантажений пакет драйверів як програма, яка може потребувати видалення за допомогою панелі керування / програм / видалення програми.

Якщо ви зробите все це перед завантаженням правильного пакета драйверів і спробуйте утримати Com-пристрій, вставлений у той самий порт, а не переміщуючи його по портах, у вас буде менше проблем з драйвером Prolific.


1

Я виявив, що цей інструмент відмінно працює в цьому питанні.

Видалення пристрою https://www.majorgeeks.com/files/details/device_remover_543c.html

Просто завантажте його, натисніть на "Режим відображення", "Показати лише приховані / від'єднані пристрої" , встановіть прапорець "Порти" (який вибирає всі невикористані порти зв'язку), потім натисніть "Видалити всі перевірені" та підтвердіть видалення, коли попередження з'являється.

Ура!

~ Андрій

EmpoweringSolutions.net


0

У мене є просте рішення, яке працювало для мене ... мій підрахунок становив до 45 портів!

1) Відкрийте диспетчер пристроїв

2) У меню Перегляд виберіть "Показати приховані пристрої"

3) Розгорніть зі списку категорію "Порти (COM & LPT)"

4) Клацніть правою кнопкою миші на всіх пристроях та видаліть їх (не потрібно галочкою видаляти драйвер)

5) У меню "Дія" виберіть "Сканувати нові пристрої"

6) Віола! Усі фактичні пристрої будуть перерозподілені з COM1


1
voila not viola
Jason S

Це вже було запропоновано в існуючій схваленій відповіді .
гість-вм

0

Це не працювало для мене. Але офіційна сторінка довідки Microsoft працювала для мене.

З https://support.microsoft.com/en-us/kb/222018

  • У папці «Принтери» натисніть «Властивості сервера» у меню «Файл».
  • Перейдіть на вкладку «Порти», клацніть порт, який ви хочете видалити, виберіть «Видалити порт» та натисніть «ОК».

1
Це насправді працює для послідовних портів у Windows 7? Крім того, ви повинні узагальнити вміст посилань у своїй відповіді, а не просто надавати посилання, у випадку, якщо посилання згниє.
AndrejaKo

Трапилось посилання - пов’язана сторінка вже не існує
sdbbs

-1

(Для тих, хто прийшов із google)

Якщо відповідь previos не працює і встановив Windows Mobile 6 SDK. Можливо, проблема з XPVCOM.SYS (у цього драйвера зарезервовано 14 COM-портів) для видалення консолі

CD \ Програмні файли \ Windows Mobile 6 SDK \ Інструменти \ Стільниковий емулятор \

InstallXPVCom.exe UnInstall

потім перезавантажте.


-1

Для тих, хто не хоче використовувати лінійний інтерфейс CMD, я використовую це в Windows 7.

  1. Відкрийте панель керування
  2. Виберіть у меню "СИСТЕМА"
  3. Виберіть "ДОПОЛНЕНІ НАСТРОЙКИ СИСТЕМИ" зліва
  4. Виберіть "ЗМІН З ЕКОЛОГІЧНИМ РОЗБОРОМ" у правій нижній частині поля
  5. Шукайте "DEVMGR_SHOW_NONPRESENT_DEVICES" у списку системних змінних. Якщо його немає, створіть його і призначте йому змінну величину
    1. Назад, добре, добре, добре. Тепер ви знову на екрані панелі управління.
  6. Виберіть "Диспетчер пристроїв" та перейдіть до "Переглянути"
  7. Виберіть "Показати приховані пристрої", і всі приховані пристрої, включаючи порти Comm, відображатимуться сірим кольором або Ghosted.
  8. Виберіть ті, які потрібно видалити, клацніть правою кнопкою миші та виберіть "Видалити"

3
Це вже було запропоновано в існуючій схваленій відповіді .
гість-vm
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.