Проблема с возникновением Factory Mode на гаджетах с операционной системой Андроид сегодня является достаточно распространенной. В большинстве случаев такое окошко появляется после того, как пользователь выполняет определенные манипуляции с программным обеспечением своего устройства, включая получение прав Суперпользователя, замену прошивки и множество других. Однако бывает и так, что проблема возникает сама собой, но в любом случае нужно искать ее причину и решение.
В процессе использования гаджета на операционной системе Android внезапно может появиться полупрозрачное окно с технической информацией, в котором написано «Factory mode is on!!!!». Данное сообщение будет непрерывно отображается на рабочем столе. После этого может принудительно отключаться модуль Wi-Fi, устройство начинает видеть сети мобильных операторов, но при этом не может в них нормально зарегистрироваться, вследствие чего пользователь теряет возможность делать звонки со своего устройства. А при нажатии на кнопку включения не появляется меню выбора, происходит простое отключение устройства. Есть множество симптомов и проблем, которые являются характерными для включенного Factory mode, поэтому определить его несложно – сложнее устранить данную проблему.
Что делать при появлении Factory Mode?
Использование новой прошивки (включая даже многофайловую сервисную прошивку с repartition) или же Wiping data/cache не могут здесь помочь, и точно так же не будет работать код *#8797663#, то есть практически любые процедуры не приносят никакого результата, и в итоге окно все равно будет висеть. Совокупность всех указанных неисправностей говорит о том, что у вас был изменен или же поврежден раздел EFS, который представляет собой один из наиболее важных системных разделов, включающий в себя уникальную информацию, которая является необходимой для нормальной работы любого гаджета. Стоит отметить тот факт, что двух одинаковых разделов EFS не существует в принципе.
В связи с этим, первое, что должен запомнить каждый пользователь гаджетов на операционной системе Андроид – это то, что перед поведением каких-либо серьезных манипуляций с программным обеспечением своего устройства (к примеру, прошивкой), нужно в обязательном порядке провести сохранение раздела EFS на другом накопителе. Если у вас на каком-нибудь другом носителе будет присутствовать заранее созданная копия EFS, в конечном итоге вы сможете сэкономить не только нервы и собственное драгоценное время, но еще и деньги, ведь восстановить эксклюзивную информацию действительно можно, но, скорее всего, вам придется обратиться к специалистам в сервисный центр, так как в процессе восстановления может понадобиться использование специального оборудования.
Если же раздел уже является поврежденным, вследствие чего на вашем устройстве произошло включение Factory Mode, то в таком случае вам нужно использовать один из двух способов устранения этой проблемы «в домашних условиях» с восстановлением всех необходимых вам функций и данных.
Устраняем Factory Mode в простых случаях
При простой проблеме можно провести процедуру восстановления вашего устройства вручную или же в полуавтоматическом режиме.
Вручную вам нужно будет использовать любой файловый менеджер, при помощи которого можно нормально взаимодействовать с разделом Root. Через файловый менеджер вам нужно будет найти файл под названием factorymode в папке /efs/FactoryApp, после чего открыть его как стандартный тестовый файл, предварительно скопировав на свой компьютер.
В данном файле содержится всего лишь одна строчка, в которой значение «OFF» нужно поменять на «ON», после чего необходимо сохранить изменения и перезагрузить свой гаджет. В том случае, если значение уже сейчас «ON», вам сначала нужно поменять его на «OFF» с перезагрузкой, и только потом обратно поставить вручную «ON», опять же, перезагрузив свое устройство.
После проведенных манипуляций вам нужно будет проверить разрешения этого файла, где значение должно составлять 744. После этого вам нужно провести проверку владельца, где значения группы и владельца должны быть равны 1000. Если не так, то вам нужно будет провести самостоятельное редактирование значений на указанные выше.
Также рекомендуется провести точно такие же операции в файле keystr, который располагается в этом же разделе. После проведенных процедур файлы keystr.bak и factorymode.bak должны быть удалены.
Все эти процедуры можно значительно упростить, если вы будете использовать командную строку ADB или же терминал. Последний инструмент может вами использоваться непосредственно на мобильном устройстве, в то время как командная строка ADB должна будет применяться через компьютер, и предварительно вы должны будете поставить все необходимые утилиты Android Debug Bridge, необходимые драйвера, а также режим отладки через USB.
Устанавливаем на свое устройство программу Terminal, после чего открываем, подтверждаем все необходимые пункты, а в случае необходимости предоставляем также утилите права Суперпользователя. После этого вам нужно будет ввести следующее:
1
2 3 4 5 6 7 8 9 10 |
su
rm /efs/FactoryApp/keystr rm /efs/FactoryApp/factorymode echo -n ON >> /efs/FactoryApp/keystr echo -n ON >> /efs/FactoryApp/factorymode chown 1000.1000 /efs/FactoryApp/keystr chown 1000.1000 /efs/FactoryApp/factorymode chmod 0744 /efs/FactoryApp/keystr chmod 0744 /efs/FactoryApp/factorymode reboot |
После этого устройство автоматически перезагрузится, и его работоспособность будет восстановлена. Чтобы использовать ADB, вам нужно будет активировать командную строку, нажав комбинацию клавиш Win+R и вписав в строку «cmd».
Ничего не помогло. Что делать?
Случается так, что проведенные выше операции не приносят никакого результата, и точно так же при попытке wipe data/cache возникает ошибка. В таком случае можно сказать о том, что произошло нарушение структуры раздела, в котором находится папка EFS, и придется уже исправлять данную проблему. В первую очередь, вам нужно будет разобраться с точным адресом блока, в котором расположен данный раздел на вашем устройстве, и делается это при помощи следующей консольной команды:
1 | adb shell cat /proc/mounts |
Тот блок, в котором будет присутствовать слово EFS, и будет представлять собой нужный вам объект.
Установите на свое устройство программу ClockworkMod Recovery, и входите в режим Recovery. После этого вам нужно будет зайти в меню «mounts and storage», где нужно будет смонтировать раздел EFS, что предсказуемо приведет вас в конечном итоге к ошибке.
Теперь нужно будет перезагрузить устройство и открыть файл /sdcard/clockworkmod/recovery.log, который представляет собой логи этой программы.
В открытом файле логов при помощи любого удобного вам текстового редактора нужно будет найти строку, в которой есть упоминание EFS, и в этой же строке будет название интересующего нас блока. Теперь в терминале, используя консольные команды ADB, нужно ввести следующее:
1
2 3 4 |
su
mke2fs /dev/block/mmcblk0p3 mount -w -t ext4 /dev/block/mmcblk0p3 reboot |
При этом стоит отметить, что mmcblk0p3 нужно заменить на нужный блок предварительно. После перезагрузки устройства нужно будет проделать процедуры точно так же, как и с простым случаем, и сделать восстановление уже исправного раздела.