This has been driving me mad for a few days and I finally found the answer. I thought I’d share it here in case this saves anybody else some time in the future.
I’m trying to build a dual NIC Hyper-V Ubuntu server so that I can do some experimentation in with HP Network Virtualization. (HP NV). I want the NV server to act as a proxy so that I can do some man in the middle network analysis.
I’m used to configuring 4GB of RAM for my VMs so I did that as usual and rather than installing 64-bit Ubuntu, I installed 32-bit Ubuntu. I configured two network adaptors (avoiding the legacy NICs since they’re not supported by Ubuntu). On boot up, I saw this error message during setup.
If I ignored this error, when the machine started up, I’d only see one NIC, rather than two and commands like sudo ifup eth1 resulted in errors.
Rebooting the servers, I’d see the error “waiting up to 60 more seconds for network configuration” and at best I’d only see one NIC when I ran the ifconfig command. Occasionally I’d only see the local loopback adapter.
64-bit vs 32-bit
I started to wonder if this was down to the fact that I was running a 32-bit OS (Ubuntu 12.04 or 14.04) on a 64-bit virtualisation platform. When I started ‘Googling’ this problem, I found this bug report suggesting that the problem was down to the amount of RAM that I had configured for my VMs.
Reducing the amount of RAM for each VM to 3000MB resolved the network problem immediately, no additional reconfiguration was required (other than a reboot). Now both the 12.04 and 14.04 32-bit servers are up and running without issue.