ฉันจะล้างพอร์ต COM ที่ใช้งานได้อย่างไร


36

ฉันจะล้างพอร์ต COM ที่ใช้งานอยู่เหล่านี้ได้อย่างไร ป้อนคำอธิบายรูปภาพที่นี่

ดูเหมือนว่าหมายเลขพอร์ต COM มักจะมีบางสิ่งบางอย่างและถึงแม้ว่าตอนนี้ฉันมีพอร์ตอนุกรม 4 พอร์ตเท่านั้น (3 ผ่านบลูทู ธ และ USB หนึ่งพอร์ตเป็น RS-232) ฉันมีพอร์ต COM จำนวนมากที่ตั้งค่าใช้งานอยู่ ฉันต้องการทำความสะอาดรายชื่อนั้นเล็กน้อย

สำหรับฉันแล้วมันก็ดูเหมือนว่าเป็นครั้งคราวหนึ่งในพอร์ต COM ที่นำมาได้รับการปลดปล่อยแล้วหนึ่งในอุปกรณ์ที่ฉันใช้จะใช้หมายเลขนั้นสร้างความสับสนเนื่องจากฉันจะต้องไปหาหมายเลข com ในตัวจัดการอุปกรณ์ .

UPDATE:

ฉันเพิ่งทำความสะอาดอุปกรณ์ USB จำนวนนับไม่ถ้วนที่ครั้งหนึ่งเคยเชื่อมต่อกับคอมพิวเตอร์โดยใช้ USBDeview และปัญหายังคงอยู่

คำตอบ:


33

เรียกใช้ Device Manager จากบรรทัดคำสั่งที่ยกระดับ:

> set DEVMGR_SHOW_NONPRESENT_DEVICES=1
> devmgmt.msc

เปิดใช้งาน "แสดงอุปกรณ์ที่ซ่อนอยู่" ในเมนูและถอนการติดตั้งพอร์ต COM ที่เป็นสีเทา


1
พอร์ตอนุกรมที่ซ่อนอยู่ดูเหมือนจะไม่เป็นสาเหตุหลักของปัญหา อย่างที่คาดไว้ฉันพบว่ามีพอร์ตอนุกรมจำนวนมากที่สร้างขึ้นโดยอะแดปเตอร์ USB เป็น RS-232 ของฉัน แต่ถึงแม้ว่าพวกเขาจะทำความสะอาดแล้วก็ตามฉันยังคงมีพอร์ต COM เพิ่มอีก 11 พอร์ตที่ใช้งานอยู่
AndrejaKo

1
@AndrejaKo: คุณมีอุปกรณ์ใด ๆ ที่อยู่ในรายการ "โมเด็ม" หรือไม่? พวกเขายังใช้พอร์ตอนุกรมที่ 1 แต่ละ
grawity

ใช่ แต่มีเพียงโมเด็มเดียวเท่านั้น
AndrejaKo

วิธีนี้ใช้งานได้ แต่การตั้งค่าตัวแปรระบบตามที่เห็นในคำตอบ @Michael Herman เป็นวิธีที่ดีกว่า IMHO และมุมมองใน Device Manager "แสดงอุปกรณ์ที่ซ่อนอยู่" ทำงานได้ในภายหลัง ฉันไม่รู้ว่าทำไม MS จึงปิดการใช้งานตัวแปรระบบนั้นบนพีซีของฉันตามค่าเริ่มต้น
Tom Kuschel

สิ่งนี้ใช้ได้กับฉันใน Windows 7 64 บิต Enterprise Edition จากพรอมต์คำสั่งที่ยกระดับ
Tahir Khalid

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
ยินดีต้อนรับสู่ superuser ฉันแก้ไขคำตอบของคุณและเพิ่มรายละเอียดเพิ่มเติม อย่าลังเลที่จะย้อนกลับโพสต์ของคุณหากจำเป็น
nixda

ดูน่าสนใจ! ฉันจะลองและรายงานผลลัพธ์
AndrejaKo

ไม่ฉันทำตามสิ่งนี้ทุกประการแล้วและไม่ได้ลบออกเลย
Bob Brunius

@nixda ไม่ได้เป็น 1,2,5,6,7,8, 11,14ใช่ไหม
kimliv

@ kimliv ฉันไม่ได้แทรกคำตอบนั้น นั่นคือบรรณาธิการหลังจากฉัน :) ดังนั้นคุณต้องถามเขา
nixda

13

