วิธีการลบสวิตช์อีเธอร์เน็ตเสมือน Hyper-V


21

สวิตช์ VM เก่าใน Hyper-V ไม่ได้ใช้งานอีกต่อไปและเมื่อฉันพยายามลบมันก็ล้มเหลวเสมอด้วยข้อความต่อไปนี้:

PS C:\> Get-VMSwitch nat

Name SwitchType NetAdapterInterfaceDescription
---- ---------- ------------------------------
nat  Private


PS C:\> Get-VMSwitch nat | Remove-VMSwitch -Force
Remove-VMSwitch : Failed while removing virtual Ethernet switch.
Switch delete failed, switch = 'acf82f05-c07c-4b35-8588-921498456027':    General access denied error (0x80070005).
At line:1 char:20
+ Get-VMSwitch nat | Remove-VMSwitch -Force
+                    ~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : PermissionDenied: (:) [Remove-VMSwitch], VirtualizationException
+ FullyQualifiedErrorId : AccessDenied,Microsoft.HyperV.PowerShell.Commands.RemoveVMSwitch

การพยายามลบภายใน GUI ไม่ทำงาน:

GUI


การเข้าถึงถูกปฏิเสธข้อผิดพลาด = ปัญหาการอนุญาต คุณใช้ผู้ดูแลระบบหรือไม่
magicandre1981

ใช่ฉันทำงานเป็นผู้ดูแลระบบ ฉันสังเกตว่าข้อผิดพลาดนั้นทำให้เข้าใจผิด อะแดปเตอร์เครือข่ายขีดเส้นใต้หายไปในศูนย์แบ่งปันเครือข่ายฉันเชื่อว่านั่นเป็นข้อผิดพลาด แต่ฉันจะลบ vmswitch นี้ได้อย่างไร
fluter

คำตอบ:


13

ปัญหาที่คล้ายกันได้รับการแก้ไขในฟอรัม TechNet ของ Microsoft:

เรามีการตั้งค่าสวิตช์เสมือนในตัวจัดการสวิตช์เสมือนและอะแดปเตอร์ถูกลบโดยไม่ได้ตั้งใจโดยใช้ "เปลี่ยนการตั้งค่าอะแดปเตอร์ ... " ของศูนย์เครือข่ายและการแบ่งปัน ตอนนี้เห็นได้ชัดว่าสวิตช์อยู่ในสถานะล้มเหลวและเราต้องการลบออกจากรายการ

ท้ายที่สุด OP ทำการค้นหาในเชิงลึกภายในรีจิสตรีและพบการกำหนดค่าสวิตช์เสมือนที่เก็บไว้ภายในคีย์ต่อไปนี้:

HKLM \ SYSTEM \ CurrentControlSet \ Services \ VMSMP \ Parameters \ SwitchList

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

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

(ที่มา: ไม่สามารถลบสวิตช์เสมือนที่ล้มเหลวจาก Virtual Switch Manager ของ Hyper-V )


1
ฉันสามารถยืนยันสิ่งนี้ได้ผลสำหรับฉัน ขอบคุณ
mloskot

ฉันไม่พบค่าดังกล่าวในรีจิสตรี: /
Jurosh

1
สิ่งนี้ใช้งานได้สำหรับฉัน แต่ฉันต้องขุดลงในการเชื่อมต่อเครือข่ายในรีจิสทรีเพื่อลบทิ้ง นี้ยังเหลือการอ้างอิงทั้งหมดไปยัง SVC นักเทียบท่าในรีจิสทรี: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ vmsmp \ พารามิเตอร์ \ SwitchList \ {ญาดาญาดา} และ HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ Control \ Network \ {ญาดาญาดา}
JohnZaj

14

ฉันไม่ต้องการติดตั้งเครื่องมือ Azure Powershell ดังนั้นฉันเพิ่งทำตามขั้นตอนในวิดีโอนี้: https://www.youtube.com/watch?v=V5Gb342gSGg

โดยทั่วไปคุณไปที่การเชื่อมต่อเครือข่าย -> เปิดคุณสมบัติสำหรับสวิตช์เสมือนที่คุณต้องการลบ -> คลิกกำหนดค่า -> ไปที่แท็บไดรเวอร์ -> ถอนการติดตั้งอุปกรณ์

