copy-virtual-ubuntu

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

背景

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

原因

  1. UUID为机器标识码,保证对同一时空的所有机器唯一。虚拟机同样会有一个UUID,而且这个UUID是唯一的。

  2. 虚拟机的UUID一般和虚拟机配置文件的位置和物理主机有关。

  3. 虚拟机移动时不需要改变UUID.复制时UUID对应的Mac地址改变。导致eth0设备装载的配置与默认不一致。

  4. 同时,70-persistent-net.rules文件中记录了MAC以及eth0

解决办法

  • 生成70-persistent-net.rules文件

    • 如果系统中已有/etc/udev/rules.d/70-persistent-net.rules,删除,重启会自动生成

    • 如没有,手动生成

      • export MATCHADDR=”00:f1:f3:1a:f0:05”

      • export INTERFACE=eth0

      • sudo /lib/udev/write_net_rules

  • 查看系统的网卡 lspci | grep Eth*

    • 显示为Ethernet controller: Advanced Micro Devices, Inc. [AMD] 79c970 [PCnet32 LANCE] (rev 10)
    • 打开VMware 虚拟机配置 (.vmx),在其中添加一行ethernet0.virtualDev = “e1000”

参考链接

linux 内核的配置

四种打开方式

  • make config

  • make menuconfig

  • make xconfig

  • make gconfig

menuconfig 如下所示

01-arm-linux-qemu-lcd.jpg

Author: hjl
Link: https://huqianshan.github.io/copy-virtual-ubuntu/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.