Save to My DOJO
If you take the tech writing industry a little too seriously, you’d be led to believe that everyone is always right at the forefront of technology, deploying new operating systems as soon as they hit the shelves and discarding old environments before they can get more than one version behind.
The reason for that is simple. Most tech writers fit one of three categories:
- First is the professional full-time writer, who mostly gets to write about the newest, hottest things.
- Second is the trainer, who mostly gets called to teach about the newest, hottest things.
- The third is the reseller/implementer/sales engineer that gets called to demonstrate and sell the newest, hottest things.
Guys like me are the exception. We’re the ones that pass our 9-5s in much the same way that you do: dreamily reading all about the newest, hottest things on one monitor while feverishly remoted into some ailing, archaic system on the other.
Part of our reality is that we have to maintain older guest operating systems on our hypervisors. One of the many issues that come along with that is the maintenance of Hyper-V’s Integration Services.
Beginning with Windows 7 and Windows Server 2008 R2, the Integration Services are built-in. Unlike most other natively present operating system components, they are never updated by Windows Update or any other standard patch management system. Instead, versioning is handled by the host. Sort of. As a great many of those previously mentioned tech writers are anxious to point out, Microsoft is planning to shift this behavior so that the Integration Services are delivered via Windows Update.
What they’re not as quick to point out is that Microsoft almost never backports any built-in operating system technology, so this new feature will likely be exclusively available to Windows 10 and Windows Server 2016 and later as both host and guests. If you adhere to the mythos created by the tech writing industry, then you’ll immediately chuck all of your 2012 R2 and lower operating systems and never have to deal with what I’m about to tell you. Even if you want to do that, you’re not going to be able to, so reading on is still worth your time.
Updating Integration Services
Fortunately, updating Integration Services is a very simple process using VMConnect.exe. This tool is most easily accessed using Hyper-V Manager.
- Open Hyper-V Manager and select the owning host in the left pane.
- In the center pane, right-click the virtual machine to update and click Connect.
- This will open the VMConnect.exe application, which functions like a console connection to the virtual machine.
- It’s not strictly necessary to log in first, but doing so allows you to take advantage of Autoplay. Press [CTRL]+[ALT]+[End] to send an emulated [CTRL]+[ALT]+[Del] to the guest. It’s also the top item under the Action menu, pictured in the next screen shot.
- When logged in, insert the Integration Services disk by selecting Insert Integration Services Setup Disk in the Action menu:
- What happens next depends on your logged in status and if autoplay is enabled.
- If you are logged in and autoplay is enabled, you will see the following screenshot. Click Install Hyper-V Integration Services.
- If you weren’t logged in when the disk was inserted or if autoplay is disabled, use Windows Explorer or an elevated command prompt in the guest and navigate to D:supportx86. From there, run setup.exe.
- If you are logged in and autoplay is enabled, you will see the following screenshot. Click Install Hyper-V Integration Services.
- For operating systems that already have components either integrated or previously installed, you’ll be prompted to replace them. Click OK.
- You’ll be shown a progress bar with the text indicating which step it is on:
- Finally, you’ll be asked to reboot the guest. Once the guest finishes booting, the update process will be complete.
- The Integration Services disk image will be left in the guest’s virtual drive. To remove it, click the Media menu item in the VMConnect console. Then hover over DVD Drive and click Eject vmguest.iso on the sub-menu that appears.
Detecting Outdated Integration Services
If your guest operating system is older than your host, then it’s guaranteed to have outdated Integration Services. A patch of the host may cause the image to be updated so that even guests with a current OS are out of date. There are three quick ways to know.
Detecting Outdated Integration Services Using Hyper-V Manager
Hyper-V Manager is one of the fastest ways to know if a virtual machine’s Integration Services are out of date.
- Open Hyper-V Manager. In the left pane, click the host that owns the virtual machine to check.
- In the center pane, check the bottom division that contains information about the guest. Look for the Integration Services heading.
Be aware that Linux guests will not report a status.
Detecting Outdated Integration Services Using Event Viewer
Event Viewer contains a number of Hyper-V-related subtrees. You can use two of them to detect out-of-date Integration Services. Start by opening Event Viewer on the virtual machine’s host.
Event Viewer’s Hyper-V-Integration Subtree
Navigate to Applications and Services Logs -> Microsoft -> Windows -> Hyper-V-Integration -> Admin. If you see event IDs 4000 and/or 4010, they’ll tell you precisely which service on which virtual machine is outdated.
4000 is an error condition; the Integration Service indicated in the Source field will not work at all until the Integration Services are updated:
4010 is a warning condition; the Integration Service indicated in the Source field might work, but might not have complete functionality until the Integration Services are updated:
Event Viewer’s Hyper-V-Worker Subtree
Navigate to Applications and Services Logs -> Microsoft -> Windows -> Hyper-V-Worker -> Admin. If you see event ID 23014, this will indicate that one of the drivers in the guest operating system is out of date:
Event Viewer’s System Log
A few entries will bubble up all the way to the main system log. Event ID 27 from source Hyper-V-VmSwitch is a message about the guest’s network driver and looks much like event ID 23014 pictured above. It is not logged under the Hyper-V-VmSwitch branch, however. Event ID 6 from source storvsp is about the guest’s storage driver. It also looks similar to 23014 and is also not found in the Hyper-V-specific logs.
Detecting Outdated Integration Services Using PowerShell
PowerShell is likely the quickest way to detect the status of multiple virtual machine’s simultaneously. The basic structure is like this:
Get-VM | select VMName, IntegrationServicesState
That will produce output like the following:
It’s a bit to type, but the output is clear. Any VM not reporting a status is not turned on or is running Linux.
Integration Services Installation Notes
- This post is intended to be a tutorial, not a deep dive into the Integration Services. For more information about what they are and what they provide, you can consult our previous article series.
- The vmguest.iso image exists in C:WindowsSystem32 on every host running Hyper-V. It is regenerated automatically at boot from the files in C:Windowsvmguest.
- If you will performing a physical-to-virtual (P2V) conversion, you can use the files from either location in the previous bullet point before making the conversion. This might ease some transition issues. The same is true for virtual-to-virtual conversions from a non-Microsoft hypervisor. Remember to remove any integration services from other hypervisors first!
- For ordinary operations, leaving a disk in a virtual DVD drive isn’t harmful. Because vmguest.iso is mounted from the host’s C: drive, it can prevent clustered virtual machines from being Live Migrated. Ensure that you remove the disk after updating Integration Services.
- Do not install Integration Services for a different level of the hypervisor than the guest will be used with. It can lead to broken components and erratic behavior.
- Once installed, the Integration Services update can be removed, although it may not be obvious which it is. On Windows Server 2008 R2, you can set the Programs and Features applet to View installed updates and look for KB955484.
Not a DOJO Member yet?
Join thousands of other IT pros and receive a weekly roundup email with the latest content & updates!
55 thoughts on "How To Install Integration Services in Hyper-V"
In the real world, you pretend to talk about, there is no vmguest.iso anymore in Windows 10 r.1511.
You’re not able to install integration services in a Vista guest at a Windows 10 host, and vista is not out of support!
I was able to install some drivers so that there is no exclamation mark in device manager anymore, but no integration services.
Regards
Uwe
“Pretend”? I’m not sure if you intended that to be rude, but it is. Since the technique explained in the article works for every released version of server-based Hyper-V (2008, 2008 R2, 2012, and 2012 R2) which are all very much real world products, and because I typically write about Hyper-V and not Client Hyper-V, I don’t think this comment is relevant to the article’s contents. Perhaps a few articles on Client Hyper-V in Windows 10 are necessary.
Sorry, I did not want to be rude, my english is not good enough I see.
I agree to your answer.
Uwe
No harm done. I’ll look into the issues with Integration Services in Client Hyper-V. I assume that the same things will crop up in Server 2016.
Hello,
have the same question, not only for client Hyper-V…
Found the following statement from Microsoft: For Windows Server 2016 the Integration Services are installed through WSUS… the vmguest.iso is no longer included with Hyper-V.
(Source: https://technet.microsoft.com/en-us/library/dn765471.aspx#BKMK_IS)
It seems that this also the case for Windows 10 Hyper-V, found no vmguest.iso.
Found the following website with additional information and download links:
Title: Hyper-V integration components update for Windows virtual machines that are running on a Windows 10-based host
Source: https://support.microsoft.com/en-us/kb/3071740
Bernhard
WS2016 is not a released product yet. I don’t know what Microsoft’s final solution will be, but by taking cues from their exclusion of still-supported operating systems as guests of 2012 R2, I suspect that Microsoft will not bother to release updated integration services for anything prior to 8.1. I’d find an updated vmguest.iso from 2012 R2 and use that. Not ideal, but better than nothing.
In the real world, you pretend to talk about, there is no vmguest.iso anymore in Windows 10 r.1511.
You’re not able to install integration services in a Vista guest at a Windows 10 host, and vista is not out of support!
I was able to install some drivers so that there is no exclamation mark in device manager anymore, but no integration services.
Regards
Uwe
Hello,
have the same question, not only for client Hyper-V…
Found the following statement from Microsoft: For Windows Server 2016 the Integration Services are installed through WSUS… the vmguest.iso is no longer included with Hyper-V.
(Source: https://technet.microsoft.com/en-us/library/dn765471.aspx#BKMK_IS)
It seems that this also the case for Windows 10 Hyper-V, found no vmguest.iso.
Found the following website with additional information and download links:
Title: Hyper-V integration components update for Windows virtual machines that are running on a Windows 10-based host
Source: https://support.microsoft.com/en-us/kb/3071740
Bernhard
Eric,
In small environments is OK to install the integration service manually.
Can’t you write a good article how to automate the process with powershell in large environments?
Well, yes I could, but I don’t know why someone wanting to affect a lot of virtual machines in a large environment would be looking in our “Hyper-V Tutorials” section in the first place. Maybe I’m misreading the audiences out there but I would assume someone operating at that level is past needing tutorial material?
We can queue something up for the PowerShell and Hyper-V series though.
Eric,
In small environments is OK to install the integration service manually.
Can’t you write a good article how to automate the process with powershell in large environments?
Ran into a similar problem with Server 2012 and installing a test XP vm (not vmguest support for XP on 2012) – then ran into this specific problem running Windows 10 on my test WS/Laptop HV environment.
To side-step these issues I keep prior copies of vmguest.iso available and install the integration services as needed – not requiring a connection to WSUS or Windows update.
Ran into a similar problem with Server 2012 and installing a test XP vm (not vmguest support for XP on 2012) – then ran into this specific problem running Windows 10 on my test WS/Laptop HV environment.
To side-step these issues I keep prior copies of vmguest.iso available and install the integration services as needed – not requiring a connection to WSUS or Windows update.
I think there is still a problem with integration services especially in mixed host settings. For example, I have a Windows 2012 R2 server originally created and hosted on a 2012 Hyper-V server. I moved the VM to a Hyper-V host running 2016 TP 5. Of course the guest services show as degraded. But because Microsoft deprecated the vmguest.iso file, there’s no easy way to upgrade tools.
Integration Services are now updated via Windows Update, which is why there is no longer an included vmguest.iso
https://technet.microsoft.com/en-us/windows-server-docs/compute/hyper-v/what-s-new-in-hyper-v-on-windows?
Integration Services are now updated via Windows Update, which is why there is no longer an included vmguest.iso
https://technet.microsoft.com/en-us/windows-server-docs/compute/hyper-v/what-s-new-in-hyper-v-on-windows?
I’ve just created Server 2012 VM on Vmm 2012 but the problem is because the type of OS is not in the list the virtual machine guest services is Not Detected! I did try to install it on the server but it failed!
Sorry I meant server 2016!
Unless they patch VMM to recognize the newer OS, there’s not a lot you can do. But do not try to manually install integration services into 2016.
what about virtual linux servers ?
can we do anything about them ?
Integration services have been part of the Linux kernel for some time now.
For older kernels, you can manually download and install them.
Start at Microsoft’s page on Linux support for more information: https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/supported-linux-and-freebsd-virtual-machines-for-hyper-v-on-windows
Hello,
I came across this site due to a problem I’m having with Live migration on Windows Server 2016gr. I have a Cluster of 4 Physical servers running WS2016 All my Virtual machines are also running WS2016.
As of July 28, 2017 I applied windows updates to all cluster servers and VM’s. Now I’m unable to live migrate any virtual machines. The following error was stated In my VMM;
Unable to migrate or clone the virtual machine lab-waptenant1 because the version of virtualization software on the host does not match the version of virtual machine’s virtualization software on source (10.0.14393.1358). To be migrated or cloned, the virtual machine must be stopped and should not contain any saved state.
Any suggestions would be appreciated
Thank you
Can someone show me the steps for Integrating a virtual server with a physical network using Hyper-V?