As I posted previously the new version of the linux kernel (2.6.32) includes support for Hyper-V synthetic devices. Now since this kernel version has not made it into the distributions I will be doing some testing on this and documenting processes to get this into different distributions. These instructions are not perfect USE AT YOUR OWN RISK!
This article will document the process for getting synthetic devices on Ubuntu Karmic Koala, other Ubuntu's and Debians will be similar but different due to the change from Grub to Grub2. In my environments I will be using the server platform and amd64 architecture.
Now go ahead and install a virtual machine with Ubuntu 9.10 Server. My VM was a single processor, 1GB of RAM, 40GB VHD, and both an emulated and synthetic NIC (each with a randomly generated static MAC - by SCVMM). Additionally I will assume everything is done as root, this will require that you get a root prompt authenticated as yourself (sudo -s) or that you set a password to the root account (sudo passwd root).
Download and Install the Kernel Image
# wget http://us.archive.ubuntu.com/ubuntu/pool/main/l/linux/linux-image-2.6.32-5-server_2.6.32-5.6_amd64.deb
# dpkg -i linux-image-2.6.32-5-server_2.6.32-5.6_amd64.deb
Ensure the Default Kernel is Correct (may not be applicable)
# nano /boot/grub/grub.cfg
Update the Network Configuration
# nano /etc/network/interfaces
auto seth0 iface
seth0 inet dhcp
Configure Modules to Load on Boot
# nano /etc/initramfs-tool/modules
hv_vmbus
hv_netvsc
#hv_blkvsc
#hv_storvsc
# update-initramfs -u
Due to the errors I have seen in /var/log/messages and /var/log/dmesg I am recommending not enabling the hv_storvsc or the hv_blkvsc module at this time. Though feel free to at your own risk (simply remove the comments from the hv_blkvsc and hv_storvsc from the /etc/initramfs-tools/modules file and then update the initrd file.
[ 3.387061] STORVSC: WARNING! cmd 0x25 scsi status 0x2 srb status 0x84
[ 3.387066]
[ 3.387069] STORVSC: WARNING! storvsc pkt ffff88002fe74700 autosense data valid - len 18
[ 3.387070]
[ 3.387079] blkvsc: Sense Key : Not Ready [current]
[ 3.387090] blkvsc: Add. Sense: Medium not present
[ 3.474061] STORVSC: WARNING! cmd 0x25 scsi status 0x2 srb status 0x84
[ 3.474066]
[ 3.474069] STORVSC: WARNING! storvsc pkt ffff88002fe75780 autosense data valid - len 18
[ 3.474071]
[ 3.474084] blkvsc: Sense Key : Not Ready [current]
[ 3.474098] blkvsc: Add. Sense: Medium not present
[ 3.513013] STORVSC: WARNING! cmd 0x25 scsi status 0x2 srb status 0x84
[ 3.513018]
[ 3.513021] STORVSC: WARNING! storvsc pkt ffff88002fe74180 autosense data valid - len 18
[ 3.513022]
[ 3.513032] blkvsc: Sense Key : Not Ready [current]
[ 3.513042] blkvsc: Add. Sense: Medium not present
[ 3.625425] STORVSC: WARNING! cmd 0x25 scsi status 0x2 srb status 0x84
[ 3.625427]
[ 3.625429] STORVSC: WARNING! storvsc pkt ffff88002fe76540 autosense data valid - len 18