in ,

Невозможно записать на SD-карту в телефоне: Почему постоянно просит доступ и разрешение?

Расследуем этот занимательный баг

Карты памяти — одно из самый эффективных изобретений человечества. Той части, что любят фотографировать еду и не знают про облачные сервисы. Спасение в виде лишних гигабайтов иногда оборачивается сущим кошмаром для владельцев Android, в частности Xiaomi и оболочки MIUI.

Симптомы:

  • Карта перестаёт читаться, пока её не вытащишь и не вставишь
  • Карта встаёт в режим «защита от записи», т.е. читается, но ничего скопировать туда невозможно. Помогает та же самая операция вытащить и вставить карту, но только на 10-15 минут.
  • Карта работает нормально (определяется, позволяет копировать на себя файлы) до первой перезагрузки телефона. После перезагрузки идёт бесконечный процесс «Подготовка карты SD-карта».

  • Сброс на заводские настройки не помогают
  • При попытке скопировать/сохранить/переместить что-либо на карту ничего не происходит, либо появляется ошибка: «Для управления файлами на вашей SD карте предоставьте проводнику необходимые разрешения», при этом разрешение выдать невозможно

  • После форматирования через телефон, карта перестаёт распознаваться после окончания процесса

  • Форматирование в телефоне зависает или заканчивается ошибкой java.util.concurrent.TimeoutExpection

Почему это может происходить?

Самое распространенное явление — повреждение самой карты, а точнее её файловой системы (слетает разметка). Также может быть повреждение слота (лотка) в самом телефоне — проверяется через другой смартфон

Совсем экзотические варианты — аппаратная проблема с материнской платой, либо с программным обеспечением. Интернет знает истории, когда проблема решилась обновлением Android до следующей версии.

Однако, такое, зачастую, происходит с картами, которые куплены буквально день назад. И вставляя карту в другой телефон, она отлично работает. К тому же карточка отлично определяется через кард-ридер ПК/ноутбука. Как исправить положение?

Что с этим можно сделать?

Начнем с того, что у карты памяти может быть несколько файловых систем с которыми она работает. Файловая система SD-карты на телефонах Android зависит от аппаратного и программного обеспечения устройства.

Устройства Android поддерживают файловые системы FAT32, EXT4, EXT3 и exFAT на SD-картах. Можно использовать даже NTFS, если приложить некоторые усилия и получить рут на смартфоне. По нашему скромному мнению, лучше использовать exFAT

Форматирование в другом телефоне

Данный пункт помещен под цифрой ноль, потому что вероятность, что это поможет примерно нулевая. Однако, в сети есть некоторые отзывы, когда карта памяти была отформатирована в другом телефоне (обычно более старшей модели или версии Android) и это помогло. Поэтому можно попробовать.

Форматирование в exFAT на ПК/ноутбуке

Уберите галочку с пункта «Быстрое форматирование». Не забудьте сохранить нужные файлы с карты перед форматированием.

Форматирование в TWRP (рекавери)

  1. Заходим в recovery mode (для каждого телефона своя комбинация), но обычно это «Громкость вверх» + «Кнопка включения»
  2. Находим пункт Mounts and storage
  3. Доходим до /storage/sdcard1 и нажимаем кнопку включения (sdcard0 — это внутренняя память вашего телефона, не перепутайте)
  4. Перед форматированием вас попросит выбрать файловую систему и подтвердить операцию.

Не работает на телефонах Xiaomi

На телефонах Xiaomi очень ограниченный режим Recovery Mode. Если у вас Mi-Recovery, то, скорее всего, нужных настроек у вас не будет.

Для версии 3.0 это выглядит так (если у вас китайский язык, то, чтобы переключиться на английский, тапните по выделенной кнопке)

Для версии 5.0 примерно также:

Установка стороннего менеджера клиентов

Если карта нормально определяется в телефоне, то проблему с переносом файлов внутри телефона на карту памяти можно установить  Mi проводник (Google Play), через него уже файлы копируются нормально. Такие дела.

Если вы хотите установить другой сторонний менеджер, то ему нужно дать права на запись. Подробная инструкция есть на 4pda

Сделать SD-карту частью памяти (способ №1)

Ниже на видео пример того, как можно сделать SD-карту частью внутренней памяти телефона Xiaomi. Это поможет избежать геморроя с доступом на карту. Но прежде, чем смотреть и пробовать уточним два нюанса:

  • Этот способ ТОЛЬКО для телефонов с MIUI младше 11 версии. Иначе переход к настройкам хранилища приведёт к перезапуску приложения
  • Тот самый Activity Launcher, который вы увидите на видео, вы не сможете скачать с Google Play (там есть похожие клиенты, но это не то, что нужно). Воспользуйтесь этим .apk — https://drive.google.com/file/d/1CH7XQkky5nvpR4lsiTjfWNyUqsJM2bbn/view

 

Сделать SD-карту частью памяти (способ №2)

Делаем всё по порядку:

1. Скачиваем и устанавливаем драйвер ADB. Можно забрать с нашего Яндекс Диска.

2. Открываем на ПК командную строку в режиме Администратора.

3. Включаем на телефоне отладку по USB.

4. Подключаем телефон с разблокированным (!) экраном к ПК. В лучшем варианте должно быть всплывающее окно:

5. В командной строке поочерёдно пишем три команды: cd c:\adb, затем adb shell, затем sm list-disks. Дальше вы увидите что-то вроде disk:179,64:

Далее пишем sm partition disk:179,64 private жмем Enter. Такая команда переведёт всю память с SD-карты во внутреннюю:

Если вы хотите оставить только 75%, то нужно вводить «sm partition disk:179,64 mixed 75»

6. Телефон перезагрузится и всё. Profit.

Ошибка error: device not found

Что делать, если при команде adb shell возникает такая ошибка

Попробуйте установить этот ADB Driver. Тут тоже по шагам. На сообщении Install ADB system-wide пишем Y

Далее соглашаемся с установкой драйвера

И идём по мастеру установки:

 

После чего возвращаемся к пункту с ADB. Если у вас на телефоне есть root-права, то можете попробовать третий способ превратить память SD-карты во внутреннюю.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *