windows 10 修改 hosts 文件失败是因系统保护机制阻止普通用户写入,解决方法有四:一、管理员记事本严格按四步打开保存;二、powershell 命令一键调起;三、修改 ntfs 权限赋予当前用户完全控制权;四、桌面编辑后用管理员 cmd 覆盖。

你在修改 Windows 系统的 hosts 文件时,编辑完点击“保存”却弹出“权限被拒绝”或自动跳转到“另存为”对话框,说明当前操作未获得对 C:\Windows\System32\drivers\etc\hosts 的写入权限——这不是记事本故障,而是 Windows 对系统关键文件的主动保护机制在起作用。
用管理员记事本直接打开并保存
这是最常用、成功率最高的方法,但必须严格按路径执行,漏掉任一环节都会失败。
第一步:按下 Win + X 键,在弹出菜单中必须选择“记事本(管理员)”(不是右键桌面新建记事本,也不是从开始菜单点开再右键“以管理员身份运行”)。
第二步:在记事本中点击【文件】→【打开】,地址栏手动输入:C:\Windows\System32\drivers\etc\,按回车。
第三步:在右下角【文件类型】下拉框中,必须选“所有文件(*.*)”——hosts 文件没有扩展名,选“文本文件(.txt)”会直接隐藏它。
第四步:选中 hosts 文件,点击【打开】,编辑完成后直接按 Ctrl+S 或点击【文件】→【保存】。这一步能成功,是因为记事本启动时已携带内核级写入权限,无需额外提权。
用 PowerShell 一键调起可编辑的 hosts
适合频繁修改 hosts 的用户,省去四步手动导航,尤其当你清空了资源管理器地址栏历史时更可靠。
方法一:按 Win + X → 选择“Windows Terminal(管理员)”或“Windows PowerShell(管理员)” → 粘贴执行以下命令:
notepad C:\Windows\System32\drivers\etc\hosts
命令执行后会立刻弹出记事本并加载 hosts 文件,编辑完直接保存即可。注意:不要漏掉路径中的 drivers\etc\,只写到 System32 会报错找不到文件。
GitHub Hosts 更新工具(仅限中国用户),安全更新系统hosts文件,保留原有非GitHub条目,仅替换GitHub相关地址。支持备份恢复和风险提示。用于解决GitHub访问问题。
永久赋予当前用户完全控制权
如果你希望今后双击 hosts 文件就能直接编辑保存(不再每次提权),需修改其 NTFS 权限。此操作仅需一次,但会影响系统安全性,慎用于公用电脑。
方法1:进入 C:\Windows\System32\drivers\etc 目录 → 右键 hosts 文件 → 【属性】→【安全】选项卡 → 点击【编辑】。
方法2:在“组或用户名”列表中,选中你的账户名(如 DESKTOP-ABC\YourName)→ 在下方权限框中勾选“完全控制”和“写入” → 点击【应用】→ 遇到警告弹窗一律点【是】。
方法3:回到【常规】选项卡,确认“只读”复选框已取消勾选;若灰色不可点,先点【高级】→ 取消勾选“加密内容以便保护数据”,再重试。
临时复制到桌面编辑再覆盖回去
这是对权限机制不熟悉用户的兜底方案,操作简单、零风险、无需管理员凭证,适合家庭用户或临时调试。
第一步:打开 C:\Windows\System32\drivers\etc,找到 hosts 文件,直接拖拽到桌面(不要右键复制粘贴,避免编码异常)。
第二步:右键桌面的 hosts 文件 →【打开方式】→【记事本】,编辑完成后直接保存。
第三步:以管理员身份运行命令提示符(Win + X → 命令提示符(管理员))→ 执行命令:
copy "C:\Users\YourUsername\Desktop\hosts" "C:\Windows\System32\drivers\etc\hosts" /Y
将命令中 YourUsername 替换为你真实的登录用户名,回车后看到“1 个文件已复制”即完成。这一步必须用管理员 CMD,普通窗口会提示“拒绝访问”。










