解决复制虚拟机无法识别网卡的问题

本文介绍了在Linux环境下,通过更改虚拟机网卡类型为Intel E1000以解决网卡无法识别的问题。文中详细记录了从发现问题、尝试解决到最终定位问题并成功解决的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  最近在学习Linux程序设计及驱动相关知识,买了宝华老师的书,但是在把baohua_linux复制到本地之后,从虚拟机进入ifconfig,只有lo网络,没有其他网卡,虚拟机的网络适配器设置为NAT模式。

  通过查阅相关资料,网上都是指出复制之后,新的UUID和网卡不再匹配,但是我按照这种思路,没有在/etc/udev/rules.d/70-persistent-net.rules找到对应的规则文件,重启之后也没有自动生成,因此考虑手动生成的方式。

在终端下依次执行以下命令:

  • export MATCHADDR=”00:f1:f3:1a:f0:05” eth0网卡的mac地址,一定要小写
  • export INTERFACE=eth0 eth0网卡名称
  • /lib/udev/write_net_rules

执行完后,对应目录下生成相应的文件,其中物理地址选择你复制过来的网卡的地址。但是在进行完以上修改之后,还是识别不到网卡,通过lspci | grep Eth*指令,查看发现虚拟机下网卡驱动为

Ethernet controller: Advanced Micro Devices, Inc. [AMD] 79c970 [PCnet32 LANCE] (rev 10)

进一步查找原因,原来是由于在目前VMware都在虚拟客户机中提供的是古老的AMD PCNet10/100Mbps虚拟网卡,后来,VMware通过一种类似部分虚拟化的vmxnet优化虚拟网卡的方式提供了10/100 /1000Mbps性能,无疑性能更好。现在,VMware ESX Server已经可以提供基于Intel E1000的千兆虚拟网卡,从兼容性和性能的角度来看,E1000都是更好的选择。

类型可以选择多项
值为”e1000”指定网卡类型为Intel(R) PRO/1000
值为”vlance”指定网卡类型为AMD PCNet AM79C970A(默认为此项不兼容)
值为”vmxnet”指定网卡类型为VMware PCI Ethernet Adapter

因此打开VMware 虚拟机配置 (.vmx),在其中添加一行ethernet0.virtualDev = “e1000”。添加完成后启动虚拟机进入后发现网络可以自动识别连接,搞定。

参考:
VMware 下Linux 移动/复制后无法识别网卡的解决过程.
手动生成70-persistent-net.rules.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值