关于vmware下复制linux系统虚拟机后eth0变成eth1问题解决
在vmware虚拟机中,当我们克隆或者复制linux系统虚拟机后,再启动系统时会发现系统下不再有eth0,而变成了eth1
当我们使用/etc/init.d/network restart重启网络时,会提示找不到设备eth0,如下图所示:
这时我们再使用ifconfig -a命令去查看所有网卡时,会发现其实eth0已经变成了eth1。
那么为什么原来的eth0会变成eth1?
很多Linux distribution使用udev动态管理设备文件,并根据设备的信息对其进行持久化命名。udev会在系统引导的过程中识别网卡,
将mac地址和网卡名称对应起来记录在udev的规则脚本中。而对于新的虚拟机,VMware会自动为虚拟机的网卡生成MAC地址,当你复制
克隆或者重装虚拟机软件时,由于你使用的是以前系统虚拟硬盘的信息,而该系统中已经有eth0的信息,对于这个新的网卡,udev会自动
将其命名为eth1(累加的原则),所以在你的系统启动后,你使用ifconfig看到的网卡名为eth1。
如何把名字改回eth0?我们可以依次执行如下命令,也可以将其写入到脚本文件,然后直接执行,具体内容如下:
#!/bin/bash
#
eth0=/etc/sysconfig/network-scripts/ifcfg-eth0
rm -rf /etc/udev/rules.d/-persistent-net.rules
echo 'DEVICE=eth0' > $eth0
echo 'ONBOOT=yes' >> $eth0
echo 'BOOTPROTO=none' >> $eth0
echo 'NM_CONTROLLED=no' >> $eth0
echo HWADDR=$(ifconfig eth1 | grep eth1 | awk '{print $5}') >> $eth0
echo 'TYPE="Ethernet"' >> $eth0
echo 'IPADDR=192.168.100.2' >> $eth0 //IP根据自己情况配置
echo 'NETMASK=255.255.255.0' >> $eth0 //掩码根据自己情况配置
echo 'GATEWAY=192.168.100.1' >> $eth0 //网关根据自己情况配置
/etc/init.d/network stop
/etc/init.d/NetworkManager stop
ifconfig eth1 down
udevadm trigger
udevadm control --reload-rules
service network restart
service NetworkManager start
方法二、原理和一差不多。具体操作如下:
1、首先删除/etc/udev/rules.d/70-persistent-net.rules文件。
2、如果eth0的网卡配置文件中有HWADDR选项,直接将其删除。
3、重启linux系统。
以上的操作过程和思想,如下图所示:
总结:以上两种方法,各有各的优点。
方法一不需要重启,省时,方法二思路清晰,简单明了。
因此具体选择那一种方法,可以根据自己的实际情况面定。
关于vmware下复制linux系统虚拟机后eth0变成eth1问题解决的更多相关文章
- 如何在Windows环境下安装Linux系统虚拟机
如何在Windows环境下安装Linux系统虚拟机 本篇经验写给想要入门学习C语言的小白们.Windows系统因为使用窗口图形化,操作简单,功能多样,所以我们在Windows环境下可以做到很多,但想要 ...
- Vmware下的Linux系统,安装WPS报错:[Errno 256] No more mirrors to try
最近新装了虚拟环境Vmware下的Linux系统,准备看doc文档发现不能读取,才想起来一起都是重新开始的~没别的~开始安装吧: 1.关虚拟机Linux,添加cdrom镜像ISO文件--开虚拟机--- ...
- VMware下安装Linux系统,ORACLE软件,DBCA建库
操作系统安装 在vmware下安装Linux (OEL5.6),用于数据库服务器 1.打开vmware,选择"创建新的虚拟机" 2.选择自定义安装 3.选择虚拟 ...
- VMware下的Linux系统中Windows的共享目录,不支持创建软连接
[问题] 在编译VMware下的Linux系统对从Windows中共享过来的文件,进行编译的时候,遇到: ln: creating symbolic link XXXXXX : Operation ...
- 【转】VMware Converter迁移linux系统虚拟机
原始出处 今天接到一个需求,迁移一台linux的业务系统到vCenter云管理平台,其中遇到一些问题,于是进行了排错,这个过程与大家分享,下面把整个步骤进行截图说明. 1. 首先,登录到VMware ...
- 使用VMware新建一个Linux系统虚拟机(全)
我们将其分为两步,1:新建虚拟机:2:安装Red Hat Enterprse Linux 6操作系统 1.首先我们新建一个虚拟机,先不安装操作系统,稍后再对其安装Linux系统. 新建虚拟机步骤如下: ...
- 如何使windows系统ping通VMware下面的linux系统
引用http://www.linuxidc.com/Linux/2012-11/73749p2.htm 很多人在开始接触Linux或者是嵌入式开发的时候都会遇到一个难题,就是如何在Linux下ping ...
- VMware 下的Linux系统远程连接putty
ifconfig查看ip地址 虚拟网卡需要自己新建 nat8 putty不能显示中文的解决办法 http://jingyan.baidu.com/article/5552ef47df8a97518f ...
- VMware安装与VMware下安装CentOS系统
1.下载安装VMware,我安装的是VMware 12.VMware从11开始不再支持32位系统,32位系统请安装VMware10. VMware官方功能特性介绍http://www.vmware.c ...
随机推荐
- java 切换
Android L之后推荐使用JDK7编译程序,这是自然发展规律,就像是4年前编译Android 1.6需要使用JDK5一样. 多版本JDK是可以共存的,只需要使用update-alternative ...
- Charles移动端抓包工具使用
软件Charle 是一个HTTP代理服务器,HTTP监视器,反转代理服务器.它允许一个开发者查看所有连接互联网的HTTP通信.这些包括request, response现HTTP headers (包 ...
- VS中引用第三方库的方法(配置sqlite数据库)
我们在编写程序时,,不可避免的会使用第三方的库文件,很少使用源文件(.cpp),大部分是使用对类进行声明的头文件和封装了类的链接库(静态lib或动态dll),比如我们写程序用的iostream这个库, ...
- 向Array中添加希尔排序
希尔排序思路 我们在第 i 次时取gap = n/(2的i次方),然后将数组分为gap组(从下标0开始,每相邻的gap个元素为一组),接下来我们对每一组进行直接插入排序. 希尔排序实现 Functio ...
- SASS学习笔记_02
导入 当模块化布局的时候 导入头和尾 私有化 不生成css文件 文件名前面加下划线 结果 嵌套导入 导入css文件 不推荐 注释 和默认变量值
- Codeforces Round #349 (Div. 1) B. World Tour 最短路+暴力枚举
题目链接: http://www.codeforces.com/contest/666/problem/B 题意: 给你n个城市,m条单向边,求通过最短路径访问四个不同的点能获得的最大距离,答案输出一 ...
- 【BZOJ】【3439】Kpm的MC密码
Trie树/可持久化线段树 神题啊……搞了我一下午= =(其实第233个提交也是我的) 我一开始的思路:这个找kpm串的过程,其实就跟在AC自动机上沿fail倒着往下走是差不多的(看当前是哪些点的后缀 ...
- Rich Text Editor for MVC
在网站开发中难免会用到富文本编辑器,本文将介绍一款富文本编辑器(在线HTML编辑器) Rich Text Editor ,简要说明一下其在MVC中的使用. 具体使用情况和下载地址请参考:http:// ...
- CoreData (表结构变化处理)
引言: Core Data 是 iOS 3.0 以后引入的数据持久化解决方案,其原理是对SQLite的封装,是开发者不需要接触SQL语句,就可以对数据库进行的操作. 其编码方式和原理结构方面较为特殊, ...
- [noip2010]关押罪犯 并查集
第一次看的时候想到了并查集,但是不知道怎么实现: 标解,f[i]表示i所属的集合,用f[i+n]表示i所属集合的补集,实现的很巧妙,可以当成一个使用并查集的巧妙应用: #include<iost ...