Мое доступное хранилище заполнено. Как перенести данные на карту MicroSD большего размера?

У меня есть Moto G 2014 LTE с CM13. Когда я узнал обо всем, что касается «использования SD-карты в качестве внутреннего хранилища», я был очень взволнован, поскольку фактическое внутреннее хранилище в этом телефоне крошечное. Я установил микро SD на 16 ГБ, самый большой из тех, что у меня были на тот момент, и использовал его с минимальными проблемами.

Перенесемся в этот день, и теперь у меня есть 64-гигабайтная микро SD, которую я хочу использовать вместо 16-гигабайтной. Тем не менее, я не знаю, как лучше скопировать данные на новый, или если это вообще возможно. Идеи, которые у меня есть до сих пор, включают:

  • Титановое резервное копирование всех [системных] приложений, сброс к заводским настройкам, форматирование новой SD и затем восстановление (должно работать, но очень больно)
  • NANDroid SD-карта на USB-флешку OTG, затем восстановите ее на новую (почти уверен, что это плохая идея и не сработает, но...)
  • Скопируйте все на мой компьютер через мой телефон через какой-нибудь файловый менеджер (у меня тройная загрузка Linux/Linux/Windows, поэтому формат файла не проблема), отформатируйте новый SD в телефон и скопируйте обратно ( не может быть все так просто, не так ли? Скрытые/недоступные файлы?)
  • Скопируйте файлы на USB OTG с помощью приложения для просмотра корневых файлов, переформатируйте SD как портативный, отформатируйте новый как принятый, а затем скопируйте их обратно (может работать, за исключением пункта ниже)
  • Отформатируйте SD-карту на 64 ГБ как внутреннюю через устройство чтения карт OTG с помощью команды adb shell sm set-force-adoptable true, используйте корневой браузер, чтобы скопировать все данные со старой SD, отформатируйте старую SD как внешнюю и удалите ее, возьмите новую SD и вставьте ее в слот для SD-карты (кажется слишком сложным, а также имеет следующую ловушку)

Еще одна вещь, которая меня беспокоит, — это точки монтирования: будут ли приложения с внешними данными знать, что нужно смотреть на новую SD-карту? Придется ли мне перемонтировать его в определенном месте с оболочкой при каждой загрузке (или, возможно, использовать сценарий init.d)? Я предполагаю, что к нему всегда можно получить доступ через /sdcard или /storage/emulated/0, но я не уверен на 100%, что происходит за кулисами.

У меня есть последние резервные копии NANDroid, поэтому, если кто-нибудь может исключить варианты, которые определенно не будут работать (или сказать, какие из них, вероятно, будут работать), я могу попробовать их и сообщить, если кто-то наткнется на этот вопрос в будущем. .

РЕДАКТИРОВАТЬ: Итак, мой телефон еще больше запылился и дошел до того, что попал в довольно серьезную загрузочную петлю. В итоге пришлось прошивать совершенно новый ПЗУ. Таким образом, я, вероятно, не смогу протестировать полный образ/расшифровку/и т. д. метод, который я изначально планировал. Тем не менее, я напишу, что я обнаружил до сих пор, на случай, если кто-то захочет использовать этот конкретный метод в будущем:

  1. Изобразите старую SD-карту с помощью dd следующим образом: sudo dd if=/dev/mmcblk0 of=~/SDCardBackup.img, где /dev/mmcblk0находится местоположение SD-карты, доступное черезlsblk
  2. Восстановите образ, который вы только что сделали, на НОВУЮ SD- карту: sudo dd bs=4M if=~/SDCardBackup.img of=/dev/mmcblk0(возможно, вам придется сначала размонтировать его)
  3. С этого момента я следовал этому руководству (спасибо @beeshyams!), которое объясняет следующие шаги намного лучше, чем я когда-либо мог бы это сделать. План состоял в том, чтобы расшифровать хранилище и изменить размер основного раздела с помощью gparted. Я понятия не имел, сработает это или нет, но я чувствовал, что стоит попробовать. Однако, когда я начал выполнять настоящую команду расшифровки с использованием извлеченного ключа, я получил ошибку (которая, как я полагаю, была больше всего связана с моими дрянными навыками работы с Linux).

Как я уже сказал, я понятия не имею, сработает ли описанный выше метод, даже если все пойдет по плану. Кроме того, не стесняйтесь исправлять любые из моих команд выше, если я их неправильно набрал (в настоящее время я работаю в Windows, так что это все по памяти). Если эта информация кому-то поможет, то хорошо. Но до тех пор комментарий @faidherbard должен работать нормально.

