
如果您尝试编辑 Windows 10 系统中的 hosts 文件但无法保存更改,则可能是由于该文件受系统保护,普通权限的记事本无权写入。以下是解决此问题的步骤:
一、使用记事本以管理员身份运行并直接编辑
该方法通过提升记事本进程权限,绕过系统对 C:\Windows\System32\drivers\etc\hosts 文件的写入限制,确保编辑后可立即保存,无需更改文件本身权限。
1、按下 Win + S 组合键,在搜索栏中输入“记事本”。
2、在搜索结果中右键点击“记事本”,选择“以管理员身份运行”。
3、在弹出的用户账户控制(UAC)提示中,点击“是”。
4、在记事本中点击“文件” → “打开”,在地址栏粘贴路径:C:\Windows\System32\drivers\etc,按回车。
5、将右下角“文件类型”下拉菜单改为“所有文件 (*)”,选中无扩展名的 hosts 文件并打开。
6、在文件末尾添加所需映射规则,格式为:127.0.0.1 example.com(IP 与域名间用空格或制表符分隔)。
7、按 Ctrl + S 保存,关闭记事本。
二、通过运行命令调用管理员记事本
该方法利用系统环境变量自动定位 hosts 路径,避免手动导航错误,适用于路径拼写敏感或资源管理器显示异常的场景。
1、按下 Win + R 打开“运行”对话框。
2、输入命令:notepad %windir%\system32\drivers\etc\hosts,然后按回车。
3、若出现 UAC 提示,点击“是”允许记事本以管理员身份运行。
4、若提示“找不到文件”,请确认未启用“隐藏受保护的操作系统文件”选项,或检查系统盘符是否为 C:。
5、在记事本中编辑内容,例如添加 0.0.0.0 ads.example.net 实现屏蔽。
6、编辑完成后直接保存,无需另存为。
三、通过命令提示符(管理员)切换目录后启动记事本
该方式强制在 hosts 所在目录上下文中调用编辑器,规避因路径含空格、符号或环境变量失效导致的加载失败问题。
1、右键点击“开始”按钮,选择“Windows PowerShell(管理员)”或“命令提示符(管理员)”。
2、依次执行以下两条命令(每条后按回车):
cd /d C:\Windows\System32\drivers\etc
notepad hosts
3、记事本将以管理员权限打开当前目录下的 hosts 文件。
四、复制到桌面修改后覆盖原文件
该方法将 hosts 文件复制至桌面进行编辑,利用用户对桌面目录的完全控制权完成修改,再以管理员权限覆盖原文件,适合不熟悉命令行操作的用户。
1、打开文件资源管理器,在地址栏输入 C:\Windows\System32\drivers\etc 并回车。
2、找到名为 hosts 的文件,右键单击并选择“复制”。
3、在桌面空白处右键单击,选择“粘贴”,将副本放置于桌面。
4、右键单击桌面上的 hosts 文件,选择“用记事本打开”。
5、在文件末尾添加所需映射规则,例如:192.168.1.100 myapp.local,完成后点击“文件”→“保存”。
6、将桌面上修改好的 hosts 文件拖拽进 C:\Windows\System32\drivers\etc 目录。
7、当系统提示是否替换文件时,点击“替换目标中的文件”,并在后续 UAC 提示中点击“继续”。
五、修改文件权限后使用任意编辑器
该方法通过调整 hosts 文件的 NTFS 权限,赋予当前用户完全控制权,从而允许 Notepad++、VS Code 等第三方编辑器直接修改并保存。
1、打开文件资源管理器,导航至 C:\Windows\System32\drivers\etc 目录。
2、找到 hosts 文件,右键点击并选择“属性”。
3、切换到“安全”选项卡,点击“高级”按钮。
4、在“高级安全设置”窗口顶部,点击“更改”链接(位于“所有者”右侧)。
5、在弹出的“选择用户或组”窗口中,点击“高级”,再点“立即查找”。
6、从搜索结果中双击您的当前用户名,点击“确定”确认所有者变更。
7、勾选下方“替换子容器和对象的所有者”选项,确保权限继承生效。
8、返回“权限”选项卡,点击“添加”,再次添加当前用户名,并勾选“完全控制”下的“允许”。
9、点击“确定”逐级保存所有更改。