ขอบคุณสำหรับคำแนะนำทั้งหมดข้างต้น ฉันเขียนซอฟต์แวร์เพื่อทำความสะอาดรีจิสทรีโดยอัตโนมัติ แต่ถึงแม้ว่ามันจะปรับส่วน Hardware, Software และ Arbiter แต่ก็ไม่ได้ลบรายการพอร์ต phantom COM แม้แต่การรีบู๊ตด้วยอุปกรณ์ "USB to 2Serial Port" ที่ถูกลบออกก็ไม่ได้ทำความสะอาดระบบอย่างถูกต้อง

อย่างไรก็ตามคำแนะนำในPDFนี้ทำงานอย่างถูกต้อง:

สำหรับ Win7 ฉันปรับคำแนะนำเล็กน้อยบน PDF เป็น:

  1. คลิกเริ่ม / (คลิกขวา :) คอมพิวเตอร์ / คุณสมบัติ / การตั้งค่าระบบขั้นสูง (ไม่ใช่ตัวจัดการอุปกรณ์)
  2. คลิกตัวแปรสภาพแวดล้อม
  3. คลิกในตัวแปรระบบ (ส่วนล่าง) คลิกสร้าง
  4. ป้อนชื่อตัวแปร: DEVMGR_SHOW_NONPRESENT_DEVICES
    ป้อนค่าตัวแปร: 1
  5. คลิกตกลง (ออกจากสภาพแวดล้อม)
  6. คลิกตกลง (ออกจากคุณสมบัติของระบบ)

  7. คลิกเริ่ม ในกล่องคำสั่งให้พิมพ์ Manage ซึ่งจะแสดงหน้าต่างการจัดการคอมพิวเตอร์ ...

  8. คลิกตัวจัดการอุปกรณ์
  9. คลิกดูและเลือกแสดงอุปกรณ์ที่ซ่อน
  10. คลิกพอร์ต (COM & LPT)
    ตอนนี้พอร์ตทั้งหมดจะปรากฏขึ้นจริง (ข้อความสีดำ) และ phantom (ข้อความที่เป็นสีเทา)
  11. ทีละหนึ่งคลิกขวาที่พอร์ตแฟนทอมและเลือกถอนการติดตั้ง

สิ่งนี้ควรจะล้างระบบของพอร์ต USB Phantom ที่ไม่ต้องการออกไป

หมายเหตุ: หลังจากทำความสะอาดพอร์ตแฟนทอมทั้งหมดโดยปล่อยให้ "COM1" เท่านั้นฉันพบว่ารีจิสทรีของฉันแสดง:

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

และคลิกขวาที่ Computer / Properties / Device Manager / Ports แสดงเฉพาะ COM1 คลิกขวาที่ COM1 / คุณสมบัติ / การตั้งค่าพอร์ต / ขั้นสูงแสดง COM1 กับ COM2 "ใช้งาน" และ COM3 "ใช้งาน" การตั้งค่าอื่น ๆ ทั้งหมดถึง 7 ที่เคยเป็น "ใช้งาน" จะถูกปล่อยให้เป็นอิสระ ดังนั้นการตั้งค่า "Arbiter" จึงดูเหมือนว่าจะบอกระบบ Win7 ว่า "ใช้งานจริง" จริงๆ ระบบการจัดการคอมพิวเตอร์ทำความสะอาด Arbiter แต่ไม่ได้ล้างข้อมูลในส่วนของซอฟต์แวร์ ...

... หลายคนเป็นปริศนาของ Microsoft ...


การส่งนี้มีข้อผิดพลาดในการจัดรูปแบบมากมายสำหรับรสนิยมของฉัน โปรดใช้เวลาสักครู่ในการจัดรูปแบบการส่งของคุณและฉันจะกลับการลงคะแนนของฉัน
Ramhound

ประหลาดใจที่คำตอบนี้ไม่มี upvotes เนื่องจากเป็นคำตอบเดียวที่แก้ไขปัญหาของฉันได้จริงใน Win7
bas

ว้าวฉันมีโหลดพอร์ตที่ไม่ได้ใช้ที่แมปไว้ แม้ว่าฉันจะไม่เคยมีปัญหาการแมปไปยังพอร์ต 'ใช้งาน' แต่การทำความสะอาดที่ดี
Ninga

PDF ลิงค์เสีย ที่ไหนในรีจิสตรีคือ "ฮาร์ดแวร์, ซอฟต์แวร์ผู้ตัดสิน"? มีคำแนะนำอื่น ๆ ที่ควรดำเนินการ แต่หายไปใน PDF หรือไม่
Assimilater

8

การแก้ไขปัญหาไดรเวอร์ USB

วิธีการใช้พร้อมรับคำสั่งยกระดับ

เช่นพิมพ์ cmd ในแถบค้นหาจากนั้นคลิกขวาที่ cmd.exe เลือก Run as Administrator

