Cara menghapus sakelar Ethernet virtual Hyper-V


21

Pergantian VM basi di Hyper-V tidak lagi digunakan dan ketika saya mencoba menghapusnya, selalu gagal dengan pesan berikut:

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

Mencoba menghapus dalam GUI tidak berfungsi, baik:

GUI


akses ditolak kesalahan = masalah izin. Apakah Anda menggunakan admin?
magicandre1981

ya, saya menjalankan sebagai administrator. Saya mencatat bahwa kesalahan itu menyesatkan. Adapter jaringan garis bawah hilang di pusat berbagi jaringan, saya percaya itu adalah kesalahan, tetapi bagaimana saya bisa menghapus vmswitch ini.
fluter

Jawaban:


13

Masalah serupa diselesaikan di forum Microsoft TechNet:

Kami memiliki pengaturan sakelar virtual di Virtual Switch Manager dan adaptor telah dihapus secara tidak sengaja menggunakan "Ubah Pengaturan Adaptor ..." dari Network And Sharing Center. Sekarang, jelas saklar dalam keadaan gagal dan kami hanya ingin menghapusnya dari daftar.

Pada akhirnya, OP melakukan pencarian mendalam di dalam registri dan menemukan konfigurasi sakelar virtual yang disimpan dalam kunci berikut:

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

Setelah mereka menghapus nilai yang sesuai di dalam kunci itu dan reboot, saklar virtual itu hilang.

Seperti biasa, saya akan merekomendasikan agar Anda mengekspor pengaturan Anda saat ini ke a .reg file untuk memiliki cadangan yang sesuai sebelum mencoba perubahan serupa.

(Sumber: Tidak dapat menghapus switch virtual yang gagal dari Virtual Switch Manager Hyper-V )


1
Saya dapat mengkonfirmasi ini bekerja untuk saya. Thx
mloskot

Saya tidak dapat menemukan nilai tersebut di registri: /
Jurosh