เพื่อป้องกันไม่ให้บริการ Hyper-V สร้างใหม่ในครั้งต่อไปฉันรีสตาร์ทคอมพิวเตอร์โดยไม่ปิดการใช้งานทั้งหมดฉันเปลี่ยนประเภทการเริ่มต้นของบริการ Hyper-V แต่ละรายการเป็นด้วยตนเอง


นี้ยังเหลือการอ้างอิงทั้งหมดไปยัง SVC นักเทียบท่าในรีจิสทรี: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ vmsmp \ พารามิเตอร์ \ SwitchList \ {ญาดาญาดา} และ HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ Control \ Network \ {ญาดาญาดา}
JohnZaj

1
โดยไกลทางออกที่ดีที่สุด การหลีกเลี่ยงการสัมผัสรีจิสทรีควรเป็นวิธีปฏิบัติที่ดีที่สุด
Soleil

9

แม้ว่าฉันไม่ได้ใช้หางผมอยากจะคิดออกวิธีการแก้ปัญหาโดยไม่ต้องใช้regeditดังนั้นหลังจากที่พยายามตอบจาก RobV8Rผมพบคำแนะนำเกี่ยวกับคำถามนี้บน MS Technet

Get-HNSNetwork | Remove-HNSNetwork

หรือสำหรับตัวเลือกเพิ่มเติมที่กรองแล้วนี่คือสิ่งที่ฉันต้องการ

Get-HNSNetwork | ? Name -Like "Default Switch" | Remove-HNSNetwork

นอกจากนี้ฉันจะสมมติว่าคุณจะต้องทำตามคำแนะนำของ @ mxgg250 และตั้งค่าบริการไฮเปอร์ v ทั้งหมดให้เริ่มด้วยตนเองไม่เช่นนั้นมันจะสร้างสวิตช์ขึ้นมาใหม่เมื่อรีบูต


"Get-HNSNetwork |? ชื่อ - เหมือน 'nat' | Remove-HNSNetwork" - ทำงานได้เป็นอย่างดีในการลบ VMS 'nat' ทิ้งไว้หลังจากถอนการติดตั้ง Docker สำหรับ Windows ขอบคุณ!
Froosh

…ซึ่งมีการบันทึกไว้ในคำแนะนำการล้างข้อมูลนักเทียบท่าของ Microsoft docs.microsoft.com/en-us/virtualization/windowscontainers/ …
Froosh

6

เริ่มต้นแก้ไข

Windows 10 รุ่นที่ใหม่กว่าเปิดตัวสวิตช์เสมือน "Default Network"

หากวิธีนี้ใช้ไม่ได้ผลโปรดดูคำตอบจาก @ bradlis7 สำหรับตัวเลือกอื่น

สิ้นสุดการแก้ไข

นี่คือการทดสอบใน Windows 10 1607

คำตอบสั้น ๆ ถ้าคุณใช้ Docker:

PS> Stop-Service com.docker.service
PS> Remove-ContainerNetwork -Name nat

คำตอบยาว:

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

PS> Get-VMSwitch

Name                                   SwitchType NetAdapterInterfaceDescription
----                                   ---------- ------------------------------
DockerNAT                              Internal
nat                                    Internal
Windows Phone Emulator Internal Switch Private
Primary Virtual Switch                 External   Intel(R) Wireless

ที่คุณสามารถดูฉันมี VMSwitch natชื่อ ฉันอยากให้มันหายไป

PS> Remove-VMSwitch -Name nat

Confirm
Are you sure you want to remove the virtual switch "nat"?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"):
Remove-VMSwitch : Failed while removing virtual Ethernet switch.
Switch delete failed, switch = '<guid>': General access denied error (0x80070005).
At line:1 char:1
+ Remove-VMSwitch -Name nat
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : PermissionDenied: (:) [Remove-VMSwitch], VirtualizationException
    + FullyQualifiedErrorId : AccessDenied,Microsoft.HyperV.PowerShell.Commands.RemoveVMSwitch

คำตอบนั้นค่อนข้างง่าย เนื่องจากฉันได้กำหนดค่าnatVMSwitch ด้วย NetNat ฉันจึงลบ NetNat ฉันไม่แน่ใจว่านี่เป็นขั้นตอนที่จำเป็น แต่ฉันก็ทำได้

PS> Get-NetNat -Name '<name>' | Remove-NetNat

จากนั้นฉันก็หยุดนักเทียบท่า

PS> Stop-Service com.docker.service

และในที่สุดก็

