Cloning Ubuntu Gutsy in Parallels: where did my network go?

11 Mar 2008

Yet another post aimed to save those using google the pain of solving the following issue. Using Parallels on the Mac to run an Ubuntu Gutsy virtual machine is a bit of a pain to start with – both the desktop and server versions need some delicate hand holding to get them installed. But once installed they run fine.

However, as installing Gutsy is a bit of a pain, I wanted to clone a VM rather than do a fresh install, so I did the proscribed thing in Parallels and let it clone my VM for me. All was well, but I lost my network connection in the VM – eth0 was missing (device not found as ifconfig put it). I’m told I’m not alone in finding this a problem.

The solution turns out to be with the udev system, which sets up bits and pieces automatically. When you clone a VM the copy gets a new MAC address, which is what you’d want. However, the information in /etc/udev/rules.d/ is not made aware of this, so it ends up with trying to set the original MAC address to eth0 and the new MAC address to eth1. As the old MAC address isn’t available eth0 won’t work, and as eth1 isn’t in /etc/network/interfaces you won’t get eth1 either.

The solution is to edit /etc/udev/rules.d/70-persistent-net.rules, and remove the line pertaining to the original MAC address, and adjust the line pertaining to the new MAC address to refer to eth0.

Hope this saves someone some time :)