Cách xóa công tắc Ethernet ảo Hyper-V


21

Một công tắc VM cũ trong Hyper-V không còn được sử dụng và khi tôi cố xóa nó, nó luôn bị lỗi với thông báo sau:

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

Cố gắng xóa trong GUI cũng không hoạt động:

GUI


truy cập bị từ chối lỗi = vấn đề cho phép. bạn có dùng admin không
magicandre1981

vâng, tôi đang làm quản trị viên Tôi lưu ý rằng lỗi là sai lệch. Bộ điều hợp mạng gạch chân đã biến mất trong trung tâm chia sẻ mạng, tôi tin rằng đó là lỗi, nhưng làm cách nào tôi có thể xóa vmswitch này.
bay

Câu trả lời:


13

Một vấn đề tương tự đã được giải quyết trên các diễn đàn TechNet của Microsoft:

Chúng tôi có một thiết lập chuyển đổi ảo trong Trình quản lý chuyển đổi ảo và bộ điều hợp đã bị xóa do sử dụng "Thay đổi cài đặt bộ điều hợp ..." của Trung tâm chia sẻ mạng và chia sẻ. Bây giờ, rõ ràng công tắc đang ở trạng thái thất bại và chúng tôi chỉ muốn xóa nó khỏi danh sách.

Cuối cùng, OP đã thực hiện tìm kiếm chuyên sâu trong sổ đăng ký và tìm thấy cấu hình chuyển đổi ảo được lưu trữ trong khóa sau:

HKLM \ HỆ THỐNG \ CurrentControlset \ Services \ VMSMP \ Paramameter \ SwitchList

Sau khi họ xóa giá trị tương ứng trong khóa đó và khởi động lại, công tắc ảo đã biến mất.

Như mọi khi, tôi khuyên bạn nên xuất các cài đặt hiện tại của mình sang một .regtệp để có bản sao lưu phù hợp trước khi thử các thay đổi tương tự.

(Nguồn: Không thể xóa công tắc ảo không thành công khỏi Trình quản lý chuyển đổi ảo của Hyper-V )


1
Tôi có thể xác nhận điều này làm việc cho tôi. Thx
mloskot

Tôi không thể tìm thấy giá trị như vậy trong sổ đăng ký: /
Jurosh

1
Điều này làm việc cho tôi, tuy nhiên tôi CSONG phải đào sâu vào Kết nối mạng trong sổ đăng ký để xóa nó. Điều này vẫn còn lại tất cả các tài liệu tham khảo cho svc Docker trong registry: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ vmsmp \ parameters \ SwitchList \ {yada yada} và HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ Control \ Network \ {yada yada}
JohnZaj

14

Tôi không muốn cài đặt các công cụ Azure Powershell vì vậy tôi chỉ làm theo các bước trong video này: https://www.youtube.com/watch?v=V5Gb342gSGg

Về cơ bản, bạn đi đến Kết nối mạng -> mở thuộc tính cho công tắc ảo bạn muốn xóa -> nhấp vào Cấu hình -> chuyển đến tab Trình điều khiển -> Gỡ cài đặt Thiết bị.

Để ngăn dịch vụ Hyper-V tạo một cái mới vào lần tới, tôi khởi động lại máy tính của mình mà không vô hiệu hóa nó hoàn toàn, tôi đã thay đổi Loại khởi động của mỗi dịch vụ Hyper-V thành Thủ công.


Điều này vẫn còn lại tất cả các tài liệu tham khảo cho svc Docker trong registry: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ vmsmp \ parameters \ SwitchList \ {yada yada} và HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ Control \ Network \ {yada yada}
JohnZaj

1
Cho đến nay các giải pháp tốt nhất. Tránh chạm vào sổ đăng ký nên là một thực hành tốt nhất.
Soleil

8

Mặc dù tôi không sử dụng Docker, tôi muốn tìm ra giải pháp mà không sử dụng regedit, vì vậy sau khi thử câu trả lời từ RobV8R , tôi đã tìm thấy hướng dẫn về câu hỏi này trên MS Technet .

Get-HNSNetwork | Remove-HNSNetwork

Hoặc, đối với một optoin được lọc nhiều hơn, đây là những gì tôi cần.

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

Ngoài ra, tôi sẽ giả định rằng bạn sẽ muốn làm theo lời khuyên của @ mxgg250 và đặt tất cả các dịch vụ hyper-v thành khởi động thủ công, nếu không, nó sẽ tạo lại công tắc khi khởi động lại.


