歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> 解決vmware上linux虛擬機的eth0不存在的問題

解決vmware上linux虛擬機的eth0不存在的問題

日期:2017/3/3 13:43:57   编辑:Linux技術

配置好的Vmware vmdk,在其他電腦上用使用,會出現一個問題--找不到網卡了,提示"No such device eth0"……

原因是Vmware保存的硬件配置文件*.vmx裡記錄了網卡的MAC地址,而linux也會記錄MAC地址,這樣在克隆虛擬機的時 候,Vmware會為Ubuntu分配一個新的eth0網卡,但是由於被之前的eth0占用,所以它會變成eth1。再因為eth0是默認的網卡,顯然這 個網卡不存在,所以就提示"No such device eth0"..

linux保存MAC地址的配置文件為"/etc/udev/rules.d/70-persistent-net.rules",

方法1:直接刪除配置文件

直接刪除配置文件,重啟之後Ubuntu就會找到新的網卡了。

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

ps:實際上/etc/sysconfig/network-scripts/ifcfig-eth0裡有可能也記錄了MAC地址,也要相應修改方法2:修正配置文件

修改配置文件,將原本的eth0刪除,然後修改eth1的NAME="erh1"為NAME="eth0",重啟之後linux就會使用新的配置文件設置網卡了。

修改前的 /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"

[備注]

重啟後使用網絡管理配置IP時可能會出現,system-config-network無法編輯的錯誤

查看/etc/sysconfig/network-scripts/ifcfig-eth0,發現內容為空.按以下格式進行編輯,保存即可

DEVICE=eth0

ONBOOT=yes

BOOTPROTO=none

HWADDR=00:0C:29:C6:A1:AB

IPADDR=192.168.1.60

NETMASK=255.255.255.0

GATEWAY=192.168.1.1

NM_CONTROLLED=yes

MODE=Manager

DNS1=192.168.1.1

MTU=1500

TYPE=Ethernet

IPV6INIT=no

USERCTL=no

PREFIX=24

NAME="System eth0"

UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03

此處的MAC即為修改/etc/udev/rules.d/70-persistent-net.rules 前eth1的MAC

Copyright © Linux教程網 All Rights Reserved