I cloned an Ubuntu 7.04 VMWare Workstation 6.0 virtual machine, and found that the cloned VM booted without network access. dmesg | grep eth0 showed that the pcnet32 driver was loaded fine and detected eth0, but ifconfig doesn’t list eth0, and ifconfig -a lists eth1 which is down. WTF?
Turns out this is a feature of Ubuntu and possibly other distros, which remember which MAC address goes to which device using /etc/iftab. I never would’ve figured it out if not for this thread. The fix seems to be to manually edit /etc/iftab to put in the clone VM’s MAC address.
That’s pretty fucking lame. Both Windows and the BSDs don’t have that problem.