Изменение и восстановление файла hosts на Android — быстро и безопасно
Коротко: если у вас есть root — сделайте бэкап /system/etc/hosts, отредактируйте файл, установите права 644 и перезагрузите; при проблемах скопируйте бэкап обратно и перезагрузите. Без root используйте частный DNS или VPN‑блокировщики.
Проверка root и подготовка
- Проверьте наличие root (Magisk предпочтительнее на современных версиях Android). Без root /system недоступен для записи.
- Установите файловый менеджер с root‑режимом (Root Explorer) или используйте Termux/adb + su.
- Перед изменениями обязательно создайте бэкап:
- Скопируйте файл: /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
- Убедитесь, что у вас есть заряд батареи и рабочая резервная копия на внешнем накопителе или в облаке.
Рутирование аннулирует гарантию и увеличивает риски безопасности. На Android 13+ Magisk — более безопасный способ, избегайте сомнительных рут‑утилит.
Как изменить файл hosts: пошагово
- Откройте hosts в редакторе (через Root Explorer или в Termux):
su
mount -o rw,remount /system
nano /system/etc/hosts
- Формат строк:
<IP> <домен>. Примеры:- Блокировка:
0.0.0.0 ads.example.com - Локализация:
192.0.2.10 mysite.example
- Блокировка:
- После правки сохраните файл и установите корректные права:
chmod 644 /system/etc/hosts
mount -o ro,remount /system
reboot
- Проверка: в Termux выполните
ping -c 3 google.comили откройте проблемные сайты/приложения.
Если нужно массово блокировать рекламу, используйте AdAway (требует root) — он автоматизирует обновления списков и снижает риск ошибок при ручном редактировании.
Как вернуть hosts по умолчанию (безопасно)
Если сайты не грузятся или приложения падают — быстро восстановите оригинал.
- Если у вас есть бэкап:
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
- Если бэкапа нет — создайте стандартный минимальный файл:
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).