How to install Hyper-V Integration Services (ICs) in Ubuntu 12.04 LTS

UbuntuAfter you install the guest OS on the virtual machine in Hyper-V, you need to to install the Hyper-V Integration Services in the guest OS. Since the Hyper-V Integration Components were contributed to Linux, they’ve been included in recent versions of the Linux kernel. With distributions based on newer builds of the Linux kernel (2.6.32 and after) you can add high performance support for Hyper-V without the need to download the Linux Integration Components (ICs) from Microsoft.

For Ubuntu 12.04 the following Hyper-V integration services are available: time synchronization, operating system shutdown, and heartbeat. Also, included are the following drivers: IDE, SCSI, networking, and mouse. Microsoft’s About Virtual Machines and Guest Operating Systems article provides a list of guest operating systems and features that are supported for Hyper-V in Windows Server 2008 R2, Hyper-V in Windows Server 2008 with Service Pack 2, and Hyper-V version 1. For a list of guest OS support in Hyper-V role in Windows Server 2012 see Hyper-V Overview in TechNet.

In this post I am using Ubuntu 12.04 LTS as the guest OS and Hyper-V role in Windows Server 2012 as the hypervisor. As mentioned earlier, integration services are built-in (since Ubuntu version 10.10) and do not require a separate download and installation — the ICs just need to be activated. To enable the integration services you will need to edit the modules file located in /etc/initramfs-tools. Below are the step by step instructions on how to do so in vi:

sudo vi /etc/initramfs-tools/modules

In vi navigate to the last line in the file and use the insert ( I ) command to append a new line below this one. Enter the following four lines:

hv_vmbus
hv_storvsc
hv_blkvsc
hv_netvsc

/etc/initramfs-tools/modules

Save the file by hitting the Esc key and issuing the save and exit ( : x ) command. Once the modules file has been updated, the following command needs to be executed:

sudo update-initramfs –u

At this point the guest OS needs to be rebooted:

sudo shutdown -r now

After the virtual machine reboots, run the following command to check if the modules are enabled:

lsmod

lsmod results

The ICs work great, but the version of the Integration Components is not the exact same one that Windows Server 2012 is expecting (same issues reported with Windows Server 2008 R2). You might see event log entries similar to the ones below. These messages can be safely ignored.

  • Networking driver on ‘Virtual Machine’ loaded but has a different version from the server. Server version 3.2 Client version 2.0 (Virtual machine ID DC1CCF5C-0C1A-4825-B32C-9A4F8F85AA9D). The device will work, but this is an unsupported configuration. This means that technical support will not be provided until this problem is resolved. To fix this problem, upgrade the integration services. To upgrade, connect to the virtual machine and select Insert Integration Services Setup Disk from the Action menu.
  • A storage device in ‘Virtual Machine’ loaded but has a different version from the server. Server version 4.2 Client version 2.0 (Virtual machine ID DC1CCF5C-0C1A-4825-B32C-9A4F8F85AA9D). The device will work, but this is an unsupported configuration. This means that technical support will not be provided until this problem is resolved. To fix this problem, upgrade the integration services. To upgrade, connect to the virtual machine and select Insert Integration Services Setup Disk from the Action menu.


The comment about support can show up for any version of Linux –- whether it is supported or not due to the timing related to the code release.

About Dan Perelman

IT management professional focused on messaging and collaboration systems, server/desktop management and virtualization, backup/disaster recovery.
This entry was posted in How To, Operating Systems, Virtualization and tagged , , , , . Bookmark the permalink.

One Response to How to install Hyper-V Integration Services (ICs) in Ubuntu 12.04 LTS

  1. Andrew Zimmerman says:

    Thanks bud

Leave a Reply