Another day, another Hyper-V...

Monday I wrote about a failed attempt with Hyper-V

Monday I wrote about a failed attempt with Hyper-V ( ).  Benny Tritsch chimed in and told about the success he had with a similar setup.  Well I can't let Benny show me up, can I?  (OK, I can.  He's an expert and just play at this stuff sometimes).  Today, things went better and I used the new Release Candidate for Hyper-V that went out today.

So I went back and rebuilt my setup.  This time I was able to keep the networking from completely blowing up.  One of the problems I had originally was in dealing with those "legacy" OSs like Windows XP and Windows Vista.  I had seen plenty of articles on line talking about the need to install a legacy network adapter instead of te virtual network adapter.  But I had always tried the add hardware option of Vista INSIDE the VM.  It has a pulldown menu called "Add Legacy Adapter".  But thanks to Benny's post I went back and looked around some more until I saw a post that used some different words and helped me to undetstand that I had it wrong.  The place to add the legacy adapter is in Hyper-V.  With the VM shut down, you go to the "settings" for the VM and add hardware in the settings.  Here you specify the legacy adapter, and tie it to the virtual adapter just like you do with the integrated hosts.  Remove the integrated network adapter from these settings if present also.  Now you boot it up and teh VM OS will automatically find the new virtual hardware and install the driver for you.

This allowed me to get these VMs to talk to the network.  Well, sort of.  Let me explain...

Unlike Benny, who was using a laptop with a single physical network interface, I am using a server with two network interfaces.  Because this hardware is used for my GridMaster (SoftGrid) training class, I set it up with one interface facing the internet, and the other as a private network used by students.  The goal is to allow the students to remote into the VMs, and also access the internet from their laptops.  I'm too boring to listen to for a full week so I have to let them at the web and email and the like.  Also, the VMs need to have access to the internet so we can download software to sequence.  And of course, I want to keep the hotel guests away from my VMs, and everything must stay up (except internet access) if the hotel goes down.  [On a side note:  I plugged in the cables backwards in our first class and provided DHCP to the hotel for several hours.  My dhcp was much faster to respond then theirs was so it pretty much hosed up their systems for a couple of hours until I noticed someone complain that the reservation system was down.  I talked to them about .need to segregate guests from their back office equipment].

So I set up the public nic as a dhcp client.  This nic does not get virtualized.  The second nic (the private one) gets a fixed IP.  The interface is configured to serve up dhcp addresses and the host partition also does DNS (and AD) for us.  Before installing Hyper-V, I then turn on ICS (Internet Connection Sharing) on the public interface.  This is what allows laptops on the private interface to talk out to the internet.  After this is all working I install Hyper-V and install my first guest.  I choose a 2003 SP2 OS for this as it can use the integrated network adapter and should be easy.  Installing Hyper-V and configuring a virtual network adapter, I tie this adapter to the private interface nic.  This means that the settings from that NIC need to be migrated to the virtual nic and the physical nic just has a mapping for the virtualization rather than Client for Microsoft and IPv4/v6 like things.  This required some changes as the migration doesn't just take the settings from the physical nic.  The Network adapter inside the VM is tied to the virtual nic which in turn gets tied to the physical nic inside of the parent partition.  This works great.  Now on to my Windows XP and Vista VMs.

I bring these in and add the legacy network adapter.  Once set-up, I run into another problem.  Although the Hyper-V legacy network adapter is tied to the same virtual nic as the integrated network adapter, they act differently.  The VMs on the legacy network adapter can only see other VMs and private network side clients.  These VMs cannot talk past the physical port on the internet side of the box.  The OSs are set up identically to the setup on the integrated VM.

While looking for this, I find that Release Candidate 0 for Hyper-V was released today.  So I track that down (hoping it will help).  It turns out that you cannot upgrade from the Hyper-V Beta as easily as you would like.  Basically, you delete the VM definitions but save the virtual disks, upgrade the host, then recreate new VMs using the old virtual disks, then upgrade the VMs.  I do all of this.  Still have the same issue.

