无法在 Windows 8.1 Pro 上安装 Hyper-V 平台

Bo.*_*Bo. 10 virtualization hyper-v installation windows-8 windows-8.1

我有一个与在 Windows 8.1 Pro x64 上安装 Hyper-V 相关的问题。

我决定尝试一些 Windows Phone 8 编程。为了安装模拟器,我需要安装 Hyper-V 平台。我最近买了联想 Yoga 2 Pro。它带有窗口 8.1。我已将其更新为 8.1 Pro。CPU 是 Core i7-4500U,因此它支持所需的 CPU 虚拟化指令(在 BIOS 中另外启用)。

当我启用 Hyper-V 平台窗口功能时,一切都安装得很好(或者看起来如此),没有任何错误或警告。我收到“Windows 需要重新启动您的 PC 才能完成安装请求的更改”。提示,我单击“立即重新启动”按钮。事情变得很奇怪。在重新启动期间,我会看到常见的“添加/配置新功能”窗口消息,直到进度达到 93%。然后发生某种错误,我收到一条消息,说无法应用更改并且系统正在“撤消更改”。正如您在系统启动后所猜测的那样,Hyper-V 平台并未安装。

我已经对出了什么问题进行了一些挖掘,我在日志中发现了以下几行 (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]
Run Code Online (Sandbox Code Playgroud)

由于我不知道的原因,“ C:\windows\System32\netcfg.exe” -e -cs -i VMS_VSF “操作失败,我猜这是问题的根源。 这是 SkyDrive 中截取的日志的链接.

一些额外的信息

  • 我尝试过此处描述的“解决方案” 但我认为这是针对不同问题的解决方案。
  • 我尝试使用 powershell 安装 Hyper-V,但出现相同的错误:Enable-WindowsOptionalFeature -Online –FeatureName Microsoft-Hyper-V -All
  • 如果您想知道我可以安装 Hyper-V 管理工具。

UPDATE1: 我正在继续寻求解决方案,我发现了可能对我有用的信息。我发现一些网页说“错误代码:0x8004a029 是 NETCFG_E_MAX_FILTER_LIMIT ”。来自 MSDN:

NETCFG_E_MAX_FILTER_LIMIT 表示应用程序正在尝试安装过滤设备,但已达到系统支持的最大过滤设备数。

我还无法找到将此错误代码映射到该常量的可靠信息。但这看起来是问题的可能原因。在此“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network{4d36e974-e325-11ce-bfc1-08002be10318}”注册表项中,我有 14 条记录(根据某些来源,这是 Windows 过滤器驱动程序的最大可能计数)。根据某些来源,在此注册表项中,我可以找到已安装的 Windows 过滤器驱动程序的数量。

我想我必须更好地清洁联想英国媒体报道软件。现在已经很晚了,我明天会写详细的。

ps 我使用诸如“一些网页”和“一些来源”之类的表达方式,因为我需要至少 10 个信誉点才能发布 2 个以上的 URL。如果您在网络上搜索这些特定的键和代码,您会找到我所指的来源。

Bo.*_*Bo. 1

我已经设法找到问题的解决方案。

第一件事是什么问题:问题的UPDATE1中描述的问题。我已达到已安装系统过滤器驱动程序的最大可能数量。什么样的应用程序可以安装过滤驱动程序:防火墙、VPN客户端、VM平台(显然;)、一些监控应用程序。在此链接中,我找到了与过滤器驱动程序相关的有用信息和 PowerShell 脚本。

解决方案:

  • 卸载以前安装过的过滤器驱动程序的软件。
  • 增加允许的最大系统筛选驱动程序的数量。您可以通过更改“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\MaxNumFilters”注册表项的值来执行此操作。我个人将该值设置为 0x14(十六进制)。我选择了这个解决方案。

虽然我在安装 Hyper-V 平台时遇到了这个问题,你可以猜到这是一个非常普遍的错误,并且在安装任何依赖于系统过滤驱动程序的软件(例如我之前安装的 VPN 客户端)时都可能会触发它Hyper-V 平台)。