萬盛學電腦網

 萬盛學電腦網 >> 電腦基本常識 >> 刪除Windows中隱藏的物理網卡和網絡虛擬化失敗後的虛擬網卡

刪除Windows中隱藏的物理網卡和網絡虛擬化失敗後的虛擬網卡

   一、識別各類網絡設備和網絡連接

  由於網絡虛擬化會在物理機上新增許多虛擬網絡設備 (包括虛擬網卡),情況會變得復雜,因而首先我們需要分清他們。當然如果沒有進行網絡虛擬化,那麼就可以跳過這部分。網絡虛擬化環境中,通過設備管理器應該可見:以Intel開始的物理網卡(根據物理網卡廠商而不同);Hyper-V Virtual Ethernet Adapter 虛擬網卡;Microsoft Network Adapter Multiplexor 網卡組(Windows Server 2012開始支持網卡組,通過命令lbfoadmin可以對網卡組進行管理,網卡組在網絡虛擬化環境中經常出現);在顯示隱藏設備後,還可見Hyper-V Virtual Switch Extension Adapter 虛擬交換機等。

刪除Windows中隱藏的物理網卡和網絡虛擬化失敗後的虛擬網卡 三聯

  而在網絡和共享中心中的網絡連接 可以簡單的認為是上圖部分網絡設備的配置,其名稱和屬性可自定義,但其依賴的設備基本與上圖對應。

image

  下面我們看看這些網絡連接的具體配置。

  1、物理網卡的網絡連接

  其主要的設置是TCP/IPv4、TCP/IPv6協議和兩個鏈路層拓撲發現協議。下圖是名為Ethernet 04的物理網卡的網絡連接屬性。

image

  2、網卡組的網絡連接

  如果僅僅配置網卡組,那麼其網絡連接配置和物理網卡基本相同,除了TCP/IPv4、TCP/IPv6協議和兩個鏈路層拓撲發現協議外,還配置了使用Microsoft Load Balancing/Failover Provider協議。網卡組將多個物理網卡聚合,以實現網絡連接的故障轉移和負載均衡。而那些被聚合的物理網卡的網絡連接只有Microsoft Network Adapter Multiplexor Protocol協議了。下圖左側是名為Management網卡組的網絡連接屬性,右側是網卡組內名為Ethernet 01的物理網卡(被聚合的網卡之一)的網絡連接屬性。

image

  3、虛擬網卡的網絡連接

  虛擬網卡一般情況下是在創建虛擬交換機後創建的,另外通過SCVMM可以在物理主機上創建更多虛擬網卡。虛擬網卡的網絡連接和物理網卡的網絡連接配置是一樣的,因而虛擬網卡的作用和物理網卡原則上是一樣,只不過虛擬網卡是建立在物理網卡之上。下圖是名為vEthernet(Cluster)的虛擬網卡的網絡連接屬性。

image

  4、虛擬交換機的網絡連接

  這裡有兩種情況:

  如果虛擬交換機建立在獨立的物理網卡之上(直接在Hyper-V管理器中創建的虛擬交換機屬於這種情況),那麼被用於創建虛擬交換機的物理網卡的網絡連接被配置為只使用Hyper-V Extensible Virtual Switch協議。如下圖是在名為Ethernet 01物理網卡上創建虛擬交換機後Ethernet 01物理網卡的網絡連接屬性

image

  如果虛擬交換機建立在網卡組之上(在SCVMM中為主機配置基於網卡組的邏輯交換機後在主機中創建的虛擬交換機屬於這種情況),那麼被用於創建虛擬交換機的網卡組的網絡連接被配置為只是用Hyper-V Extensible Virtual Switch協議,而被用於該網卡組的物理網卡配置如上面網卡組部分的描述。如下圖左側是創建名為Management Logical Switch的虛擬交換機後,創建了同名的網卡組的網絡連接屬性,右側是網卡組內名為Ethernet 01的物理網卡(被聚合的網卡之一)的網絡連接屬性。

