<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[gOxiA=苏繁=SuFan Blog]]></title> 
<link>https://maytide.net/index.php</link> 
<description><![CDATA[gOxiA,苏繁,sufan,Microsoft MVP]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[gOxiA=苏繁=SuFan Blog]]></copyright>
<item>
<link>https://maytide.net/read.php/1883.htm</link>
<title><![CDATA[HOWTO: 解决 Windows 10 Hyper-V Host Compute 启动故障 0x80070005]]></title> 
<author>gOxiA &lt;sufan_cn@msn.com&gt;</author>
<category><![CDATA[Windows Client]]></category>
<pubDate>Tue, 24 Apr 2018 08:52:22 +0000</pubDate> 
<guid>https://maytide.net/read.php/1883.htm</guid> 
<description>
<![CDATA[ 
	<p><a href="http://goxia.maytide.net/ftpupfiles/897c5f6f7a19_E4B6/windows-10-508x192-logo_3.png"><img alt="" src="http://goxia.maytide.net/attachment.php?fid=49" border="0"></a></p>&nbsp;&nbsp;<p>HOWTO: 解决 Windows 10 Hyper-V Host Compute 启动故障 0x80070005</p>&nbsp;&nbsp;<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 今天微软为 Windows 10 v1709 发布了新的累计更新 KB4093105（16299.402），解决了不少的问题，于是 <a href="http://goxia.maytide.net" target="_blank">gOxiA</a> 一早更新了这个补丁，但在更新完毕重启后发现 Hyper-V 无法使用，但在已知问题列表中未查询到有价值的信息。</p>&nbsp;&nbsp;<p><a href="http://goxia.maytide.net/ftpup/2017/HOWTO--Windows-10-Hyper-V-_CA0F/Snipaste_2018-04-24_13-29-53.png"><img width="356" height="297" title="Snipaste_2018-04-24_13-29-53" style="display: inline; background-image: none;" alt="Snipaste_2018-04-24_13-29-53" src="http://goxia.maytide.net/ftpup/2017/HOWTO--Windows-10-Hyper-V-_CA0F/Snipaste_2018-04-24_13-29-53_thumb.png" border="0"></a></p>&nbsp;&nbsp;<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 打开服务管理器（Services.msc）检查 Hyper-V 相关服务，发现 Hyper-V Host Compute Service 服务无法正常启动，提示 0x80070005 访问拒绝。而在事件查看器中也找到了这个事件的记录。</p>&nbsp;&nbsp;<p><a href="http://goxia.maytide.net/ftpup/2017/HOWTO--Windows-10-Hyper-V-_CA0F/Snipaste_2018-04-24_13-41-28.png"><img width="408" height="176" title="Snipaste_2018-04-24_13-41-28" style="display: inline; background-image: none;" alt="Snipaste_2018-04-24_13-41-28" src="http://goxia.maytide.net/ftpup/2017/HOWTO--Windows-10-Hyper-V-_CA0F/Snipaste_2018-04-24_13-41-28_thumb.png" border="0"></a></p>&nbsp;&nbsp;<p><a href="http://goxia.maytide.net/ftpup/2017/HOWTO--Windows-10-Hyper-V-_CA0F/Snipaste_2018-04-24_13-40-28.png"><img width="604" height="424" title="Snipaste_2018-04-24_13-40-28" style="display: inline; background-image: none;" alt="Snipaste_2018-04-24_13-40-28" src="http://goxia.maytide.net/ftpup/2017/HOWTO--Windows-10-Hyper-V-_CA0F/Snipaste_2018-04-24_13-40-28_thumb.png" border="0"></a></p>&nbsp;&nbsp;<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 抓包大概看了一下，在栈中比较可疑的是“mmunsecurevirtualmemory”，貌似因为传递了未加密的虚拟内存数据，难不成因为什么安全规则导致的？！但貌似这函数与Hyper-V也没有直接的关系，Bing 了一下也没什么参考资料，也许这个思路就是错误的！！！</p>&nbsp;&nbsp;<p><a href="http://goxia.maytide.net/ftpup/2017/HOWTO--Windows-10-Hyper-V-_CA0F/Snipaste_2018-04-24_16-32-29.png"><img width="604" height="307" title="Snipaste_2018-04-24_16-32-29" style="display: inline; background-image: none;" alt="Snipaste_2018-04-24_16-32-29" src="http://goxia.maytide.net/ftpup/2017/HOWTO--Windows-10-Hyper-V-_CA0F/Snipaste_2018-04-24_16-32-29_thumb.png" border="0"></a></p>&nbsp;&nbsp;<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 之后也想过用 WinDbg 附加到该服务上看看具体过程，但使用 gflags 附加 vmcompute.exe 未能成功启动 WinDbg，也没再深入研究为什么！！迷茫中，想起来同系统版本的其他机器也打了补丁，倒是没有发生这个故障，比较了两个系统设置，唯独是正常运行Hyper-V的机器禁用了 Defender，之后做了对比和测试找到了影响 Hyper-V 服务启动的根因——Control Flow Guard（CFG），Exploit protection 的一个子功能。有关 CFG 的介绍可以参考官方文档：“<a href="https://msdn.microsoft.com/en-us/library/windows/desktop/mt637065(v=vs.85).aspx" target="_blank">Control Flow Guard</a>”。</p>&nbsp;&nbsp;<p><a href="http://goxia.maytide.net/ftpup/2017/HOWTO--Windows-10-Hyper-V-_CA0F/ControlFlowGuard.png"><img width="282" height="508" title="ControlFlowGuard" style="display: inline; background-image: none;" alt="ControlFlowGuard" src="http://goxia.maytide.net/ftpup/2017/HOWTO--Windows-10-Hyper-V-_CA0F/ControlFlowGuard_thumb.png" border="0"></a></p>&nbsp;&nbsp;<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 结论，当 CFG 为关闭状态时就会导致 Hyper-V Compute Service服务启动失败，所以必须将其设置为“On by default”。其中的“奥妙”也许只能期待以后微软方面能给出详细的说明！</p>
]]>
</description>
</item><item>
<link>https://maytide.net/read.php/1883.htm#blogcomment5203</link>
<title><![CDATA[[评论] HOWTO: 解决 Windows 10 Hyper-V Host Compute 启动故障 0x80070005]]></title> 
<author>游客 &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 03 May 2018 15:43:55 +0000</pubDate> 
<guid>https://maytide.net/read.php/1883.htm#blogcomment5203</guid> 
<description>
<![CDATA[ 
	记得以前在哪看过，从v1709还是v1803开始，如果VMconnect.exe被第三方DLL注入就将无法启动，不过时间有点长不记得是什么地方看到的了，估计也是使用了控制流量守卫（CFG）或者代码完整性保护（CIG），感觉可能跟本文内容有些关系故贴出来
]]>
</description>
</item>
</channel>
</rss>