How to install Ubuntu Server 10.04 in Hyper-V

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:

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 <Continue>.

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.