image

  總結以上,創建虛擬網卡和網卡組時除了創建相應的網絡設備 外,同時會相應的網絡連接 ,但創建虛擬交換機只會創建相應的網絡設備 ,卻不會創建網絡連接 ,虛擬交換機是建立在物理網卡或網卡組之上的,僅僅是對物理網卡和網卡組的網絡連接進行的重新配置。

  二、刪除網絡設備和網絡連接

  知道了各種網絡設備和網絡連接之間的關系後,再來刪除目標就更加明確了,原則上應該遵循:

  至上而下。先刪除最上層網絡設備和網絡連接,再刪除其基礎。基本按照 虛擬網卡 > 虛擬交換機 > 網卡組 > 物理網卡 這樣是順序進行刪除。否則那些失去依賴的網絡設備和網絡連接將會是最難對付的。如果涉及到集群,最好將需要刪除的網絡設備對應的網絡不用於集群,可能的話解散集群。

  從表及裡。在GUI中刪除或在PowerShell中刪除,如果不行則在注冊表中刪除。慎用注冊表,但往往終極解決方案卻是注冊表。

  在哪裡創建在哪裡刪除。在Hyper-V管理器中創建就在Hyper-V管理器中刪除,在SCVMM中創建就在SCVMM中刪除。當然事情往往沒那麼簡單,創建卻刪不掉才是問題。

  接下來根據各種場景我們來看看為什麼要刪除和如何刪除。

  1、刪除虛擬網卡及其網絡連接

  (1)通過GUI和PowerShell

  使用SCVMM控制台或SCVMM PowerShell為主機配置邏輯交換機後創建的虛擬網卡及其網絡連接,正常情況下可以在SCVMM控制台或SCVMM PowerShell中進行刪除,但有時由於主機硬件變更(主要是主板或網卡)或其他不可預料的情況,創建過程出現異常,試圖刪除配置進行恢復後,依然在主機上遺留下不應該存在的虛擬網卡或其網絡連接,這時SCVMM就束手無策了,而這些虛擬網卡在主機上也無法通過GUI(通過設備管理器或Hyper-V管理器)直接進行刪除。由於新的虛擬網卡命名時後綴會自動遞增,因而這些多余虛擬網卡不會有太多妨害,但與之關聯的網絡連接往往也存在命名沖突的問題(由於網絡連接名稱不能重復,這些遺留的虛擬網卡的網絡連接會占用名稱),無法按自己的需要命名網絡連接,對於許多人是無法接受的。

  在主機上可以通過PowerShell查看和刪除虛擬網卡及其網絡連接。使用get-netadapter命令查看所有網卡,使用get-vmnetworkadapter –all查看所以虛擬網卡,使用get-vmnetworkadapter –managementos命令查看在主機上的虛擬網卡。使用remove-vmnetworkadapter –managementos –name 刪除主機上指定的虛擬網卡和網絡連接。

image

  如果通過PowerShell無法查看和刪除虛擬網卡及其網絡連接,還可以嘗試兩個方法:其一是使用DevCon命令行工具,其二是直接操作注冊表。

  (2)通過DevCon命令行工具

  刪除網絡設備本質上是刪除設備的驅動程序,微軟自己的DevCon命令行工具可以代替設備管理器來管理計算機設備,特別是那些隱藏的設備,DevCon命令行工具的下載和使用可以參考這裡。將相應版本devcon.exe文件放到windows/system32目錄中,以備命令行中調用,由於版本和兼容性問題DevCon也不是萬能的。使用如下命令查詢和刪除虛擬網卡,其中為什麼是路徑root/vms_mp將在下面解釋。

image

  (3)通過注冊表

  作為最後手段,我們還可以通過注冊表進行刪除,這是件危險的事,請謹慎操作。使用regedit命令打開注冊表。

  先刪除網絡連接。打開節點HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Network/{4D36E972-E325-11CE-BFC1-08002BE10318},其下有許多GUID命名的節點,每個節點表示現在或曾今存在的網絡連接,通過其下Connection節點中的Name屬性可以知道該節點是表示哪個網絡連接,刪除之前記下這個GUID名稱。刪除以下路徑中具有同樣GUID名稱的節點,在這些節點中可見網絡連接的詳細配置,甚至包括IP和子網掩碼等:

  HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/services/Tcpip/Parameters/Adapters/

  HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/services/Tcpip/Parameters/Interfaces/

image

  再刪除網絡設備。打開節點HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Enum/ROOT/VMS_MP/,這個位置是虛擬網卡驅動的配置路徑,通過其子節點的FriendlyName屬性,找到需要刪除的網卡子節點,這也就是DevCon命令中出現的路徑。

image
copyright © 萬盛學電腦網 all rights reserved