I have a problem related to installing Hyper-V on Windows 8.1 Pro x64.
I decided to experiment with some Windows Phone 8 programming. In order to install the simulator I need to have Hyper-V platform installed. I've recently bought Lenovo Yoga 2 Pro. It came with window 8.1. I've updated it to 8.1 Pro. The CPU is Core i7-4500U so it supports needed CPU virtualization instructions (additionally enabled in the BIOS).
When I enable Hyper-V platform windows feature everything is installed just fine (or so it seems) without any errors or warnings. I get the "Windows needs to reboot your PC to finish installing the requested changes." prompt and I click on "restart now" button. And here the things get weird. During the restart I see the common "adding/configuring new feature" windows message until the progress reaches 93%. Then some sort of an error occurs and I get a message saying the changes could not be applied and the system is "undoing changes". As you can guess after the system boots the Hyper-V platform is not installed.
I've done some digging about what has gone wrong and I found the following lines in the logs (C:\Windows\Logs\CBS)
2013-12-12 21:59:31, Info CSI 000000a8 Begin executing advanced installer phase 38 (0x00000026) index 124 (0x000000000000007c) (sequence 163)
Old component: [l:0]""
New component: [ml:318{159},l:316{158}]"Microsoft-Hyper-V-Drivers-VmSwitch, Culture=neutral, Version=6.3.9600.16423, PublicKeyToken=31bf3856ad364e35, ProcessorArchitecture=amd64, versionScope=NonSxS"
Install mode: install
Installer ID: {81a34a10-4256-436a-89d6-794b97ca407c}
Installer name: [15]"Generic Command"
2013-12-12 21:59:31, Info CSI 000000a9 Performing 1 operations; 1 are not lock/unlock and follow:
(0) LockComponentPath (10): flags: 0 comp: {l:16 b:7534f8ab74f7ce015f0000006002fc01} pathid: {l:16 b:7534f8ab74f7ce01600000006002fc01} path: [l:226{113}]"\SystemRoot\WinSxS\amd64_microsoft-hyper-v-drivers-vmswitch_31bf3856ad364e35_6.3.9600.16423_none_5a097ab253e42b0f" pid: 260 starttime: 130313519618461394 (0x01cef774a64a0ed2)
2013-12-12 21:59:31, Info CSI 000000aa Calling generic command executable (sequence 1): [30]"C:\windows\System32\netcfg.exe"
CmdLine: [51]""C:\windows\System32\netcfg.exe" -e -c s -i VMS_VSF"
2013-12-12 21:59:31, Info CSI 000000ab Performing 1 operations; 1 are not lock/unlock and follow:
(0) LockComponentPath (10): flags: 0 comp: {l:16 b:a0f91bac74f7ce01610000006002fc01} pathid: {l:16 b:a0f91bac74f7ce01620000006002fc01} path: [l:234{117}]"\SystemRoot\WinSxS\x86_microsoft.windows.s..ation.badcomponents_31bf3856ad364e35_6.3.9600.16384_none_cd3183f2deb856d2" pid: 260 starttime: 130313519618461394 (0x01cef774a64a0ed2)
2013-12-12 21:59:31, Info CSI 000000ac Creating NT transaction (seq 3), objectname [6]"(null)"
2013-12-12 21:59:31, Info CSI 000000ad Created NT transaction (seq 3) result 0x00000000, handle @0x3ac
2013-12-12 21:59:31, Info CSI 000000ae@2013/12/12:19:59:31.610 Beginning NT transaction commit...
2013-12-12 21:59:31, Info CSI 000000af@2013/12/12:19:59:31.626 CSI perf trace:
CSIPERF:TXCOMMIT;28645
2013-12-12 21:59:31, Error CSI 000000b0 (F) Done with generic command 1; CreateProcess returned 0, CPAW returned S_OK
Process exit code 41001 (0x0000a029) resulted in success? FALSE
Process output: [l:74 [74]"Trying to install VMS_VSF ...
... failed. Error code: 0x8004a029.
"][gle=0x80004005]
2013-12-12 21:59:31, Info CSI 000000b1 Calling generic command executable (sequence 2): [30]"C:\windows\System32\netcfg.exe"
CmdLine: [50]""C:\windows\System32\netcfg.exe" -e -c p -i VMS_PP"
2013-12-12 21:59:31, Info CBS Progress: UI message updated. Operation type: Foundation. Stage: 1 out of 1. Percent progress: 93.
2013-12-12 21:59:31, Info CBS Winlogon: TiCoreOnCreateSession has been called
2013-12-12 21:59:35, Info CSI 000000b2 Done with generic command 2; CreateProcess returned 0, CPAW returned S_OK
Process exit code 0 resulted in success? TRUE
Process output is throttled for successful Generic Commands
2013-12-12 21:59:35, Info CSI 000000b3 Calling generic command executable (sequence 3): [30]"C:\windows\System32\netcfg.exe"
CmdLine: [51]""C:\windows\System32\netcfg.exe" -e -c p -i VMS_VSP"
2013-12-12 21:59:35, Info CSI 000000b4 Done with generic command 3; CreateProcess returned 0, CPAW returned S_OK
Process exit code 0 resulted in success? TRUE
Process output is throttled for successful Generic Commands
2013-12-12 21:59:35, Error [0x018007] CSI 000000b5 (F) Failed execution of queue item Installer: Generic Command ({81a34a10-4256-436a-89d6-794b97ca407c}) with HRESULT HRESULT_FROM_WIN32(14109). Failure will not be ignored: A rollback will be initiated after all the operations in the installer queue are completed; installer is reliable (2)[gle=0x80004005]
For a reason unknown to me the "C:\windows\System32\netcfg.exe" -e -c s -i VMS_VSF" operation fails and I guess this is the source of the problem. Here is a link to the log snipped in SkyDrive.
Some more additional information
UPDATE1: I'm continuing my quest for a solution and I found information that might me useful. I found a few web pages saying that "Error code: 0x8004a029 is NETCFG_E_MAX_FILTER_LIMIT". From MSDN:
NETCFG_E_MAX_FILTER_LIMIT Indicates that the application is trying to install a filter device, but the maximum number of filter devices that the system supports has already been reached.
I cannot yet find reliable information that maps this error code to that constant. But this looks like a possible reason for the problem. In this "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network{4d36e974-e325-11ce-bfc1-08002be10318}" registry entry I have 14 records (by some sources this is maximum possible count of windows filter drivers). In this registry entry according some sources I could find the count of installed windows filter drivers.
I guess I had to clean the Lenovo bloatware better. It is getting late here now, i'll write tomorrow with details.
p.s. I'm using expressions like "a few web pages" and "some sources" because I need at least 10 reputation points to post more than 2 URLs. If you search the web for those specific keys and codes you'll find the sources I'm referring.
I've managed to find a solution of the problem.
First thing what was the problem: The one described in the UPDATE1 of the question. I've reached the max possible count of the installed system filter drivers. What kind of applications can installed filter drivers: firewalls, VPN clients, VM platforms (obviously;), some monitoring applications. In this link I've found useful information and PowerShell scripts related to filter drivers.
Solutions:
Although I've encountered this problem when installing Hyper-V platform as you can guess this is a very generic error and it can be triggered when installing any kind of software that depends on system filter drivers (e.g. VPN clients which I've installed before the Hyper-V platform).
Disabling antivirus helped (McAfee in my case but a saw the same issue reports with avast).
I also got a similar error while trying to add the HyperV feature to windows 8. I really needed it because it was a prerequisite for installing HAXM for android studio. None of these registry editing and stuff helped me. The solution however was more simple than i thought: Do the following: 1. Make sure you are using Windows 8 or 8.1 pro, if not upgrade 2. You should then go to the BIOS prompt and enable the Hypervisor Technology,it should be under Power options or security options 3. Once done, you should see the HyperV component in the "Programs and Features" menu when you click add or remove feature. Please note that if your system does not support HyperV or any of the VT-x technologies, that option will be grayed out. 4. Turn off any softwares that may use a virtual machine, I turned off Avast Antivirus and it did the trick. So turn off Kaspersky and any other intensive applications 5. Add the feature and click ok. It should add the HyperV feature and restart PS* It worked for me, Avast. was my main problem. I hope this solution works for you too
User contributions licensed under CC BY-SA 3.0