虛擬機Vmware上克隆了一個Red Hat Enterprise Linx啓動時發現找不到網卡,以下所示,若是你在命令窗口啓動網絡服務就會遇到」Device eth0 does not seem to be present, delaying initialization「錯誤 html
關於這個錯誤,搜索了一下網上的資料,發現還蠻多人遇到過這類錯誤,瞭解了一下錯誤產生的緣由和解決方案 服務器
錯誤緣由: 網絡
克隆的Linux系統在新的機器上運行,新服務器網卡物理地址已經改變。而/etc/udev/rules.d/70-persistent-net.rules這個文件肯定了網卡和MAC地址的信息之間的綁定,克隆後的網卡的MAC已經發生了變化,因此致使系統認爲網絡設備不存在,網絡不能正常啓動。另一個就是/etc/sysconfig/network-scripts/ifcfg-eth0裏面MAC地址也是之前的舊信息。 測試
關於/etc/udev/rules.d/70-persistent-net.rules這個文件,系統在啓動時會自動監測變化,而後由/lib/udev/write_net_rules寫入到/etc/udev/rules.d/70-persistent-net.rules中一個新的配置節,網卡的的序號依次遞增(如原來爲eth0,則修改第一後生成一個eth1,再次修改後生成一個eth2...),且其ATTR{address}的值爲當前網卡對應的mac地址。 3d
解決方法: htm
1:編輯/etc/sysconfig/network-scripts/ifcfg-eth0配置文件,將ifcfg-eth0的配置文件裏裏面之前的關於MAC地址這一行刪除掉或修改。另外克隆的服務器的IP設置的是靜態IP,要麼修改成一個其它的IP地址或設置爲動態IP,重啓網卡服務 blog
2:找到/etc/udev/rules.d/70-persistent-net.rules 刪除後重啓機器,系統會自動生成一個70-persistent-net.rules文件。 ip
由於這個文件綁定了網卡和MAC地址,換了網卡之後MAC地址變了,因此不能正常啓動,也能夠直接編輯這個配置文件把裏面的網卡和MAC地址修改爲對應的,不過這樣多麻煩,直接刪除重啓,它會自動生成個一個新的文件。 get
刪除前70-persistent-net.rules的內容 虛擬機
從新生成的70-persistent-net.rules的內容
重啓事後OK,可是我想將測試服務器設置爲動態IP,因而在/etc/sysconfig/network-scripts/ifcfg-eth0配置文件裏面修改了一番,可是總是獲取不到IP地址,將地址改成靜態IP地址又沒有問題,折騰了很久,最後悲催的發現須要運行dhclient命令才能獲取動態IP地址。
參考資料