1
Ini bekerja untuk saya, namun saya juga harus menggali Network Connection di registri untuk menghapusnya. Ini masih meninggalkan semua referensi ke docker svc dalam registri: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ vmsmp \ parameter \ SwitchList \ {yada yada} dan HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSEt001 \ Control \ Network \ {
yada yada

14

Saya tidak ingin menginstal alat Azure Powershell jadi saya hanya mengikuti langkah-langkah dalam video ini: https://www.youtube.com/watch?v=V5Gb342gSGg

Pada dasarnya Anda pergi ke Sambungan Jaringan -> buka properti untuk sakelar virtual yang ingin Anda hapus -> klik Konfigurasi -> buka tab Driver -> Copot Perangkat.

Untuk mencegah layanan Hyper-V membuat yang baru lain kali saya me-restart komputer saya tanpa menonaktifkannya sama sekali saya mengubah Jenis Startup dari setiap layanan Hyper-V menjadi Manual.


Ini masih meninggalkan semua referensi ke buruh pelabuhan di registri: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ vmsmp \ parameter \ SwitchList \ {yada yada} dan HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSEt001 \ Control \ Network \ {
yada yada

1
Sejauh ini solusi terbaik. Menghindari menyentuh registri harus menjadi praktik terbaik.
Soleil

8

Meskipun saya tidak menggunakan Docker, saya ingin mencari solusi tanpa menggunakan regedit, jadi setelah mencoba jawaban dari RobV8R , saya menemukan petunjuk tentang pertanyaan ini di MS Technet .

Get-HNSNetwork | Remove-HNSNetwork

Atau, untuk optoin yang lebih difilter, inilah yang saya butuhkan.

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

Juga, saya akan berasumsi bahwa Anda akan ingin mengikuti saran @ mxgg250, dan mengatur semua layanan hyper-v untuk memulai secara manual, jika tidak maka akan membuat ulang saklar saat reboot.


"Get-HNSNetwork |? Nama -Suka 'nat' | Hapus-HNSNetwork" - Bekerja dengan baik untuk menghapus VMSwitch 'nat' yang tertinggal setelah menghapus Docker untuk Windows, terima kasih!
Froosh

... yang juga didokumentasikan pada instruksi Docker pembersihan Microsoft docs.microsoft.com/en-us/virtualization/windowscontainers/…
Froosh

6

MULAI EDIT

Versi Windows 10 yang lebih baru memperkenalkan switch virtual "Default Network".

Jika metode ini tidak berhasil, Silakan lihat respons dari @ bradlis7 untuk opsi lain.

AKHIR EDIT

Ini diuji pada Windows 10 1607.

Jawaban Singkat, jika Anda menggunakan Docker:

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

Jawaban panjang:

Jika Anda mengalami situasi ini dan memiliki Kontainer diaktifkan atau Docker diinstal, Anda harus menghentikan Docker sebelum Anda dapat menghapus VMSwitch.

PS> Get-VMSwitch

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

Seperti yang Anda lihat, saya memiliki nama VMSwitch nat. Saya ingin itu pergi.

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

Jawabannya ternyata agak sederhana. Karena saya telah mengkonfigurasi natVMSwitch dengan NetNat, saya menghapus NetNat. Saya tidak yakin apakah ini merupakan langkah yang perlu, tetapi saya tetap melakukannya.

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

Lalu saya menghentikan Docker.

PS> Stop-Service com.docker.service

Dan akhirnya

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"):

Untuk memastikan itu hilang:

PS> Get-VMSwitch

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

2
FYI, prosedur ini mungkin tidak berfungsi. Itu tidak bekerja untuk saya. Tidak ada layanan buruh pelabuhan berjalan, masih tidak bisa menghidupkan kembali menggantung nat. Jadi, mungkin perlu untuk menggunakan jawaban @ Run5K
mloskot

4

Saya tidak yakin apakah ini benar tetapi berhasil untuk saya: https://www.online-tech-tips.com/computer-tips/unable-delete-network-adapter-windows-10/


MEMPERBARUI

Sumber: Tidak Dapat Menghapus Adaptor Jaringan di Windows 10?

Metode 1 - Gunakan Device Manager

Hal pertama yang dapat Anda coba lakukan adalah membuka Pengelola Perangkat (klik mulai dan ketik manajer perangkat), rentangkan Network Adapters, lalu klik kanan adaptor jaringan yang ingin Anda hapus.

masukkan deskripsi gambar di sini

Di sini, Anda akan melihat opsi yang disebut Uninstall device. Semoga ini tidak diklik. Jika ya, lanjutkan ke metode selanjutnya. Ketika Anda memilih mencopot perangkat, jendela lain akan muncul meminta untuk mengonfirmasi pencopotan pemasangan.

masukkan deskripsi gambar di sini

Anda juga akan melihat opsi untuk menghapus perangkat lunak driver untuk perangkat. Jika Anda ingin menghapus adaptor jaringan sepenuhnya, saya sarankan memilih opsi ini untuk menghapus driver juga. Jika semuanya berjalan dengan baik, Anda akan melihat bahwa adaptor telah dihapus dari Device Manager dan daftar adapter jaringan di Control Panel.

Jika Anda tidak melihat perangkat yang tercantum di sini, Anda dapat mencoba mengklik Lihat dan kemudian Tampilkan perangkat yang disembunyikan .

Metode 2 - Hapus Profil Jaringan

Kami juga dapat mencoba menghapus profil jaringan melalui baris perintah dan kemudian mencoba Metode 1 lagi. Pertama, Anda harus membuka prompt perintah yang ditinggikan dengan mengklik Mulai, mengetikkan CMD dan kemudian mengklik kanan pada prompt perintah dan memilih Jalankan sebagai Administrator .

Sekarang ketikkan perintah berikut untuk melihat semua adaptor kabel (Ethernet):

netsh lan show profiles

Jika Anda perlu menghapus adaptor nirkabel, ketikkan perintah ini:

netsh wlan show profiles

Jika Anda mendapatkan beberapa pesan kesalahan tentang layanan Konfigurasi Kabel atau WLAN tidak berjalan, kemudian klik Mulai, ketik services.msc, klik kanan pada layanan yang sesuai dan pilih Mulai .

masukkan deskripsi gambar di sini

Sekarang ketika Anda menjalankan perintah, Anda akan melihat daftar profil. Dalam kasus saya, saya hanya memiliki satu profil di komputer ini.

masukkan deskripsi gambar di sini

Selanjutnya, ketikkan perintah berikut, yang akan menghapus antarmuka yang diinginkan.

netsh lan delete profile interface="InterfaceName"

Sekali lagi, jika itu adalah antarmuka nirkabel, gunakan wlan bukan lan . Nama antarmuka tercantum di bagian atas setiap pos ( Profil pada nama antarmuka ) ketika Anda menjalankan perintah tampilkan profil. Setelah profil dihapus, mulai ulang komputer Anda dan coba Metode 1 lagi.

Metode 3 - Hapus Pengaturan Adaptor melalui Registry

PENTING

Jika Anda perlu mengedit registri, pastikan Anda membuat cadangan registri terlebih dahulu .

Selain menghapus profil jaringan, Anda juga dapat mencoba menghapus pengaturan adaptor melalui registri. Setelah Anda menghapus pengaturan, Anda dapat kembali ke metode 1 dan mencoba untuk menghapus adaptor. Untuk menghapus pengaturan, buka editor registri (klik Mulai dan ketik regedit.msc), dan navigasikan ke kunci berikut:

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

Anda akan melihat beberapa item terdaftar dengan serangkaian panjang angka acak. Jika Anda mengklik masing-masing, Anda akan melihat alamat IP yang ditetapkan untuk adaptor jaringan itu.

masukkan deskripsi gambar di sini

Anda dapat mengonfirmasi adaptor jaringan mana yang sesuai dengan kunci registri tersebut dengan membuka prompt perintah (Mulai dan ketik cmd) dan mengetikkan ipconfig .

masukkan deskripsi gambar di sini

Seperti yang Anda lihat, adapter Ethernet adalah yang memiliki alamat IP 192.168.1.233. Jadi, Anda akan menghapus kunci di bawah Antarmuka yang dimulai dengan {73123f2a-ad10-4f4b-900e…} . Jika Anda mengklik pada antarmuka yang berbeda, salah satunya akan memiliki IP 192.168.247.1, yang sesuai dengan Adapter Jaringan VMWare di komputer. Sekali lagi, ini hanya menghapus pengaturan untuk adaptor, bukan adaptor itu sendiri. Nyalakan kembali komputer dan coba Metode 1 lagi.

Untuk informasi lebih lanjut, silakan baca kembali tautan berikut:

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


2

Sebelum mencoba solusi di atas, pastikan untuk memeriksa panel 'detail' untuk pesan kesalahan. Dalam kasus saya, ini membaca bahwa kegagalan terjadi karena VM lain masih menggunakan saklar.

Memutar VMs off dan mencoba lagi, tidak menghapus saklar.

Panel detail


0

Ada cara sederhana untuk memperbaiki masalah di forum Microsoft TechNet:

Coba Hapus Adapter Bridge dari " Control Panel > Network dan Internet > Network Connections "

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


1
Saya tidak memiliki Bridge Adapter.
johnny

@johnny Bisakah Anda berbagi tangkapan layar adapter jaringan dari jendela "Network Connections"? Mungkin Anda dapat menyelesaikannya dengan menghapus protokol Hyper-V Extensible Virtual Switch dengan mengikuti petunjuk dari jawaban ini .
Alejandro
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.