2013年4月29日 星期一

Hyper-V 使用 P2V 後,虛擬機出現 IP 位址已經被指派給另一張網路卡

以前在 Windows Server 2003 時常在換網卡時會出現  IP 位址已經被指派給另一張網路卡
沒想到使用 P2V 轉換時又再次遇到了

Hyper-V 在將實體機轉換到虛擬機時會將原有的網路卡轉換成 Microsoft Hyper-V Netword Adapter,需原有的網路卡則會被取消
此時新的網路卡 (Microsoft Hyper-V Netword Adapter)在更動 IP 相關資料時會出現以下的訊息


方法一、

此時需進入裝置管理員中將非作用中的隱藏網路卡刪除

1. 先開啟「命令提示字元」視窗


2. 設定 devmgr_show_nonpresent_devices 環境變數為 1
    set devmgr_show_nonpresent_devices=1

3. 開啟裝置管理員

    start devmgmt.msc

4. 開啟裝置管理員後點選 [檢視] / [顯示隱藏裝置] 顯示隱藏的項目




5. 開啟後將會看到所有系統內建的介面卡,介面卡圖示灰色的代表這張網路介面卡已經不存在系統中,請將這些介面卡解除安裝


6. 解除安裝後即可正常的設定網路了

如果上述方法仍無法排除,例如該網卡有安裝 QoS Packet Scheduler 則會多出一個  Packet Scheduler Miniport ,此時會無法以方法一來排除,如好改用下面的方法

方法二、

1. DevCon 公用程式是命令列公用程式,可作為 [裝置管理員] 的替代程式。當您使用 DevCon 時,您可以啟用、停用、重新啟動、更新、移除和查詢個別裝置或裝置群組。

2. 到「Microsoft 知識庫」中的文件,下載 DevCon 工具:


    DevCon 命令列公用程式
3. 執行 set devmgr_nonpresent_show_devices=1
    取得隱藏或無作用的網卡

4. 執行  devcon findall =net
    列出所有網卡,並找出要移除的網卡


5. 執行 devcon -r remove "@PCI\VEN_14E4&DEV_1648&SUBSYS_00D00E11&REV_10\5&31FDA43B&0&080010"
    移除要刪除的裝置



6. 再用 devcon findall =net 來確認一下



參考:當您嘗試在網路介面卡上設定 IP 位址時,出現錯誤訊息