感谢支持
我们一直在努力

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。
如果是静态地址则同时修改相应设置。

赞(0) 打赏
转载请注明出处:服务器评测 » VMWare克隆后Ubuntu的“No such device eth0”错误
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