歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux教程

VMWare克隆後Ubuntu的“No such device eth0”錯誤

環境:VMWare ESX4.0,Ubuntu 9.10 Server

  在本地為Ubuntu創建VMWare的虛擬機後,復制,創建一個新的克隆鏡像,啟動,網卡無效,顯示錯誤”eth0: ERROR while getting interface flags: No such device”。

原因

新克隆的虛擬機鏡像的網卡mac地址已經變更。打開虛擬機的.vmx文件,ethernet0.generatedAddress項記錄了該虛擬機的mac地址。

查看所有適配器信息

ifconfig -a

發現除了原來的eth0外,Ubuntu已經將新網卡命名為eth1。
Ubuntu保存網卡mac地址和設備名的配置文件在

/etc/udev/rules.d/70-persistent-net.rules

網卡的網絡配置保存在

/etc/network/interfaces
該配置文件中只有原來eth0的配置信息。
解決方案1
移動/刪除rules文件。(未驗證)
重啟後Ubuntu會創建新的rules文件。
將新網卡辨認為eth0,沿用原eth0的網絡配置。
如果網絡配置是自動獲取IP,則無需做其他修改。

sudo mv /etc/udev/rules.d/70-persistent-net.rules
    /etc/udev/rules.d/70-persistent-net.rules.old

解決方案2

修改rules文件。(未驗證)

sudo pico /etc/udev/rules.d/70-persistent-net.rules

原內容如下

# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*",
    ATTR{address}=="00:0c:29:50:xx:xx", ATTR{type}=="1", NAME="eth0"

# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*",
    ATTR{address}=="00:0c:29:36:xx:xx", ATTR{type}=="1", NAME="eth1"

刪除eth1的配置,用eth1的mac地址替代eth0的mac地址。

# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*",
    ATTR{address}=="00:0c:29:36:xx:xx", ATTR{type}=="1", NAME="eth0"

重啟後Ubuntu同樣會將新網卡辨認為eth0,沿用原eth0的網絡配置。
如果網絡配置是自動獲取IP,則無需做其他修改。

解決方案3

修改interfaces文件。(已驗證)

sudo pico /etc/network/interfaces

將所有的eth0替換為eth1。
如果是靜態地址則同時修改相應設置。

Copyright © Linux教程網 All Rights Reserved