在Windows 11中修改hosts文件有三种方法:一、以管理员身份运行记事本直接编辑;二、调整hosts文件安全权限后自由编辑;三、通过PowerShell强制覆盖写入。

如果您需要在 Windows 11 中手动控制域名解析行为,例如屏蔽广告网站、映射本地开发域名或绕过 DNS 污染,则必须修改系统 hosts 文件。该文件位于受保护目录中,普通权限无法直接写入。以下是三种互不依赖、可独立生效的修改方法:
一、以管理员身份运行记事本直接编辑
此方法通过提升记事本进程权限,使其具备对 C:\Windows\System32\drivers\etc 目录的完整读写能力,适用于单次快速配置,无需更改系统文件权限。
1、按下 Win + S 键打开搜索框,输入“记事本”。
2、在搜索结果中右键点击“记事本”,选择“以管理员身份运行”。
3、弹出用户账户控制(UAC)提示时,点击“是”。
4、在记事本中点击“文件” → “打开”,在地址栏粘贴路径:C:\Windows\System32\drivers\etc\,按回车。
5、将右下角“文件类型”下拉菜单改为“所有文件 (*.*)”,即可看到无扩展名的 hosts 文件。
6、双击打开该文件,在末尾另起一行添加映射条目,格式为:IP地址 域名(例如:127.0.0.1 www.example.com),IP 与域名之间用空格或制表符分隔。
7、按 Ctrl + S 保存;若提示保存失败,请确认已成功提权且未误存为 hosts.txt。
二、调整 hosts 文件安全权限并自由编辑
此方法永久性修改 hosts 文件的访问控制列表(ACL),为当前登录用户授予“修改”和“写入”权限,后续使用任意文本编辑器(如 Notepad++、VS Code)均可直接保存,无需每次提权。
1、打开文件资源管理器,在地址栏输入:C:\Windows\System32\drivers\etc,按回车进入目录。
2、找到无扩展名的 hosts 文件,右键选择“属性”。
3、在“常规”选项卡中,取消勾选“只读”复选框,点击“应用”。
4、切换至“安全”选项卡,点击“编辑”按钮;若提示权限不足,点击“继续”或确认 UAC 提示。
5、在“组或用户名”列表中,选中您当前登录的用户账户(如 DESKTOP-XXX\YourName)。
6、在下方权限列表中,勾选“允许”列下的“修改”和“写入”两项,点击“确定”。
7、若弹出 Windows 安全警告,确认更改并点击“是”。
三、通过 PowerShell 强制覆盖写入内容
此方法绕过图形界面编辑器可能引发的编码异常、换行符错误或权限继承不完整问题,直接以 SYSTEM 级别向 hosts 文件写入纯文本内容,适用于脚本化部署或精确格式控制场景。
1、右键“开始”按钮,选择“Windows Terminal (管理员)”或“PowerShell (管理员)”。
2、执行命令清空原文件并写入标准头信息:Set-Content -Path "$env:windir\System32\drivers\etc\hosts" -Value "127.0.0.1 localhost`r`n::1 localhost"。
3、追加自定义条目,例如:Add-Content -Path "$env:windir\System32\drivers\etc\hosts" -Value "192.168.1.100 dev.local"。
4、验证写入结果:Get-Content "$env:windir\System32\drivers\etc\hosts",检查输出是否包含新条目且无乱码。










