解决Ubuntu或Fedora虚拟机重启网络时报错问题

如何解决Ubuntu或Fedora虚拟机重启网络时出现的“No such device eth0”或“Job failed”错误。

首先声明:下面是出现在Ubuntu和Fedora下面的问题,如果其它虚拟机也出现这样的问题,也可参看这些方法解决。

1. 错误症状

(1)Ubuntu下

用命令service networking restart重启网络或ifconfig eth0 up重启网卡时出现下面错误:

eth0: ERROR while getting interface flags: No such device

(2)Fedora下

用命令systemctl restart network.service重启网络时出现下面错误:

Job failed. See system journal and 'systemctl status' for details.

2. 探究原因

在本地为用VMware为Linux创建虚拟机后,可能有两个原因导致网卡启动无效,从而显示上面的错误:

(1)创建一个新的克隆镜像,将该虚拟机拷贝到别的机器上使用

(2)你本地机后来重装了主机系统(我是这种情形)

这是什么原因呢?

其实原因就在于:新克隆的或重装主机系统后的虚拟机镜像的网卡MAC地址已经变更。

打开虚拟机的.vmx文件,ethernet0.generatedAddress项记录了该虚拟机的mac地址。

(1)Ubuntu下

用ifconfig -a查看所有适配器信息,发现原来的eth0已经没了(有的),Ubuntu已经将新网卡重新命名为eth7(也可能命名为其它),怪不得出现“No such device eth0”错误了,eth0的确已经不在了。怎么解决?首先我们需要知道跟MAC地址相关的配置文件在哪?

a. Ubuntu保存网卡mac地址和设备名的配置文件在

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

b. 网卡的网络配置文件大家都知道,在

/etc/network/interfaces

该配置文件中只有原来eth0的配置信息。

参考文献里给出了三种解决方案:

   解决方案1 — 移动/删除rules文件

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

重启后Ubuntu会创建新的rules文件,将新网卡辨认为eth0,沿用原eth0的网络配置。 如果网络配置是自动获取IP,则无需做其他修改。

   解决方案2 — 修改rules文件

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

原内容如下:

# PCI device 0x1022:0x2000 (pcnet32)

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*",     ATTR{address}=="00:0c:29:36:xx:xx", ATTR{type}=="1", NAME="eth7"

修改eth7的配置,将其改为eth0,如果原来已经有eth0,则删除eth7配置,用eth7的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 vi /etc/network/interfaces

将所有的eth0替换为eth7。 如果是静态地址则同时修改相应设置。

(2)Fedora下

根据错误信息,我们可以看下具体的错误提示是什么?

cat /var/log/messages | grep network

时间: 2024-10-03 10:44:32

解决Ubuntu或Fedora虚拟机重启网络时报错问题的相关文章

VMware虚拟机安装windows8 时报错“Oxc000035a”解决办法

错误说明:未开启cpu的虚拟化技术,开启后将有效提高虚拟机和系统的性能 解决方法如下:1.开机进入BIOS设置(刚启动时看到HP标志后按esc键,然后按f10进入BIOS设置).2.左边选择System Configuration (系统配置)菜单,然后选择Device Configurations(设备配置).3.找到Virtualization Technology ,设置为enable.4.选择右边的file,选择Save Changes and Exit(保存并退出). 至此,硬件虚拟化

一个函数解决SQLServer中bigint 转 int带符号时报错问题_MsSql

有一个需求是要在一个云监控的状态值中存储多个状态(包括可同时存在的各种异常.警告状态)使用了位运算机制在一个int型中存储. 现在监控日志数据量非常大(亿级别)需要对数据按每小时.每天进行聚合,供在线报表使用. 状态分了3个级别:正常(0).警告(1).异常(2),聚合时需要使用max选择最差的状态,就需要对状态值进行处理加上级别和状态位个数,就要借助bigint型来做运算了, 问题是再将bigint 转为 int时获取原始状态值时,SQLServer报错了: 消息 8115,级别 16,状态

一个函数解决SQLServer中bigint 转 int带符号时报错问题