"Get-HNSNetwork |? Tên -Like 'nat' | Remove-HNSNetwork" - Đã hoạt động tốt để xóa VMSwitch còn lại sau khi gỡ cài đặt Docker cho Windows, cảm ơn!
Froosh

Đây cũng là tài liệu hướng dẫn về việc dọn dẹp Docker của Microsoft docs.microsoft.com/en-us/virtualization/windowscontainers/,
Froosh

6

BẮT ĐẦU EDIT

Các phiên bản mới hơn của Windows 10 đã giới thiệu một công tắc ảo "Mạng mặc định".

Nếu phương pháp này không hiệu quả, vui lòng xem phản hồi từ @ bradlis7 để biết tùy chọn khác.

EDIT KẾT THÚC

Điều này đã được thử nghiệm trên Windows 10 1607.

Trả lời ngắn, nếu bạn đang sử dụng Docker:

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

Câu trả lời dài:

Nếu bạn gặp phải tình huống này và đã kích hoạt Container hoặc Docker, bạn sẽ cần dừng Docker trước khi bạn có thể xóa VMSwitch.

PS> Get-VMSwitch

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

Như bạn thấy, tôi có một VMSwitch được đặt tên nat. Tôi muốn nó đi xa.

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

Câu trả lời hóa ra khá đơn giản. Vì tôi đã định cấu hình natVMSwitch bằng NetNat, tôi đã xóa NetNat. Tôi không chắc đây có phải là một bước cần thiết hay không, nhưng dù sao thì tôi cũng đã làm được.

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

Sau đó tôi dừng Docker.

PS> Stop-Service com.docker.service

Và cuối cùng

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

Để chắc chắn rằng nó đã biến mất:

PS> Get-VMSwitch

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

2
FYI, thủ tục này có thể không hoạt động. Nó không làm việc cho tôi. Không có dịch vụ docker đang chạy, vẫn không thể tái tạo sự lơ lửng nat. Vì vậy, có thể cần phải sử dụng câu trả lời @ Run5K
mloskot

4

Tôi không chắc liệu điều này có đúng hay không nhưng làm việc với tôi: https://www.online-tech-tips.com/computer-tips/unable-delete-network-ad CHƯƠNG-windows-10 /


CẬP NHẬT

Nguồn: Không thể xóa bộ điều hợp mạng trong Windows 10?

Phương pháp 1 - Sử dụng Trình quản lý thiết bị

Điều đầu tiên bạn có thể làm là mở Trình quản lý thiết bị (nhấp vào bắt đầu và nhập trình quản lý thiết bị), mở rộng Bộ điều hợp mạng và sau đó nhấp chuột phải vào bộ điều hợp mạng mà bạn muốn xóa.

nhập mô tả hình ảnh ở đây

Tại đây, bạn sẽ thấy một tùy chọn có tên Gỡ cài đặt thiết bị. Điều này hy vọng sẽ không bị mờ đi. Nếu có, tiếp tục phương pháp tiếp theo. Khi bạn chọn gỡ cài đặt thiết bị, một cửa sổ khác sẽ xuất hiện yêu cầu xác nhận gỡ cài đặt.

nhập mô tả hình ảnh ở đây

Bạn cũng sẽ thấy tùy chọn xóa phần mềm trình điều khiển cho thiết bị. Nếu bạn muốn loại bỏ hoàn toàn bộ điều hợp mạng, tôi khuyên bạn nên chọn tùy chọn này để loại bỏ trình điều khiển. Nếu mọi việc suôn sẻ, bạn sẽ thấy bộ điều hợp đã bị xóa khỏi cả Trình quản lý thiết bị và danh sách các bộ điều hợp mạng trong Bảng điều khiển.

Nếu bạn không thấy thiết bị được liệt kê ở đây, bạn có thể thử nhấp vào Xem và sau đó Hiển thị các thiết bị ẩn .

Phương pháp 2 - Xóa cấu hình mạng

Chúng ta cũng có thể thử xóa hồ sơ mạng thông qua dòng lệnh và sau đó thử lại Phương pháp 1. Trước tiên, bạn phải mở một dấu nhắc lệnh nâng cao bằng cách nhấp vào Bắt đầu, nhập vào CMD và sau đó nhấp chuột phải vào dấu nhắc lệnh và chọn Chạy với tư cách Quản trị viên .

Bây giờ gõ lệnh sau để xem tất cả các bộ điều hợp có dây (Ethernet):

