วิธีลบอะแดปเตอร์เครือข่ายที่ซ่อนอยู่/ผีใน Windows
เมื่อเปลี่ยนเมนบอร์ดหรือการ์ดเครือข่าย ระหว่าง P2V หรือการย้ายเครื่องเสมือนแบบเย็นระหว่างไฮเปอร์ไวเซอร์ หรือเมื่อกำหนดค่า VLAN หลายตัวบน NIC เดียวใน Windows คุณอาจพบปัญหาของอะแดปเตอร์เครือข่ายที่ซ่อนอยู่ (โกสต์)<. ในกรณีนี้ คุณไม่สามารถตั้งค่าที่อยู่ IP แบบคงที่ที่กำหนดไว้ก่อนหน้านี้สำหรับอะแดปเตอร์เครือข่ายใหม่ที่มีข้อผิดพลาด
The IP address you have entered for this network adapter is already assigned to another adapterWindows จะซ่อนอุปกรณ์ที่มีอยู่ในการกำหนดค่า Windows โดยอัตโนมัติ แต่ไม่ได้เชื่อมต่อกับคอมพิวเตอร์ อะแดปเตอร์เครือข่ายที่ซ่อนอยู่ใน Windows จะยังคงอยู่หากคุณยกเลิกการเชื่อมต่อการ์ดเครือข่ายที่ติดตั้งไว้ก่อนหน้านี้ (อาจเป็น NIC จริงหรืออะแดปเตอร์เครือข่ายเสมือนก็ได้) การ์ดเครือข่ายที่ติดตั้งไว้ก่อนหน้านี้จะถูกซ่อนและคุณไม่สามารถมองเห็นได้ในตัวจัดการอุปกรณ์
ที่อยู่ IP ถูกกำหนดให้กับอะแดปเตอร์เครือข่ายอื่นแล้ว
ปัญหาหลักของอะแดปเตอร์เครือข่ายที่ซ่อนอยู่คือคุณไม่สามารถกำหนดที่อยู่ IP ของอะแดปเตอร์เครือข่ายเก่าให้กับอินเทอร์เฟซเครือข่ายใหม่ได้ เมื่อคุณพยายามกำหนดที่อยู่ IP เก่า ข้อผิดพลาดต่อไปนี้ปรากฏขึ้น:
Microsoft TCP/IP
The IP address <IP address> you have entered for this network adapter is already assigned to another adapter (Intel Gigabit Network Connection) which is no longer present on the computer. If the same address is assigned to both adapters and they both become active, only one of them will use this address. This may result in incorrect system configuration.
Do you want to fix the problem by entering a different IP address for this adapter in the list of IP addresses in the Advanced dialog box?
หากคุณพยายามตั้งค่าที่อยู่ IP ของอะแดปเตอร์เครือข่ายโดยใช้ PowerShell ข้อผิดพลาดจะปรากฏขึ้น:
New-NetIPAddress -IPAddress 192.168.10.155 -DefaultGateway 192.168.10.1 -PrefixLength 24 -InterfaceIndex 22New-NetIPAddress : The object already exists.
Windows System Error 5010,New-NetIPAddress
ฉันมักพบปัญหานี้ในเครื่องเสมือน VMware ที่มีอะแดปเตอร์เครือข่ายเสมือน VMXNet3 การ์ด NIC เสมือนใหม่ถูกระบุว่าเป็นอุปกรณ์ใหม่ (ไม่เหมือนกับ vNIC ประเภท E1000) หากคุณลบการ์ดเครือข่าย (vNIC) บนเครื่องเสมือน VMWare และเพิ่มการ์ดใหม่ คุณจะไม่สามารถตั้งค่าที่อยู่ IP เก่าของคุณที่กำหนดให้กับอินเทอร์เฟซเครือข่ายที่ถูกลบได้
นอกจากนี้ ปัญหาของอะแดปเตอร์เครือข่ายที่ซ่อนอยู่ยังปรากฏขึ้นหลังจากย้ายเซิร์ฟเวอร์จริงไปยัง VM (กายภาพเป็นเสมือน — P2V) เช่น การใช้ ตัวแปลง VMware หลังจากการย้ายข้อมูล NIC ที่ปิดใช้งานจะยังคงอยู่ใน Windows และคุณไม่สามารถกำหนดการตั้งค่าที่อยู่ IP เก่าให้กับ vNIC ใหม่ได้
ก่อนที่จะกำหนดที่อยู่ IP เก่าให้กับอะแดปเตอร์เครือข่ายใหม่ คุณต้องลบการกำหนดค่าของ NIC ที่ไม่ได้เชื่อมต่อ
แสดงอะแดปเตอร์เครือข่ายที่ซ่อนอยู่ (ไม่มีอยู่จริง) ในตัวจัดการอุปกรณ์ Windows
หากต้องการแสดงอะแดปเตอร์เครือข่ายที่ซ่อนอยู่ (ไม่ได้เชื่อมต่อทางกายภาพ) ใน Windows ให้เปิดคอนโซลตัวจัดการอุปกรณ์ในโหมดพิเศษ ในการดำเนินการนี้บน Windows 7 (และเวอร์ชันก่อนหน้า):
เปิดพรอมต์คำสั่งในฐานะผู้ดูแลระบบ
เรียกใช้คำสั่ง:
set devmgr_show_nonpresent_devices=1เริ่มคอนโซลตัวจัดการอุปกรณ์:
devmgmt.msc
ในเมนูด้านบน คลิกดู -> แสดงอุปกรณ์ที่ซ่อน
ขยายส่วน อะแดปเตอร์เครือข่าย การ์ดเครือข่ายที่ซ่อนอยู่ควรปรากฏในรายการ (มีไอคอนสีซีด) เลือกตัวควบคุมเครือข่ายที่คุณต้องการลบ คลิกขวา -> ถอนการติดตั้งอุปกรณ์ คุณสามารถลบไดรเวอร์อะแดปเตอร์เครือข่ายได้โดยเลือกตัวเลือก ลบซอฟต์แวร์ไดรเวอร์สำหรับอุปกรณ์นี้
จะลบอะแดปเตอร์เครือข่ายที่ซ่อนอยู่/ไม่นำเสนอด้วย PowerShell และ CMD ได้อย่างไร
คุณสามารถแสดงรายการอะแดปเตอร์เครือข่ายที่ไม่ได้ใช้/ซ่อนอยู่ใน Windows โดยใช้ PowerShell:
Get-PnpDevice -class net | ? Status -eq Unknown | Select FriendlyName,InstanceIdจากนั้นคุณสามารถลบอะแดปเตอร์เครือข่ายดังกล่าวโดยใช้ InstanceId (คัดลอกค่าจากผลลัพธ์คำสั่งก่อนหน้า):
$InstanceId = “PCI\VEN_8086&DEV_10D3&SUBSYS_07D015AD&REV_00\000C29FFFF66A80700”
$RemoveKey = "HKLM:\SYSTEM\CurrentControlSet\Enum\$InstanceId"
Get-Item $RemoveKey | Select-Object -ExpandProperty Property | %{ Remove-ItemProperty -Path $RemoveKey -Name $_ -Verbose}คุณสามารถลบอะแดปเตอร์เครือข่ายที่ซ่อนอยู่ (ไม่มีอยู่) ทั้งหมดได้โดยใช้สคริปต์ PowerShell:
$Devs = Get-PnpDevice -class net | ? Status -eq Unknown | Select FriendlyName,InstanceId
ForEach ($Dev in $Devs) {
$RemoveKey = "HKLM:\SYSTEM\CurrentControlSet\Enum\$($Dev.InstanceId)"
Get-Item $RemoveKey | Select-Object -ExpandProperty Property | %{ Remove-ItemProperty -Path $RemoveKey -Name $_ -Verbose }}คุณสามารถใช้เครื่องมือ DevCon.exe (Device Console) เพื่อลบอุปกรณ์ใน Windows เครื่องมือนี้เป็นส่วนหนึ่งของ Windows Driver Kit (WDK)
รายการอะแดปเตอร์เครือข่ายทั้งหมด:
devcon findall =netคัดลอก ID อินสแตนซ์ของอุปกรณ์ของอะแดปเตอร์เครือข่ายที่คุณต้องการลบและเรียกใช้คำสั่ง:
devcon -r remove '@PCI\VEN_8086&DEV_10D3&SUBSYS_07D015AD&REV_00\000C29FFFF66A80700'โปรดทราบว่าคุณต้องระบุสัญลักษณ์ @ ก่อนรหัสอุปกรณ์
รายการประกอบด้วยอแด็ปเตอร์เครือข่ายเสมือน WAN Miniport (ซึ่งคุณจะไม่สามารถเชื่อมต่อกับอุปกรณ์ VPN ระยะไกลได้), Microsoft Hosted Network (ใช้สร้าง WiFi hotspot บน Windows), อแดปเตอร์เสมือน Microsoft Wi-Fi Direct เป็นต้น เราไม่แนะนำให้ลบหากทำงานได้อย่างถูกต้อง
ใน Windows 10/11 และ Windows Server 2022/2019/2016 คุณสามารถใช้คำสั่งในตัว PnPUtil แทน devcon.exe
รายการอะแดปเตอร์เครือข่าย:
pnputil /enum-devices /class netในการลบอุปกรณ์ด้วย InstanceID:
pnputil /remove-device "PCI\VEN_8086&DEV_10D3&SUBSYS_07D015AD&REV_00\000C29FFFF66A80700"เปิดตัวจัดการอุปกรณ์ เลือก การดำเนินการ -> สแกนหาการเปลี่ยนแปลงฮาร์ดแวร์ จากเมนู และตรวจสอบว่าได้ถอดอะแดปเตอร์เครือข่ายที่ซ่อนอยู่ออกแล้ว
ลบการตั้งค่าอะแดปเตอร์เครือข่ายออกจากรีจิสทรี
หากหลังจากลบ NIC โกสต์ในตัวจัดการอุปกรณ์แล้ว คุณยังไม่สามารถกำหนดที่อยู่ IP เก่าให้กับอแด็ปเตอร์ใหม่ได้ ให้ลบการกำหนดค่า IP ของ NIC เก่าออกจากรีจิสทรี
การตั้งค่า IP ของอินเทอร์เฟซเครือข่ายของคุณอยู่ภายใต้คีย์รีจิสทรี HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces
คีย์รีจิสทรีนี้มีคีย์ {Interface GUID} บางคีย์ ตรวจสอบทีละรายการจนกว่าคุณจะพบอินเทอร์เฟซ ซึ่งค่า IPAddress มีที่อยู่ IP ที่กำหนดให้กับอินเทอร์เฟซเครือข่ายเก่า
พารามิเตอร์ IPAddress อาจมีมากกว่าหนึ่งที่อยู่ IP เนื่องจากใน Windows คุณสามารถกำหนดที่อยู่ IP (นามแฝง) หลายรายการให้กับอะแดปเตอร์เครือข่ายเดียว
จำชื่อรีจิสตรีคีย์ (นี่คือตัวระบุของอะแดปเตอร์เครือข่าย) ถอดกุญแจออก:
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Adapters\{your_NIC_ID}
HKLM\SYSTEM\CurrentControlSet\Services\{your_NIC_ID}
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network{your_NIC_ID}
รีสตาร์ทเครื่องคอมพิวเตอร์และลองกำหนดที่อยู่ IP แบบคงที่เก่าให้กับอะแดปเตอร์เครือข่ายใหม่
ขอแนะนำให้รีเซ็ตการตั้งค่าเครือข่ายด้วย ใน Windows 10 และ 11 คุณสามารถทำได้ในการตั้งค่า -> เครือข่ายและอินเทอร์เน็ต -> รีเซ็ตเครือข่าย
การรีเซ็ตการตั้งค่าเครือข่ายจะช่วยคุณได้หากอะแดปเตอร์เครือข่ายไม่แสดงใน Windows
หากคุณประสบปัญหาหลังจากติดตั้งการ์ดเครือข่ายเพิ่มเติมบนคอมพิวเตอร์ของคุณ ตรวจสอบให้แน่ใจว่าอินเทอร์เฟซ LAN ในตัวถูกปิดใช้งานในการตั้งค่า BIOS/UEFI (โดยปกติแล้วรายการนี้เรียกว่า Onboard Gbit NIC หรือ ระบบ LAN ออนบอร์ด)