•ด่านที่ 1 ตามที่กล่าวจากประเภทพรอมต์คำสั่ง set 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 อินสแตนซ์ของไดรเวอร์อุดมสมบูรณ์โดยที่ # (hash) คือหมายเลข

    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

เพียงแค่โหลดมันขึ้นมาคลิกที่ "โหมดการแสดงผล", "แสดงเฉพาะอุปกรณ์ที่ซ่อนอยู่ / เดี่ยว ๆ " , ตรวจสอบ "พอร์ต" (ซึ่งเลือกพอร์ต com ที่ไม่ได้ใช้ทั้งหมด) จากนั้นคลิก "ลบทั้งหมดที่เลือก" และยืนยันการลบเมื่อคำเตือน ปรากฏขึ้น

ไชโย!

~ แอนดรู

EmpoweringSolutions.net


0

ฉันมีทางออกที่ง่ายสำหรับฉัน ... การนับของฉันมีมากถึง 45 com พอร์ตที่ใช้งาน!

1) เปิดตัวจัดการอุปกรณ์

2) จากเมนูมุมมองเลือก 'แสดงอุปกรณ์ที่ซ่อน'

3) ขยายหมวดหมู่ 'พอร์ต (COM & LPT)' จากรายการ

4) คลิกขวาที่อุปกรณ์ทั้งหมดและลบออก (ไม่จำเป็นต้องทำเครื่องหมายเพื่อลบไดรเวอร์)

5) จากเมนูการกระทำเลือก 'สแกนหาอุปกรณ์ใหม่'

6) วิโอลา! อุปกรณ์จริงทั้งหมดจะถูกจัดสรรใหม่จาก COM1


1
voila ไม่ใช่วิโอลา
Jason S

นี้ได้รับการเสนอแล้วใน upvoted ที่มีอยู่คำตอบ
guest-vm

0

สิ่งเหล่านี้ไม่ได้ผลสำหรับฉัน แต่หน้าความช่วยเหลืออย่างเป็นทางการของ Microsoft ทำงานให้ฉัน

จากhttps://support.microsoft.com/en-us/kb/222018

  • ในโฟลเดอร์เครื่องพิมพ์คลิกคุณสมบัติเซิร์ฟเวอร์ในเมนูไฟล์
  • คลิกแท็บพอร์ตคลิกพอร์ตที่คุณต้องการลบคลิกลบพอร์ตแล้วคลิกตกลง

1
ใช้งานได้จริงสำหรับพอร์ตอนุกรมใน Windows 7 หรือไม่ นอกจากนี้คุณควรสรุปเนื้อหาลิงก์ในคำตอบของคุณแทนที่จะแสดงลิงก์ในกรณีที่การเชื่อมโยงเกิดขึ้น
AndrejaKo

Link rot เกิดขึ้น - หน้าเชื่อมโยงไม่มีอยู่อีกต่อไป
sdbbs

-1

(สำหรับผู้ที่มาจาก google)

ถ้าคำตอบก่อนหน้าไม่ทำงานและติดตั้ง windows mobile 6 SDK อาจเป็นปัญหากับ XPVCOM.SYS (ไดรเวอร์นี้สงวน 14 พอร์ต COM) ในการถอนการติดตั้งในคอนโซล

SDK \ Tools \ Cellular Emulator ของ Files \ Windows Mobile 6 Emulator \

InstallXPVCom.exe UnInstall

จากนั้นรีบูต


-1

สำหรับผู้ที่ไม่ต้องการใช้อินเตอร์เฟสบรรทัด CMD ฉันใช้สิ่งนี้ใน Windows 7

  1. เปิดแผงควบคุม
  2. เลือก "SYSTEM" จากเมนู
  3. เลือก "การตั้งค่าระบบขั้นสูง" ทางด้านซ้าย
  4. เลือก "สภาพแวดล้อมตัวแปร" ที่ด้านล่างขวาของกล่อง
  5. ค้นหา "DEVMGR_SHOW_NONPRESENT_DEVICES" ในรายการตัวแปรของระบบ ถ้าไม่มีสร้างและกำหนดค่าตัวแปรเป็น
    1. กลับออกมาพร้อมตกลงตกลงตกลง ตอนนี้คุณกลับมาที่หน้าจอแผงควบคุม
  6. เลือก "Device Manager" และไปที่ "ดู"
  7. เลือก "แสดงอุปกรณ์ที่ซ่อน" และอุปกรณ์ที่ซ่อนทั้งหมดรวมถึงพอร์ต Comm จะแสดงเป็นสีเทาหรือสีโกสต์
  8. เลือกสิ่งที่คุณต้องการลบคลิกขวาและเลือก "ถอนการติดตั้ง"

3
นี้ได้รับการเสนอแล้วใน upvoted ที่มีอยู่คำตอบ
guest-vm
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.