netsh lan show profiles

Nếu bạn cần xóa bộ điều hợp không dây, hãy gõ lệnh này:

netsh wlan show profiles

Nếu bạn nhận được một số thông báo lỗi về dịch vụ AutoConfig có dây hoặc WLAN không chạy, sau đó nhấp vào Bắt đầu, nhập vào services.msc, nhấp chuột phải vào dịch vụ phù hợp và chọn Bắt đầu .

nhập mô tả hình ảnh ở đây

Bây giờ khi bạn chạy lệnh, bạn sẽ thấy một danh sách các cấu hình. Trong trường hợp của tôi, tôi chỉ có một hồ sơ trên máy tính này.

nhập mô tả hình ảnh ở đây

Tiếp theo, gõ lệnh sau, sẽ xóa giao diện mong muốn.

netsh lan delete profile interface="InterfaceName"

Một lần nữa, nếu đó là giao diện không dây, hãy sử dụng wlan thay vì lan . Tên giao diện được liệt kê ở đầu mỗi tiêu đề ( Hồ sơ trên tên giao diện ) khi bạn chạy lệnh show profile. Khi hồ sơ đã bị xóa, hãy khởi động lại máy tính của bạn và thử lại Phương pháp 1.

Phương pháp 3 - Xóa cài đặt bộ điều hợp qua sổ đăng ký

QUAN TRỌNG

Nếu bạn cần chỉnh sửa sổ đăng ký, hãy đảm bảo bạn sao lưu sổ đăng ký trước .

Ngoài việc xóa cấu hình mạng, bạn cũng có thể thử xóa cài đặt bộ điều hợp qua sổ đăng ký. Sau khi xóa cài đặt, bạn có thể quay lại phương pháp 1 và thử xóa bộ điều hợp. Để xóa cài đặt, hãy mở trình chỉnh sửa sổ đăng ký (nhấp vào Bắt đầu và nhập regedit.msc) và điều hướng đến khóa sau:

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

Bạn sẽ thấy một số mục được liệt kê với một chuỗi dài các số ngẫu nhiên. Nếu bạn nhấp vào từng cái, bạn sẽ thấy địa chỉ IP được gán cho bộ điều hợp mạng đó.

nhập mô tả hình ảnh ở đây

Bạn có thể xác nhận bộ điều hợp mạng nào tương ứng với khóa đăng ký đó bằng cách mở dấu nhắc lệnh (Bắt đầu và nhập cmd) và nhập ipconfig .

nhập mô tả hình ảnh ở đây

Như bạn có thể thấy, bộ điều hợp Ethernet là bộ có địa chỉ IP 192.168.1.233. Vì vậy, bạn sẽ xóa khóa trong Giao diện bắt đầu bằng {73123f2a-ad10-4f4b-900e Lỗi} . Nếu bạn nhấp vào một giao diện khác, một trong số chúng sẽ có IP 192.168.247.1, tương ứng với Bộ điều hợp mạng VMWare trên máy tính. Một lần nữa, điều này chỉ xóa các cài đặt cho bộ điều hợp, không xóa chính bộ điều hợp. Khởi động lại máy tính và thử lại Phương pháp 1.

Để biết thêm thông tin xin vui lòng giới thiệu liên kết sau:

https://www.online-tech-tips.com/computer-tips/unable-delete-network-ad CHƯƠNG-windows-10 /


2

Trước khi thử các giải pháp ở trên, hãy đảm bảo kiểm tra ngăn 'chi tiết' cho thông báo lỗi. Trong trường hợp của tôi, nó đọc được rằng lỗi xảy ra do các máy ảo khác vẫn đang sử dụng công tắc.

Chuyển các máy ảo ra và cố gắng một lần nữa, đã loại bỏ các switch.

Bảng chi tiết


0

Có một cách đơn giản hơn để khắc phục sự cố trên các diễn đàn TechNet của Microsoft:

Thử xóa Bộ điều hợp cầu khỏi " Bảng điều khiển > Mạng và Internet > Kết nối mạng "

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


Tôi không có cầu nối.
johnny

@johnny Bạn có thể chia sẻ ảnh chụp màn hình bộ điều hợp mạng từ cửa sổ "Kết nối mạng" không? Có lẽ bạn có thể giải quyết nó bằng cách gỡ cài đặt giao thức Hyper-V Extensible Virtual Switch theo hướng dẫn từ câu trả lời này .
Alejandro
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.