PS> Remove-ContainerNetwork -Name nat

Confirm
Remove-ContainerNetwork will remove the container network "nat".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"):

เพื่อให้แน่ใจว่ามันหายไป:

PS> Get-VMSwitch

Name                                   SwitchType NetAdapterInterfaceDescription
----                                   ---------- ------------------------------
DockerNAT                              Internal
Windows Phone Emulator Internal Switch Private
Primary Virtual Switch                 External   Intel(R) Wireless

2
FYI ขั้นตอนนี้อาจไม่ทำงาน มันไม่ทำงานสำหรับฉัน ไม่มีบริการนักเทียบท่าที่กำลังทำงานอยู่ แต่ก็ยังไม่สามารถต่ออายุการห้อยnatได้ ดังนั้นอาจจำเป็นต้องใช้คำตอบ @ Run5K
mloskot

4

ฉันไม่แน่ใจว่าสิ่งนี้ถูกต้อง แต่ใช้งานได้สำหรับฉัน: https://www.online-tech-tips.com/computer-tips/unable-delete-network-adapter-windows-10/


UPDATE

แหล่งที่มา: ไม่สามารถลบอะแดปเตอร์เครือข่ายใน Windows 10 ได้หรือไม่

วิธีที่ 1 - ใช้ตัวจัดการอุปกรณ์

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

ป้อนคำอธิบายรูปภาพที่นี่

ที่นี่คุณจะเห็นตัวเลือกที่เรียกว่าถอนการติดตั้งอุปกรณ์ หวังว่านี่จะไม่เป็นสีเทา หากเป็นเช่นนั้นให้ทำตามวิธีถัดไป เมื่อคุณเลือกอุปกรณ์ถอนการติดตั้งหน้าต่างอื่นจะปรากฏขึ้นเพื่อขอให้ยืนยันการถอนการติดตั้ง

ป้อนคำอธิบายรูปภาพที่นี่

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

หากคุณไม่เห็นอุปกรณ์ที่แสดงอยู่ที่นี่คุณสามารถลองคลิกที่มุมมองแล้วแสดงซ่อนอุปกรณ์ที่

วิธีที่ 2 - ลบโปรไฟล์เครือข่าย

เราสามารถลองลบโปรไฟล์เครือข่ายผ่านทางบรรทัดคำสั่งแล้วลองวิธีที่ 1 อีกครั้ง ขั้นแรกคุณจะต้องเปิดพรอมต์คำสั่งโดยคลิกที่เริ่มพิมพ์ CMD แล้วคลิกขวาที่พร้อมรับคำสั่งแล้วเลือกRun as Administratorเรียกใช้ในฐานะผู้ดูแลระบบ

ตอนนี้พิมพ์คำสั่งต่อไปนี้เพื่อดูอะแดปเตอร์แบบผ่านสาย (Ethernet) ทั้งหมด:

netsh lan show profiles

หากคุณต้องการลบอแด็ปเตอร์ไร้สายให้พิมพ์คำสั่งนี้:

netsh wlan show profiles

ถ้าคุณได้รับข้อความแสดงข้อผิดพลาดบางอย่างเกี่ยวกับสายหรือบริการ WLAN AutoConfigไม่ได้ทำงานแล้วคลิกที่ Start พิมพ์ services.msc คลิกขวาในการให้บริการที่เหมาะสมและเลือกเริ่มต้น

ป้อนคำอธิบายรูปภาพที่นี่

ตอนนี้เมื่อคุณรันคำสั่งคุณควรเห็นรายการโปรไฟล์ ในกรณีของฉันฉันมีเพียงโปรไฟล์เดียวในคอมพิวเตอร์นี้

ป้อนคำอธิบายรูปภาพที่นี่

ถัดไปพิมพ์คำสั่งต่อไปนี้ซึ่งจะลบอินเตอร์เฟซที่ต้องการ

netsh lan delete profile interface="InterfaceName"

อีกครั้งถ้ามันเป็นอินเตอร์เฟซแบบไร้สายใช้WLANแทนLAN ชื่ออินเตอร์เฟสแสดงอยู่ที่ด้านบนของแต่ละหัวเรื่อง ( โปรไฟล์บนชื่ออินเตอร์เฟส ) เมื่อคุณรันคำสั่ง show profiles เมื่อลบโปรไฟล์แล้วให้รีสตาร์ทคอมพิวเตอร์แล้วลองวิธีที่ 1 อีกครั้ง