有一个需求是要在一个云监控的状态值中存储多个状态(包括可同时存在的各种异常.警告状态)使用了位运算机制在一个int型中存储. 现在监控日志数据量非常大(亿级别)需要对数据按每小时.每天进行聚合,供在线报表使用. 状态分了3个级别:正常(0).警告(1).异常(2),聚合时需要使用max选择最差的状态,就需要对状态值进行处理加上级别和状态位个数,就要借助bigint型来做运算了, 问题是再将bigint 转为 int时获取原始状态值时,SQLServer报错了: 消息 8115,级别 16,状态

linux虚拟机安装增强功能时报错,求解决

问题描述 linux虚拟机安装增强功能时报错,求解决 我在安装VBoxWindowsAdditions.exe的时候报出了这样的错误: Installing drivers ... Output folder: F:VirtualBoxOracleVirtualBox Guest Additions Installing guest driver ... Executing: "F:VirtualBoxOracleVirtualBox Guest AdditionsVBoxDrvInst.exe

工具-VM虚拟机安装ubuntu-14.04-desktop-i386启动时报错,请教高手如何解决?

问题描述 VM虚拟机安装ubuntu-14.04-desktop-i386启动时报错,请教高手如何解决? 问题详细: VM虚拟机中安装ubuntu-14.04-desktop-i386.iso系统后启动时报错,屏幕一直是黑的. 详细报错信息如下: 1.The 3D features of the virtual machine will be disabled. 2.As a result, this virtual machine may experience very low graphic

Fedora虚拟机如何设置固定IP上网

Fedora虚拟机设置固定IP上网(配置IP.网关.DNS.防止resolv.conf被重写) 首先声明:该方法在Fedora 17和18版本下有效,其它版本也许可行也许有所差异. 1.  虚拟机相关配置 如果不是虚拟机系统,则这步不需要,若是相关配置详细信息请看"Linux系列:Ubuntu虚拟机设置固定IP上网(配置IP.网关.DNS.防止resolv.conf被重写)". 2. 设置静态IP地址 首先选取你想要配置的网络接口,可以通过ifconfig -a命令查看目前有哪些接口,

新手指南: 手把手教你安装 Ubuntu 和 Fedora

Linux 由于开源,所以具备可定制性,因此衍生了许多发行版.Ubuntu 和 Fedora 算是其中对新手比较友好的两个发行版,主要是其安装较为简单,用户群多,有问题搜索出相关的信息或者找前辈解决.此文为 Linux 新手准备,通过展示整个安装过程来使 Linxu 新手完成安装 Ubuntu 或 Fedora ,也恳请各位前辈指出不足之处. 阅读建议 本文将包含 Ubuntu 和 Fedora 两个发行版的安装,请先通篇浏览全文,再决定安装哪个发行版,并且配图有相应的文字说明,请不要忽视. 如

【Ubuntu】通过虚拟机安装系统( ubuntu )

我们这里使用vmplayer player虚拟机 双击VMware-player-4.0.6-1035888.exe,一路next即可. 通过Vmware Player创建虚拟机 第一步 第二步 第三步 第四步 第五步 第六步 第七步 此时已新建好虚拟机,再配置下虚拟机就可以在虚拟机上安装操作系统. 配置虚拟机 第一步 第二步 第三步 第四步 ubuntu镜像下载地址请点此处. 第五步 此时已配置好虚拟机,点运行虚拟机按钮即可安装操作系统了. 设置安装参数: 第一步 第二步 第三步 第四步 第五

部署 Ubuntu Server 开发虚拟机点滴 ubuntu-12.04.1-server

GUI 光秃秃的server实在讨厌,还是来个GUI操作起来方便嘛- 在shell里输入: sudo apt-get install x-window-system-core #安装x-windows的基础 sudo apt-get install gdm #安装登录管理器 还可以为kdm/xdm sudo apt-get install ubuntu-desktop #安装Ubuntu的桌面 还可以为Kubunut-desktop/ Xubuntu-desktop sudo apt-get i