Windows 8.1系统的主机文件可以正常使用,但不知怎的突然失败了。最近,为了分析具体原因,让我们给你们演示一下测试。





我不知道您是否遇到了主机文件故障的问题,最初我的Windows 8.1系统主机文件可以正常使用,但最近我突然莫名其妙地失败了,主机文件失效给我带来了很多麻烦。为了分析具体原因,我将给你一个演示测试。


可以看出,主机文件的路径是正确的,只有一个线图来确保没有其他干扰项。 U3000 U3000


ipconfig / flushdns用于清除DNS缓存,我也停止了DNS客户端服务。然后继续平和回到真正的DNS解析地址。 U3000 U3000


如图所示,系统的权限也被分配。

情况就是这样,我也不知道为什么最近突然失效了。

分析与处理

根据我的猜测,我使用消息记录器跟踪与主机文件相关的系统消息。为了比较,我同时在Windows 8.1和运行WindowsXP的虚拟机上进行比较。

首先,我发现所有的程序,有网络通信功能将检测是否是在hkey_local_machine 系统 CurrentControlSet 服务 dnscache 参数和数据是否有或没有usehostsfile价值。但我发现,无论XP或8.1,有没有这样的价值。但根据以往的实验,它是已知的,XP可以读取主机文件正常,因此可以断定,这是无关紧要的。但根据这一判断,原dnscache服务(即在服务显示服务DNS客户端,用于缓存DNS解析的结果),可以手动力不懂主机文件,修改键值。

然后我发现了一个奇怪的现象。我每次手动修改hosts文件,一个Svchost.exe命名过程将尝试在8.1访问主机文件,但原来是访问拒绝。在XP下,具有相同名称的过程中也试图访问主机文件,但结果是成功的。

根据消息日志提供的进程的PID,这是追踪到它所携带的服务普遍服务是DNS客户端。可以断定,DNS客户端服务上面提到的是一个问题。因为文件访问被拒绝,肯定是帐户,所以我用属性页打开DNS客户端去登录选项卡,发现使用的账号是不是默认的本地系统帐户,但所谓的网络Service内置安全主体。

所有这一切都是明确的,在最后的分析中,权威的问题。通过DNS客户端服务使用的帐户是不系统的,但网络服务。虽然我给系统帐户的一个完整的访问控制,根据我的截图,我可以看到我缺乏网络服务的主体。现在我们可以得出结论该系统的帐户不与网络服务安全主体相关,所以DNS客户端服务未能启动后读取主机文件,造成主机文件是无效的。

解决方案是编辑文件夹的访问权限,添加网络服务安全主体,并至少允许读取,然后重新启动DNS客户服务。

通过以上的分析,相信您可以更清楚地了解Windows 8.1系统中主机文件失败的原因,并掌握解决问题的对策,最后我们的主机文件可以恢复正常。