hosts文件异常导致域名解析错误时,首选用管理员CMD执行for循环命令从WinSxS恢复原始副本;若无备份则手动创建含标准注释及两行localhost映射的UTF-8无BOM hosts文件;还可通过系统还原点回滚。

当你发现网站打不开、被跳转到奇怪页面,或本地开发环境无法访问 localhost,很可能是 hosts 文件被恶意修改或误编辑导致域名解析异常。系统默认的 hosts 文件只包含基础注释和两行本地回环映射,其他任何内容都属于干扰项。
用管理员命令提示符一键还原(推荐)
Windows 在 %windir%\WinSxS 目录下长期保留原始 hosts 文件副本,这是最可靠、无需手动输入内容的恢复方式。
按下 Win + S,搜索“cmd”→右键“命令提示符”→选择“以管理员身份运行”。
在弹出的用户账户控制窗口中点击“是”。
粘贴执行以下命令:
for /f %P in ('dir %windir%\WinSxS\hosts /b /s') do copy %P %windir%\System32\drivers\etc\hosts /y
这条命令会自动查找所有 WinSxS 中的 hosts 文件,并复制最新一份覆盖到目标位置;/y 参数跳过确认,避免卡在交互提示上。
执行完成后,直接在资源管理器中打开 C:\Windows\System32\drivers\etc\,双击 hosts 文件用记事本查看——内容应仅含微软版权声明与两行 localhost 映射,无任何额外 IP 条目。
手动创建默认 hosts 文件(无网络/无备份时)
如果 WinSxS 中未找到 hosts 副本(极少见),可新建一个纯文本文件并填入官方默认内容。
按 Win + R,输入 %windir%\system32\drivers\etc 回车,进入该文件夹。
右键空白处→“新建”→“文本文档”,命名为 hosts(注意:不带 .txt 扩展名;若系统隐藏已知扩展名,需先在查看选项中勾选“文件扩展名”)。
右键新创建的 hosts 文件→“属性”→取消勾选“只读”,点击“应用”→“确定”。
右键该文件→“打开方式”→选择“记事本(管理员)”;如无此选项,需先以管理员身份运行记事本,再通过“文件→打开”导航至此文件。
删除全部现有内容,粘贴以下标准默认文本:
# Copyright (c) 1993-2009 Microsoft Corp.
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
# localhost name resolution is handled within DNS itself.
127.0.0.1 localhost
::1 localhost
保存前务必确认记事本右下角编码为 UTF-8 无 BOM 或 ANSI;若为 UTF-8 with BOM,部分系统可能无法正确加载 hosts 文件。
通过系统还原点回滚(仅当有可用还原点)
此方法适用于 hosts 被改后不久、且系统此前创建过还原点的情况,它能一并撤销同期其他系统级变更。
按 Win + R,输入 rstrui 回车。
在“系统还原”向导中点击“下一步”,列表中选择一个日期早于 hosts 异常时间的还原点(名称通常含“安装软件”“Windows 更新”等标识)。
勾选“在还原前创建还原点”→点击“下一步”→再点“完成”启动还原。
电脑将自动重启并执行回滚,过程不可中断;完成后再次检查 C:\Windows\System32\drivers\etc\hosts 内容是否清空或回归默认。











