WINDOWS\system32\drivers\etc\hosts 无法正常工作的可能原因(除了显而易见的原因)

WINDOWS\system32\drivers\etc\hosts 无法正常工作的可能原因(除了显而易见的原因)

这是我的 C:\WINDOWS\system32\drivers\etc\hosts 文件:

127.0.0.1          localhost
192.168.100.1      router

测试它:

C:\>ping router
Ping request could not find host router. Please check the name and try again.

C:\>ping 192.168.100.1

Pinging 192.168.100.1 with 32 bytes of data:

Reply from 192.168.100.1: bytes=32 time<1ms TTL=64
Reply from 192.168.100.1: bytes=32 time<1ms TTL=64
Reply from 192.168.100.1: bytes=32 time<1ms TTL=64
Reply from 192.168.100.1: bytes=32 time<1ms TTL=64

Ping statistics for 192.168.100.1:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms

它以前能用。我以前在那里做过多次重定向。但几周前它就停止工作了。

我已经检查了所有明显的事实:

  • 删除了 hosts 文件,并用这个简单的文件替换,仅用于测试
  • hosts 文件中没有无效字符
  • hosts 文件上没有文件扩展名
  • 不使用 TAB 分隔 IP 和主机名(尝试使用正好 8 个空格)
  • ipconfig /flushdns
  • 重新启动 DNS 客户端服务
  • 该文件的权限与 DNS 客户端的权限相匹配(我也尝试在 hosts 文件、“etc”文件夹和“drivers”文件夹中对“所有人”都“允许”)。
  • 尝试将 NETWORK SERVICE 用户和 LOCAL SERVICE 用户添加到此文件权限
  • 此特定机器上未运行任何防病毒软件/垃圾邮件软件/恶意软件/常驻防护程序
  • 尝试使用 UNIX 和 DOS EOL 标记检查 hosts 文件
  • 重启机器

我错过了什么?

答案1

根据您所做的操作以及您检查过的事项列表,我认为存在某种系统故障,因为看起来您做了正确的事情,请尝试从命令行执行“SFC /SCANNOW”以测试系统问题。

答案2

下次,请检查注册表中的 \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DataBasePath,查看主机文件的位置是否正确,并且与 Windows 假定的位置是否相同。

答案3

这是 hosts 文件不起作用的问题,还是机器上根本没有 DNS 解析(ping、IE 等)的问题?

如果是后者,nslookup有效吗?

如果是的话,看看当 DNS 和 ping 失败但 nslookup 有效时在我的网站上查看详细答案。

简短的回答是,在尝试了各种各样的方法之后,我最终得到了“Winsock XP Fix”,这是某人在几年前构建的,因为他注意到与 WinSock 相关的注册表项在系统之间实际上是相同的,而且有时它们最终会被损坏。

答案4

sfc /scannow对我来说不起作用,但安装这个.msi 确实有效:http://support.microsoft.com/kb/972034

相关内容