Windows 11 中修改 hosts 文件需管理员权限或调整权限:一、以管理员身份运行记事本编辑;二、用管理员命令提示符启动记事本;三、修改文件安全属性授予写入权;四、用 PowerShell 命令追加或替换内容;五、复制到桌面编辑后覆盖原文件。

如果您尝试在 Windows 11 中修改 hosts 文件以屏蔽特定网站或实现本地域名解析加速,但无法保存更改或根本打不开该文件,则很可能是由于系统对 C:\Windows\System32\drivers\etc\hosts 文件施加了严格的写入权限限制。以下是多种可行的修改方法:
一、使用记事本以管理员身份直接编辑
此方法通过提升编辑器运行权限,使记事本获得对受保护系统目录的写入能力,从而绕过默认权限拦截。
1、按下 Win + S 打开搜索栏,输入“记事本”。
2、在搜索结果中右键点击“记事本”,选择“以管理员身份运行”。
3、弹出用户账户控制(UAC)提示时,点击“是”。
4、在记事本中点击“文件” → “打开”,在地址栏粘贴路径:C:\Windows\System32\drivers\etc\,按回车。
5、将下方“文件类型”下拉菜单改为“所有文件 (*.*)”,即可看到无扩展名的 hosts 文件。
6、双击打开该文件,在末尾添加屏蔽或映射条目,格式为:IP地址 域名(例如:127.0.0.1 www.example.com,中间用空格或制表符分隔)。
7、修改完成后,按 Ctrl + S 保存;若提示保存失败,请确认是否以管理员身份运行。
二、通过管理员命令提示符调用记事本并加载文件
该方式从进程启动之初即赋予完整管理员上下文,避免图形界面中因权限继承不完整导致的保存失败问题。
1、按下 Win + X,在弹出菜单中选择“终端(管理员)”或“命令提示符(管理员)”。
2、在窗口中输入以下命令并按回车:notepad C:\Windows\System32\drivers\etc\hosts。
3、系统将立即以管理员权限启动记事本,并自动加载 hosts 文件。
4、在文件末尾添加所需规则,例如屏蔽广告域名:0.0.0.0 adserver.example.net。
5、编辑完毕后,直接点击“文件” → “保存”,或按 Ctrl + S。
三、调整 hosts 文件本身的系统安全权限
此操作永久性地为当前用户授予对该文件的修改与写入权限,适用于需频繁编辑 hosts 的场景,避免每次均需提权。
1、打开文件资源管理器,在地址栏输入:C:\Windows\System32\drivers\etc,按回车进入目录。
2、找到名为 hosts 的文件(无扩展名),右键选择“属性”。
3、在“常规”选项卡中,取消勾选“只读”,点击“应用”。
4、切换到“安全”选项卡,点击“编辑”按钮。
5、在“组或用户名”列表中选中当前登录的用户账户;若未列出,点击“添加”,输入用户名后点击“检查名称”再确定。
6、在下方权限列表中,勾选“允许”列下的“完全控制”,或至少勾选“修改”和“写入”。
7、点击“确定”,在弹出的安全警告中点击“是”确认更改。
四、使用 PowerShell 以命令方式追加或覆盖内容
PowerShell 提供精确的文本写入控制,可避免编码错误与换行符异常,特别适合批量添加屏蔽规则或脚本化部署。
1、右键“开始”按钮,选择“Windows Terminal (管理员)”或“PowerShell (管理员)”。
2、执行以下命令检查 hosts 文件当前权限:Get-ChildItem "C:\Windows\System32\drivers\etc\hosts" | Get-Acl。
3、如需追加单条屏蔽规则,运行:Add-Content -Path "C:\Windows\System32\drivers\etc\hosts" -Value "127.0.0.1 malicious-site.com"。
4、如需完全替换全部内容(例如恢复精简版 hosts),先定义变量:$new = "127.0.0.1 localhost`n::1 localhost`n127.0.0.1 blocked.site",再执行:Set-Content -Path "C:\Windows\System32\drivers\etc\hosts" -Value $new -Encoding UTF8。
五、复制到桌面编辑后再覆盖原文件
当上述方法仍因系统策略受限而失败时,该方式利用用户可写目录作为中转,规避直接操作受保护路径的限制。
1、右键“开始”按钮,选择“终端(管理员)”。
2、执行命令将原始文件复制到桌面:copy C:\Windows\System32\drivers\etc\hosts C:\Users\Public\Desktop\hosts。
3、双击桌面上的 hosts 文件,用普通记事本打开并编辑(此时无需管理员权限)。
4、保存修改后的桌面文件。
5、在管理员终端中执行覆盖命令:copy C:\Users\Public\Desktop\hosts C:\Windows\System32\drivers\etc\hosts。
6、系统提示是否覆盖时,输入 Y 并按回车。









