首頁 > 軟體

克隆虛擬機器後重新啟動無法啟動網路

2020-06-16 17:49:03

當克隆或者重灌虛擬機器後,再啟動系統時會發現系統下不再有eth0,而變成了eth1,當使用/etc/init.d/network重新啟動網路時,會提示找不到裝置eth0及eth1的啟動指令碼。

解決方法有如下2中:

方法一:

做以下改動:

將/etc/sysconfig/network-scripts/ifcfg-eth0重新命名為/etc/sysconfig/network-scripts/ifcfg-eth1,

修改/etc/sysconfig/network-scripts/ifcfg-eth0中的mac地址為原來eth0網絡卡的實體地址,而虛擬機器為eth1分配新的實體地址,故啟動指令碼中的資訊與實際資訊時不匹配的,將MAC的地址資訊從指令碼中刪除,再次重新啟動網路,OK!

為什麼原來的eth0會變成eth1?

很多Linux distribution使用udev動態管理裝置檔案,並根據裝置的資訊對其進行持久化命名。udev會在系統引導的過程中識別網絡卡,將mac地址和網絡卡名稱對應起來記錄在udev的規則指令碼中。而對於新的虛擬機器,VMware會自動為虛擬機器的網絡卡生成MAC地址,當你克隆或者重灌虛擬機器軟體時,由於你使用的是以前系統虛擬硬碟的資訊,而該系統中已經有eth0的資訊,對於這個新的網絡卡,udev會自動將其命名為eth1(累加的原則),所以在你的系統啟動後,你使用ifconfig看到的網絡卡名為eth1。

如何把名字改回eth0?

Fedora 11中,udev記錄網路規則的指令碼為:/etc/udev/rules.d/70-persistent-net.rules

開啟該檔案,這時你會發現,裡面有eth0,eth1兩個網絡卡的資訊,但實際上你ifconfig時只能發現eth1一個網絡卡的資訊,這時因為eth0根本就不存在。

將其中eth0的資訊刪掉,並將eth1資訊中的裝置名改為eth0,重新啟動系統,再ifconfig你看到的網絡卡就是eth0了,或者刪掉其中所有的資訊重新啟動系統udev會幫你發現新的裝置的。

方法二:

CentOS下面,刪除這個檔案/etc/udev/rules.d/70-persistent-net.rules,編輯/etc/sysconfig/network-scripts/ifcfg-eth0,刪除MAC地址,然後重新啟動init 6或者reboot,此時就應該可以正常啟動eth0了!

以上內容經過本人測試均成功,若有變化,隨時更新!僅作參考……若有其他疑問可共同探討!!!

本文永久更新連結地址http://www.linuxidc.com/Linux/2015-12/126055.htm


IT145.com E-mail:sddin#qq.com