Подробная инструкция по сбросу файла hosts к состоянию по умолчанию, удалению нежелательных перенаправлений, исправлению ошибок доступа и проверке корректной работы разрешения имен.
Файл hosts — это небольшой системный текстовый файл, который Windows проверяет перед обращением к DNS-серверам. С его помощью можно сопоставить доменное имя с конкретным IP-адресом. Например, строка в файле hosts может принудительно открыть example.com с указанного IP-адреса или заблокировать домен, направив его на 127.0.0.1.
Поскольку hosts используется на раннем этапе разрешения имен, неправильные или вредоносные записи могут мешать открытию сайтов, перенаправлять браузер на другой адрес, блокировать обновления антивируса, мешать активации программ и работе онлайн-сервисов.
Сбросить или восстановить файл hosts стоит тогда, когда проблемы с доступом к сайтам вызваны неправильными локальными сопоставлениями. Это особенно полезно после удаления вредоносных программ, использования скриптов для блокировки рекламы или ручного редактирования файла для тестирования.
Файл hosts в Windows хранится в следующей папке:
Файл называется hosts и обычно не имеет расширения. Если вы хотите, чтобы Windows использовала этот файл, он не должен называться hosts.txt, hosts.ini или hosts.bak.
hosts.txt, если выбран тип файла Текстовые документы (*.txt). При сохранении выберите Все файлы (*.*) и укажите точное имя файла hosts.
Чистый файл hosts в Windows может содержать только комментарии и стандартные примеры для localhost. Строки, начинающиеся с #, являются комментариями и игнорируются Windows.
# Copyright (c) Microsoft Corp. # # This is a sample HOSTS file used by Microsoft TCP/IP for Windows. # # This file contains the mappings of IP addresses to host names. Each # entry should be kept on an individual line. The IP address should # be placed in the first column followed by the corresponding host name. # The IP address and the host name should be separated by at least one # space. # # Additionally, comments (such as these) may be inserted on individual # lines or following the machine name denoted by a '#' symbol. # # For example: # # 102.54.94.97 rhino.acme.com # source server # 38.25.63.10 x.acme.com # x client host # localhost name resolution is handled within DNS itself. # 127.0.0.1 localhost # ::1 localhost
Также можно использовать минимальную чистую версию файла hosts без активных сопоставлений:
# localhost name resolution is handled within DNS itself. # 127.0.0.1 localhost # ::1 localhost
Перед редактированием файла hosts создайте резервную копию. Это полезно, если в файле есть законные пользовательские записи для локального сервера, среды разработки, интрасети, виртуальной машины или тестового домена.
C:\Windows\System32\drivers\etc.hosts_backup или hosts_original_backup.Это самый простой способ для большинства пользователей. Главное условие — открыть Блокнот с правами администратора, поскольку файл hosts находится в защищенной системной папке.
C:\Windows\System32\drivers\etc.После сохранения файла перейдите к разделу очистки DNS-кэша ниже. Без очистки кэша Windows или браузер могут временно продолжать использовать старые сохраненные результаты.
Если файл hosts сильно поврежден, переименован или его трудно отредактировать вручную, его можно заменить через командную строку, запущенную с повышенными правами.
cd /d C:\Windows\System32\drivers\etc copy hosts hosts.bak attrib -r -s -h hosts type nul > hosts
Затем добавьте минимальное содержимое по умолчанию:
echo # localhost name resolution is handled within DNS itself. > hosts echo # 127.0.0.1 localhost >> hosts echo # ::1 localhost >> hosts
type nul > hosts очищает текущий файл hosts. Сначала сделайте резервную копию, если вам могут понадобиться старые пользовательские записи.
PowerShell удобен, если нужно заменить содержимое файла контролируемым способом. Запустите его от имени администратора и запишите чистый файл hosts по умолчанию.
$hostsPath = "$env:SystemRoot\System32\drivers\etc\hosts" Copy-Item $hostsPath "$hostsPath.bak" -ErrorAction SilentlyContinue @" # localhost name resolution is handled within DNS itself. # 127.0.0.1 localhost # ::1 localhost "@ | Set-Content -Path $hostsPath -Encoding ASCII
Команда создает резервную копию hosts.bak в той же папке и записывает чистый файл hosts без активных перенаправлений.
Если Windows не дает сохранить изменения, обычно причина в отсутствии прав администратора, атрибуте «только чтение», защите антивируса или сохранении файла с неправильным расширением.
| Проблема | Что сделать |
|---|---|
| Блокнот сообщает, что доступ запрещен | Закройте Блокнот и снова откройте его через Запуск от имени администратора. |
| Файл сохраняется как hosts.txt | Выберите Все файлы (*.*) и задайте точное имя hosts. |
| Файл доступен только для чтения | Откройте терминал с повышенными правами и выполните attrib -r C:\Windows\System32\drivers\etc\hosts. |
| Защитная программа блокирует изменения | Временно разрешите изменение только в том случае, если уверены, что редактирование легитимно. |
| Файл не отображается | Переключите фильтр в окне открытия файла с Текстовые документы на Все файлы. |
После сброса файла hosts очистите кэш DNS-клиента Windows. Это заставит систему отбросить сохраненные результаты разрешения доменов и заново получить актуальные данные.
ipconfig /flushdns
Если операция выполнена успешно, Windows покажет сообщение об успешной очистке кэша сопоставителя DNS.
Также полезно закрыть и снова открыть браузер. Некоторые браузеры некоторое время хранят собственный DNS-кэш или пул сетевых соединений.
После восстановления файла проверьте, нормально ли разрешаются адреса сайтов. Для этого можно использовать ping, nslookup и проверку в браузере.
Откройте командную строку и выполните:
ping example.com
Если в файле hosts нет активной записи для домена, Windows должна определить адрес через DNS, а не через локальное переопределение в hosts.
Активные записи — это непустые строки, которые не начинаются с #. Их можно проверить вручную или через PowerShell:
Get-Content "$env:SystemRoot\System32\drivers\etc\hosts" | Where-Object { $_ -and $_ -notmatch '^\s*#' }Если команда ничего не выводит, в файле hosts нет активных сопоставлений.
Не каждая запись в hosts является вредоносной. Разработчики, администраторы, блокировщики рекламы и локальные тестовые среды могут использовать этот файл намеренно. Однако некоторые записи являются тревожным признаком.
hosts.txt не будет работать как системный файл hosts Windows.
ipconfig /flushdns и перезапустить браузер. Перезагружайте Windows только если проблема сохраняется или другое приложение удерживает старое сетевое состояние.
127.0.0.1, 0.0.0.0 или другой недоступный адрес. Поэтому восстановление файла hosts может исправить сайты, которые заблокированы только на одном компьютере с Windows.
hosts.txt, Блокнот запущен без прав администратора, браузер использует DNS-кэш, домен введен с ошибкой или в начале строки стоит #, из-за чего строка становится комментарием.
Самый надежный способ восстановить файл hosts — открыть Блокнот от имени администратора, открыть C:\Windows\System32\drivers\etc\hosts, заменить подозрительные записи чистым содержимым по умолчанию, сохранить файл без расширения и затем выполнить ipconfig /flushdns.
Если сайты блокируются, перенаправляются или ведут себя иначе только на одном компьютере Windows, файл hosts — одно из первых мест, которое стоит проверить. Сброс к чистому состоянию удаляет локальные переопределения доменов и помогает вернуть обычную работу DNS и браузера.