Last July, Microsoft announced the drivers for Linux source code is available in the Hyper-V virtualization environment. In practice, the 2.6.32 of the Linux kernel version now contains drivers for synthetic Hyper-V, virtual machine including the VMBus, storage, and network components. In detail, it’s hv_vmbus, hv_storvsc, hv_blkvsc and hv_netvsc modules. These modules are described in this article.
Out configurations “officially supported”, I tested the activation of these modules in new Ubuntu Server 10.04, provided recently with the 2.6.32 kernel. To do this I found this article which explains how to enable these modules, and which I inspire me thus far.
Enabling modules
Firstly it must ensure that the Hyper-V modules are loaded at startup. To do this, edit the file /etc/initramfs-tools/modules and add the following four lines:
hv_vmbus
hv_storvsc
hv_blkvsc
hv_netvsc
Then, update the initramfs image:
$ sudo update-initramfs - u
Finally, configure the network by changing the/etc/network/interfaces file to configure the network interface named seth0. Indeed, a synthetic NIC would be named seth n instead of eth n for “legacy” network adapter.
For example for a DHCP configuration, add the following to /etc/network/interfaces:
Auto eth0
iface eth0 inet dhcp
or, for a static IP address:
Auto eth0
iface eth0 inet static
address ip_address
netmask mask
Gateway address
It remains only to restart, and check the proper loading of drivers using the command:
| $ lsmod | grep hv_ (lower case L) in lsmod |
Test procedure
For my test I used Windows Server 2008 R2 Hyper-V, and 32-bit Ubuntu Server 10.04 (ubuntu-10. 04 - server - i386 .iso).
Because I set up the VM with a synthetic network adapter, it is not detected the installation. This is not serious; it will be when it has made steps outlined previously after installation.

On this error message, choose
Once the virtual machine installed and started, the steps outlined above are fairly simple to implement:


After a reboot (sudo reboot), we have many assets on the network map seth0 synthetic, and other drivers loaded:

That is what servers run Linux under Hyper-V with decent performance. Have to wait for integration into the Linux kernel the next features (multi-processors, clock synchronization and stop integrated), these features are currently available in the beta integration services 2.1, SUSE Linux Enterprise Server Red Hat Enterprise Linux.