虛拟機Vmware上克隆了一個Red Hat Enterprise Linx啟動時發現找不到網卡,如下所示,如果你在指令視窗啟動網絡服務就會遇到”Device eth0 does not seem to be present, delaying initialization“錯誤

關于這個錯誤,搜尋了一下網上的資料,發現還蠻多人遇到過這類錯誤,了解了一下錯誤産生的原因和解決方案
錯誤原因:
克隆的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位址。
解決方法:
1:編輯/etc/sysconfig/network-scripts/ifcfg-eth0配置檔案,将ifcfg-eth0的配置檔案裡裡面以前的關于MAC位址這一行删除掉或修改。另外克隆的伺服器的IP設定的是靜态IP,要麼修改為一個其它的IP位址或設定為動态IP,重新開機網卡服務
2:找到/etc/udev/rules.d/70-persistent-net.rules 删除後重新開機機器,系統會自動生成一個70-persistent-net.rules檔案。
因為這個檔案綁定了網卡和MAC位址,換了網卡以後MAC位址變了,是以不能正常啟動,也可以直接編輯這個配置檔案把裡面的網卡和MAC位址修改成對應的,不過這樣多麻煩,直接删除重新開機,它會自動生成個一個新的檔案。
删除前70-persistent-net.rules的内容
重新生成的70-persistent-net.rules的内容
重新開機過後OK,但是我想将測試伺服器設定為動态IP,于是在/etc/sysconfig/network-scripts/ifcfg-eth0配置檔案裡面修改了一番,但是老是擷取不到IP位址,将位址改為靜态IP位址又沒有問題,折騰了好久,最後悲催的發現需要運作dhclient指令才能擷取動态IP位址。
來源:Linux 克隆虛拟機引起的“Device eth0 does not seem to be present, delaying initialization” - 士子 - 部落格園