The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

Ubuntu 10.04 在更換網卡後如何刪除系統中隱藏的設備資訊

記得在去年曾經分享過一篇【換網卡後如何指定相同 IP 與如何刪除系統中隱藏的網路卡】文章,當時撰寫的情境是在 Windows 作業系統裡。我最近由於有台架設在 Hyper-V 上的 Ubuntu Linux 要遷移到另一台 Hyper-V 主機,在 VHD 搬動的過程最常見的問題就是網卡的 MAC 位址會改變 (其實也可以固定,只是我並沒有這麼做而已),對這台 Ubuntu Linux 的 VM 來說其實就是更換了一張網卡,但詭異的是更換網卡後網路就直接斷線了,以下就是我的修復筆記。

首先我們會在開機之後發現網路全斷了,只剩下本機網路介面可用:

一般來說我都會先用 ifconfig -a 查出目前可用的網路介面有哪些:

結果發現其實網卡有抓到,但是介面名稱卻改變了 ( 原本是 eth0 ),接著我用 dmesg 查詢開機的過程的訊息,看有沒有跟網卡相關的訊息,結果發現原來是 udev 服務在開機的過程中把介面名稱換了:

 

但為什麼換了呢?其實這原理跟 Windows 是一樣的,也就是這張已經移除的網路卡定義依然儲存在作業系統裡,你只要刪除掉原本的 device 資訊,就可以繼續使用 eth0 的網路設定了。

若要刪除多餘的網卡設備資訊,只要刪除 /etc/udev/rules.d/70-persistent-net.rules 設定檔並且在重開機之後 udev 就會在開機的過程重新抓到網卡,並給予一個全新且預設的 eth0  介面。

或者你也可以直接修改 /etc/udev/rules.d/70-persistent-net.rules 這個網卡定義檔,手動把介面名稱改回 eth0 存檔後重開機即可。

當然,如果你的網卡只是暫時消失,那到可以不用從 udev 的設定檔中移除這張網卡的定義,你只要直接在 /etc/network/interfaces 設定檔裡補上新的 eth1 的網路設定即可上網,如下圖示:

相關連結