But RC0 supports not only Server 2008 and Server 2003 SP2 (and some linux distros), but it adds Windows XP with SP3 and Vista with SP1.  Not the versions I was using, but I can upgrade these and go with the integrated network adapter and remove the legacy adapters.  Windows XP SP3 isn't out yet, but there are release candidates, and I have been running one machine with XP SP3 RC0 since December so I can go with RC2 there.  It has an upgrade installer, so download that, cut a CD to mount (don't know if that virtual ISO software works on 2008 yet) and I'm good to go.  Windows Vista, not so easy.  WIth SP1 you either get an installer or you use Windows Update.  But my VM can't talk to the internet.  I could probably break the ICS and repoint to the internet nic, but I have the network otherwise working and don't want to touch it.  So I go the reinstall route since there isn't anything on the VM that needs saving.

So I have about half of the VMs done and should knock of the other half tommorrow.  I'm feeling better about Hyper-V, although my inability to work effectivly with older OSs (or older with non 2008 service packs) is a concern.  I don't know how many shops my network issue would affect.  Dual NICs are the norm, although ICS is not.  Also, someone more familiar with "Routing and Remote Access" would probably set up what I was doing using software Routing rather than ICS, and maybe that would have worked.  And we still need tools for things like cloning.  I'll know more in a week about the performance versus Virtual Server.



Join the conversation


Send me notifications when other members comment.

Please create a username to comment.

I had to build a portable server able to host a virtual environment running servers with 1.Win2k3/AD  2.Exchange  3.System Center Config Manager  4.System Center Ops Manager  5. Softgrid VAS  6.iSCSI SAN  7.SQL2005 Cluster  8.File/DFS server. 9.XP client/sequencer 10. Vista client.

The system was built using an asus micro ATX board. 2.4 GHz quad core cpu, 8 Gb RAM. 4x 320Gb  SATA drives, 2x1Gb NICs. DVD writer, wireless keyb/mouse, the case has a carry handle at the front, we also had a custom flight case made. It's been on a plane a few times and is still working :)

Cost was about 1100 UK pounds.

It dual boots windows 2k3 server x64 bit (with VS2005r2sp1) and windows 2008 RC0 x64 with hyper-v on one disk. the other 3 disks host the VHDs (I made copies of the VHD files to use for each virtual platform)

 for cloning I just use wininternals newsid

to migrate from vs2005 to hyper-v just copy the vhd, uninstall vm additions, create a new hyper-v vm, add the disks, use legacy nic until you can add the new integration components.

It runs win2k xpsp2 but without the integration components using a legacy NIC


I also use newsid to do the cloning here.  I just like the way VmWare workstation detects that the hard disk is a copy and asks me if I want it to take care of it for me.  Just a click yes, then boot it up.

Intel released a new set of drivers for Windows Server 2008 x64 edition. The network performance under Hyper-V is much better.


Hi Tim,

Thank you for your article, it's very helpful. However I experience quite the opposite problem. My guest virtual operating system running Windows Server 2003 x64 can't find drivers for the Ehternet Controller! What I did is I added Legacy Network Adapter as a network adapter to be used in this virtual machine. I booted up this virtual machine and when I logged into the VM the Found New Hardware Wizard popped up asking me to point it to the drivers for tje Ethernet Controller device that has been found by the wizard. Duh! But I don't have a clue which driver I have to provide to the wizard. The Intall the softwarew automatically option gave nothing as wizard didn't find the driver. The only option is to provide the driver on CD or get it through the internet. The latter is for sure impossible as the wizard can't connect to the internet when it has no dirver for the NIC.
As for the first option, I can't figure out which driver I have to provide for the wizard! There's no such driver in the %windir%\inf folder and I don't seem to find it anywhere!

Could you please help me? I am just migrating from VMware to Hyper-V and its... frustrating. I believe there should be an option to point the guest opearting system to a right driver for the legacy adapter.

I am having EXACTLY the same problem as the person above!
I've installed the legacy network controllers as integration services will not installed on 2k3 x64, the add hardware wizard pops up but I have utterly no clue as to what driver I need to provide the guest OS with to use them?

This is starting to test my patience a lot... as versatile as ESX my ass, this is pathetic compared to VMware.

We must have missed something somewhere. All i see is "unknown device" missing a driver, and the only device missing is the NIC (W2K3 guest on external virtual network). Could legacy network adapter be the solution?

The Microsoft Hyper-V Getting Started Guide states: The legacy network adapter is not supported in the 64-bit edition of Windows Server 2003 or the Windows XP Professional x64 Edition.