Furry Secta
#Исправлены различные ошибки! Например, медленная загрузка!# Решения для медленной загрузки телефонов Android
【Анализ проблемы】
Медленная загрузка телефона происходит из-за того, что init выполняет restorecon во время post-fs-data, что сбрасывает метки SELinux для всех файлов в подкаталоге /data. Это трудоемкий процесс, обычно выполняемый только во время обновления системы. В случае успеха записывается хеш, связанный с текущей системой (вычисляется на основе plat_file_contexts и постоянно хранится в xattr security.sehash). Хеш проверяется при следующей загрузке; если он совпадает с хешем системы, его не нужно сбрасывать снова. Однако в некоторых плохо спроектированных системах этот процесс может завершиться неудачей по различным причинам (например, некорректные правила SELinux, некоторые файлы, которые не могут быть восстановлены init (например, заблокированы такими инструментами, как iPlay, или другие причины, препятствующие удалению)), в результате чего хеш не записывается. Поэтому при каждой перезагрузке устройства выполняется полное восстановление системы (restorecon), что часто приводит к зависанию экрана загрузки на 1-2 минуты на первом экране (точная продолжительность зависит от количества файлов, хранящихся вне CE на вашем телефоне).
【Решение】
Используйте эмулятор терминала MT Manager, программу терминала из Aiwanji Toolbox или другую программу терминала, чтобы выполнить следующие три шага:
[Команда шага 1]
su -mm -c mount -t tmpfs tmpfs /data/adb/modules/
Пояснение к команде: Первая команда перезаписывает /data/adb/modules/ (пути к модулям Magisk и KernelSU) файлом tmpfs, чтобы предотвратить проблемы с контекстом безопасности модулей после restorecon. Без этого шага ваши модули Magisk будут потеряны. Конечно, вы можете сначала сделать резервную копию своих модулей.
ps: su -mm Глобальное пространство имен KernelSU
[Команда шага 2]
su -c /system/bin/restorecon -Rv /data
Описание команды: Выполняет операцию restorecon в каталоге /data. Этот процесс довольно длительный; дождитесь его завершения, прежде чем переходить к шагу три.
[Команда шага три]
su -c umount -l /data/adb/modules/
Описание команды: Лениво отмонтирует каталог /data/adb/modules/.
【Устранение неполадок】
1. Если при выполнении второй команды вы получили сообщение об ошибке "SELinux: Could not xxxxx", найдите файл, следующий за командой, и разблокируйте или удалите его (удаление файлов/папок в корневом каталоге не рекомендуется; вы можете разблокировать или уничтожить файлы/папки, если хотите). После устранения ошибки лучше всего перейти к шагу три, а затем повторить шаги с первого по последний. 2. Если вы правильно выполнили указанные выше команды, но проблема с медленной загрузкой по-прежнему не решена, это означает, что restorecon не является причиной. Рекомендуется проанализировать вывод команды boot dmesg, чтобы найти причину медленной загрузки.
1 · 546 ·