Изменение и восстановление файла hosts на Android — быстро и безопасно

Коротко: если у вас есть root — сделайте бэкап /system/etc/hosts, отредактируйте файл, установите права 644 и перезагрузите; при проблемах скопируйте бэкап обратно и перезагрузите. Без root используйте частный DNS или VPN‑блокировщики.

Проверка root и подготовка

  1. Проверьте наличие root (Magisk предпочтительнее на современных версиях Android). Без root /system недоступен для записи.
  2. Установите файловый менеджер с root‑режимом (Root Explorer) или используйте Termux/adb + su.
  3. Перед изменениями обязательно создайте бэкап:
    • Скопируйте файл: /system/etc/hosts → /sdcard/hosts_backup.txt
    • Если используете терминал:
su
mount -o rw,remount /system
cp /system/etc/hosts /sdcard/hosts_backup.txt
mount -o ro,remount /system
  1. Убедитесь, что у вас есть заряд батареи и рабочая резервная копия на внешнем накопителе или в облаке.

Рутирование аннулирует гарантию и увеличивает риски безопасности. На Android 13+ Magisk — более безопасный способ, избегайте сомнительных рут‑утилит.

Как изменить файл hosts: пошагово

  1. Откройте hosts в редакторе (через Root Explorer или в Termux):
su
mount -o rw,remount /system
nano /system/etc/hosts
  1. Формат строк: <IP> <домен>. Примеры:
    • Блокировка: 0.0.0.0 ads.example.com
    • Локализация: 192.0.2.10 mysite.example
  2. После правки сохраните файл и установите корректные права:
chmod 644 /system/etc/hosts
mount -o ro,remount /system
reboot
  1. Проверка: в Termux выполните ping -c 3 google.com или откройте проблемные сайты/приложения.

Если нужно массово блокировать рекламу, используйте AdAway (требует root) — он автоматизирует обновления списков и снижает риск ошибок при ручном редактировании.

Как вернуть hosts по умолчанию (безопасно)

Если сайты не грузятся или приложения падают — быстро восстановите оригинал.

  1. Если у вас есть бэкап:
su
mount -o rw,remount /system
cp /sdcard/hosts_backup.txt /system/etc/hosts
chmod 644 /system/etc/hosts
mount -o ro,remount /system
reboot
  1. Если бэкапа нет — создайте стандартный минимальный файл:
127.0.0.1 localhost
::1 ip6-localhost

Запишите его в /system/etc/hosts с правами 644 и перезагрузите. 3. После восстановления очистите сетевые настройки: Сеть → Сброс Wi‑Fi/мобильных данных, либо отключите/включите Wi‑Fi.

Частые ошибки

  • "Permission denied": нет root или раздел /system смонтирован только для чтения. Проверьте su и remount.
  • Bootloop после правок: загрузитесь в recovery (TWRP), восстановите бэкап через ADB (adb push hosts /system/etc/) или откатите изменения.
  • SELinux блокирует запись: используйте Magisk и модули, совместимые с текущей версией Android.
  • На Android 14+ ручное редактирование может не работать из‑за суперразделов — используйте Magisk‑модули (например, Hosts Manager) или альтернативы без root.

FAQ

  • Можно ли изменить hosts без root?
    Нет. /system/etc/hosts требует root. Без root применяйте частный DNS (NextDNS, AdGuard DNS) или VPN‑блокировщики (Blokada, Intra).

  • Что писать в hosts для блокировки рекламы?
    Добавьте строки вида 0.0.0.0 ads.example.com или 127.0.0.1 adserver.domain. Не удаляйте строку с localhost.

  • Если пропал интернет после правки — что делать?
    Восстановите бэкап, убедитесь в правах 644, перезагрузите устройство и сбросьте сетевые настройки.

  • Как безопасно рутировать для этих целей?
    Изучите Magisk (systemless root), делайте полный бэкап перед процедурой, используйте проверенные гайды под вашу модель.

Если после выполнения шагов проблема осталась — укажите модель устройства и версию Android, опишите изменённый файл hosts и выведенные ошибки (например, вывод logcat или сообщения при ping).