Спасибо, Джекдафиш

Главное, что вам не хватает, это то, что он зашифрован , что, насколько мне известно, невозможно. Для получения дополнительной информации см. acceptable-storage (отредактируйте список тегов, чтобы включить это). Есть возможный способ , теоретически можно попробовать решить проблему с шифрованием
@beeshyams Спасибо, я посмотрю и отчитаюсь, если повезет. Можно ли получить/найти ключ шифрования с корневым доступом? Кажется, я что-то такое припоминаю...
Один из возможных (?) способов восстановления ключа шифрования указан в комментарии.
@beeshyams Хорошо, я посмотрю как следует, когда вернусь. Если вы перемещаете файлы с телефона, когда он включен (например, приложение для просмотра файлов> USB OTG или подключенный к телефону> проводник для файлов на рабочем столе), разве они не становятся незашифрованными? В противном случае они были бы нечитаемы на следующей машине.
Пройдя через нашу вики-тегу для принятого хранилища , вы найдете Как работает функция «Форматировать как внутреннюю память» в Android 6.0+? . В конце моего ответа на него вы найдете подробности о том, на что только что намекнул @beeshyams :)
Спасибо за всю информацию ребята! Я думаю, что возьму этот ключ шифрования и попытаюсь получить все с SD-карты, отформатировать новую, получить этот ключ шифрования и скопировать все данные обратно. Посмотрите, как это происходит. У меня есть все мои резервные копии, поэтому, если это не сработает, я сделаю сброс настроек. Если это произойдет, я напишу пошаговый ответ через несколько дней на случай, если кто-то еще наткнется на этот пост. Ваше здоровье :)
Даже если это не сработает, обновление ваших выводов может повысить ценность других, размещенных аналогичным образом. Всего наилучшего
Быстрое обновление: все еще работаю над этим, когда у меня есть шанс. По сути, я перенес старый SD на новый SD и получил команду расшифровать его (что я не могу вспомнить сразу). Однако команда терпит неудачу. Я считаю, что сбой связан с моей копией задействованных инструментов, а не со сломанной командой, что хорошо. постараюсь разобраться как можно скорее

Ответы (1)

Имея аналогичную проблему, я прочитал комментарии к вашему вопросу и в итоге сделал следующее, основываясь на подсказке, предложенной Барлейманом :

  • Перейдите в «Настройки» > «Хранилище и USB» > «Внутренняя память», нажмите «Перенести данные», чтобы переместить данные обратно во внутреннюю память.

Если у вас недостаточно места на внутреннем устройстве, чтобы вернуть все обратно (что было в моем случае), вот несколько дополнительных шагов:

  1. Подключите телефон к ПК через USB и сделайте резервную копию содержимого старой «принятой» SD-карты.
  2. Вручную удалите достаточно данных со старой SD-карты, чтобы иметь возможность выполнить перемещение: обычно это изображения и видео, которые впоследствии можно легко восстановить.
  3. Нажмите «Перенести данные» в «Настройки» > «Хранилище и USB» > «Внутренняя память».
  4. Убедитесь, что старая «принятая» SD-карта теперь пуста (или даже отформатируйте ее обратно в «Portable»), а затем извлеките ее.
  5. Вставьте новую SD-карту и настройте ее как «Внутреннее хранилище» и согласитесь перенести на нее данные.
  6. В конце концов снова подключите телефон к ПК через USB, чтобы восстановить удаленные вручную данные.

Ссылка: ответ на вопрос «Как работает функция «Форматировать как внутреннюю память» в Android 6.0+?» :

  1. Вы можете обратить процесс вспять, открыв «внутреннее хранилище» в настройках хранилища и «перенести данные», которые скопируют все обратно во внутренний nvram.
Эй, это имеет смысл.
После шага 3 мне пришлось просмотреть все приложения, перечисленные как хранящиеся на SD-карте, и переместить их во внутреннюю память, пока на SD-карте не осталось приложений. Затем, после шага 5, сделайте наоборот для любых приложений, которые вы хотите хранить на SD-карте. В противном случае это работало как шарм.
Я продолжаю получать сообщение «Недостаточно памяти», хотя на моей SD-карте всего 4 ГБ, а на внутренней — 40 ГБ.