วิธีที่ 3 - ลบการตั้งค่าการ์ดเชื่อมต่อผ่านรีจิสทรี

สำคัญ

หากคุณจำเป็นต้องแก้ไขรีจิสทรีให้แน่ใจว่าคุณสำรองรีจิสทรีแรก

นอกเหนือจากการลบโปรไฟล์เครือข่ายคุณสามารถลองลบการตั้งค่าอะแดปเตอร์ผ่านรีจิสตรี หลังจากที่คุณลบการตั้งค่าคุณสามารถกลับไปที่วิธีที่ 1 และลองลบอะแดปเตอร์ หากต้องการลบการตั้งค่าให้เปิดตัวแก้ไขรีจิสทรี (คลิกที่เริ่มแล้วพิมพ์ regedit.msc) แล้วไปที่คีย์ต่อไปนี้:

HKEY_LOCAL_MACHINE - SYSTEM - CurrentControlSet - Services - Tcpip - Parameters - Interfaces

คุณจะเห็นรายการหลายรายการที่มีหมายเลขสุ่มแบบยาว หากคุณคลิกที่แต่ละรายการคุณจะเห็นที่อยู่ IP ที่กำหนดให้กับอะแดปเตอร์เครือข่ายนั้น

ป้อนคำอธิบายรูปภาพที่นี่

คุณสามารถยืนยันซึ่งสอดคล้องกับรีจิสทรีคีย์ที่โดยการเปิดพร้อมรับคำสั่ง (Start และพิมพ์ cmd) และการพิมพ์อะแดปเตอร์เครือข่ายipconfig

ป้อนคำอธิบายรูปภาพที่นี่

อย่างที่คุณเห็นอะแดปเตอร์อีเธอร์เน็ตเป็นที่อยู่ IP ที่ 192.168.1.233 ดังนั้นคุณจะลบคีย์ภายใต้ส่วนต่อประสานที่ขึ้นต้นด้วย{73123f2a-ad10-4f4b-900e …} } หากคุณคลิกที่อินเตอร์เฟสอื่นหนึ่งในนั้นจะมี IP 192.168.247.1 ซึ่งสอดคล้องกับ VMWare Network Adapter บนคอมพิวเตอร์ อีกครั้งนี่เป็นการลบการตั้งค่าสำหรับอะแดปเตอร์เท่านั้นไม่ใช่อะแดปเตอร์เอง รีสตาร์ทคอมพิวเตอร์แล้วลองวิธีที่ 1 อีกครั้ง

สำหรับข้อมูลเพิ่มเติมโปรดอ้างอิงลิงค์ต่อไปนี้:

https://www.online-tech-tips.com/computer-tips/unable-delete-network-adapter-windows-10/


2

ก่อนที่จะลองวิธีแก้ไขปัญหาด้านบนตรวจสอบให้แน่ใจว่าได้ตรวจสอบบานหน้าต่าง 'รายละเอียด' สำหรับข้อความแสดงข้อผิดพลาด ในกรณีของฉันมันอ่านว่าล้มเหลวเกิดขึ้นเนื่องจาก VM อื่น ๆ ยังคงใช้สวิตช์

การปิด VMs แล้วลองอีกครั้งก็เอาสวิตช์ออกไป

บานหน้าต่างรายละเอียด


0

มีวิธีที่ง่ายกว่าในการแก้ไขปัญหาบนฟอรัม TechNet ของ Microsoft:

ลองลบBridge Adapterจาก " แผงควบคุม > เครือข่ายและอินเทอร์เน็ต > การเชื่อมต่อเครือข่าย "

ที่มา: https://social.technet.microsoft.com/Forums/en-US/winserverhyperv/thread/e49df568-4f4c-47b7-b30c-952d1e26ca58/#8ecfa676-3184-4035-96de-10df079f706f


1
ฉันไม่มี Bridge Adapter
johnny

@johnny คุณสามารถแชร์ภาพหน้าจอของอะแดปเตอร์เครือข่ายของคุณจากหน้าต่าง "การเชื่อมต่อเครือข่าย" ได้หรือไม่? บางทีคุณสามารถแก้ไขได้โดยการถอนการติดตั้งโปรโตคอล Hyper-V Extensible Virtual Switch ตามคำแนะนำจากคำตอบนี้
Alejandro
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.