给女朋友复制了一份我配置好的Ubuntu Server Vmware vmdk,在她电脑上用这块虚拟硬盘新建出的Ubuntu也能用,唯一有问题的就是找不到网卡了,提示"No such device eth0"...
解决过程不写了,反正耗掉了我好几个小时...
原因是Vmware保存的硬件配置文件*.vmx里记录了网卡的MAC地址,而Ubuntu也会记录MAC地址,这样在克隆虚拟机的时候,Vmware会为Ubuntu分配一个新的eth0网卡,但是由于被之前的eth0占用,所以它会变成eth1。再因为eth0是默认的网卡,显然这个网卡不存在,所以就提示"No such device eth0"..
Ubuntu保存MAC地址的配置文件为"/etc/udev/rules.d/70-persistent-net.rules",我装的是9.10版本,8.04以后的版本应该都是这个解决方法:
方法1:直接删除配置文件
直接删除配置文件,重启之后Ubuntu就会找到新的网卡了。
sudo rm /etc/udev/rules.d/70-persistent-net.rules
方法2:修正配置文件
修改配置文件,将原本的eth0删除,然后修改eth1的NAME="erh1"为NAME="eth0",重启之后Ubuntu就会使用新的配置文件设置网卡了。
修改前的 /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{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:85:XX:XX", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
将它修改为:
# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:85:XX:XX", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"