Как объединить память телефона и карту памяти - блог об информационных технологиях: софт, железо, интернет, услуги, советы. Создание раздела на sd-карте для переноса приложений

Сразу оговорюсь, что речь пойдет не о программах типа link2sd. Принцип похож, но связывать мы будем не программные каталоги, а каталоги данных этих программ, например /sdcard2/Navigon -> /sdcard/Navigon или /mnt/extSdCard/Books -> /sdcard/Books и т.д.
Кроме того, нам нужен рут (куда ж без него). Кстати, после того как я узнал про эту программу, это для меня очередной аргумент за root.

Многие владельцы андроид смартфонов или таблеток с небольшей встроеной памятью наверняка сталкивались со следущей проблемой: вставлена большая sd карта (например 16, 32 или даже 64 Гигабайт), но после установки нескольких тяжеловесных программ наше устройство или очередная программа с наглостью заявляет, что на карте не хватает места. Иногда сама программа небольшая, но после установки лезет в интернет и тянет на смартфон гигабайты данных.
В очередной раз получив сообщение «Нет места» и заглянув на карточку видим, что она практически пуста, зато внутренняя память устройства забита под завязку.
Это происходит потому, что внутренняя память часто используется как каталог по умолчанию для многих программ. Дело в том, что она монтируется как /sdcard , что исторически всегда было внешней sd картой (раньше так оно и было на всех смартфонах). Внешняя же sd карта монтируется в этом случае как /sdcard2 , /mnt/sdcard2 , /mnt/extSdCard или даже /sdcard/.externalSD . Я так понимаю, что это делается изготовителями, чтобы устройство работало из коробки, т.е. совсем без sd карты.

Многие «недобросовестные» программы всегда хотят читать/писать данные из/в каталог /sdcard/НазваниеПодставить. Редко это можно изменить в настройках программы.
В результате имеем, что имеем, и несколько возможностей чтобы поправить сложившееся положение:
Два последних способа тоже не являются панацеей, т.к. требуют определенных навыков от пользователя, кроме того не достаточно «чисты», например известны проблемы при подключении смартфона к компьютеру через usb (не отмонтируются) и т.д.

Поправить положение поможет программа DirectoryBind , которую хороший человек slig из xda написал для себя и выложил на форуме для всеобщего пользования.

QR-код


Хоть публика здесь технически подкованная, но для неискушенных читателей хабра нужно сделать пару пояснений. Как он сам написал (программа not idiot-proof), т.е. врядли пройдет тест на дурака.

После установки запускаем программу (первый раз естественно навечно разрешаем права Root), нажимаем меню затем «Preferences» и выставляем пути по умолчанию на внешнюю память «Default data path» например /sdcard/external_sd/ и внутреннюю память «Default target path» /sdcard/ . Выходим из меню.

Нажимаем меню, затем «Add new entry»

Теперь создадим новую связь каталогов, например перенесем папку CamScanner на внешнюю карту. Долгое нажатие на путь к папкам открывает небольшой встроеный файловый менеджер, в котором можно создать и/или выбрать папку. Папка на внешней карте должна быть создана (и пуста).

Установив галочку в «Transfer files from target to data» файлы и папки будут перенесены из каталога /sdcard/CamScanner/ в каталог /sdcard/external_sd/CamScanner .

Нужно заметить, что связи после создания не активируются автоматически (серая иконка дискеты, как на скрине внизу для gameloft). Для завершения связывания папок, выбираем галочками нужные связи и нажимаем меню -> «Bind checked». Иконки активных (связанных) папок должны стать зелеными.

Кстати если вы хотите присоединить еще и всю внешнюю карточку полностью рекомендую это сделать не так /sdcard/externalSD/ , а с точкой впереди /sdcard/.externalSD/ . Это спасет вас от таких неприятностей как двойные превьюшки в галереях, и т.д. Правда поможет не для всех галерей и плееров, т.к. некоторые ищут медиа и в скрытых каталогах.
Помучившись, я для себя решил, связывать только отдельные каталоги.

UPD. Кстати, внешняя SD карта значительно медленнее внутренней памяти, поэтому перенос данных программы на внешнюю SD, естественно замедляет работу этой программы. Это особенно нужно помнить решившим полностью поменять маунт-пойнты внутренней и внешней памяти, т.к. скорее всего все ваше устройство будет работать медленнее, чем раньше.

Надеюсь эта программа дополнит и вашу копилку полезных утилит для андроид устройств.

Если вы все-таки решились поменять местами внутреннюю и внешнюю память, т.е. переназначить внешнюю sd карту на /sdcard и в настройках устройства нет такой опции - имея рут, это можно легко сделать выполнив следущую операцию:
В Root-Explorer монтируем "/etc" как R/W (если R/O), находим файл "/etc/vold.fstab", сохраняем копию и открываем (длинным кликом) его в Text Editor.
В следующих двух строчках меняем название моунт точек местами: dev_mount sdcard /mnt/sdcard emmc@fat /devices/platform/goldfish_mmc.0 ... dev_mount sdcard /mnt/external_sd auto /devices/platform/goldfish_mmc.1 ... на dev_mount sdcard /mnt/external_sd emmc@fat /devices/platform/goldfish_mmc.0 ... dev_mount sdcard /mnt/sdcard auto /devices/platform/goldfish_mmc.1 ...
Подробнее можно почитать . Там же предлагают, как альтернативу, использовать другую интересную программу Root External 2 Internal SD .
Добавлю, что в обоих случаях, перед переключением, вам нужно скопировать все содержимое папки /sdcard на внешнюю sd карту.
Помните, что после переключения вся ваша система может работать , чем раньше.
Будьте осторожны - нужно понимать, что все что вы делаете под рутом, вы делаете на свой страх и риск, и например сохранение неправильного «vold.fstab» может привести к невозможности загрузить устройство и для лечения нужно будет грузится в рекавери и править «vold.fstab» уже там.

Этот способ можно использовать совместно с DirectoryBind, только теперь наоборот «Default target path» (/sdcard) и все связи созданные в DirectoryBind будут указывать на внешнюю карту.

Вы хотите устанавливать приложения на MicroSD флешку? Тогда вам нужно будет отформатировать ее как внутреннюю память.

К сожалению, некоторые производители, например, Sony, LG или Samsung, не делают этого в заводских условиях. Но если у вас есть смартфон с операционной системой Android Marshmallow или выше, вам поможет командная строка.

Обновления Android и проблемы Nougat при использовании этого метода

Некоторые читатели сообщают о сложностях при установке системных обновлений. Обновление операционной системы до Android 7.0 Nougat не возможно при форматировании флешки по методу, описанному ниже. Устройства, которые уже обновлены до Android 7.0 Nougat, даже не отвечают на консольные команды.

Поскольку в сети отсутствует соответствующая документация, мы можем только порекомендовать проделать описанные ниже шаги в обратном порядке перед системным обновлением. Не забудьте сделать бэкап фотографий или музыки на компьютере или облачном диске и освободите как можно больше места на SD карте и внутренней памяти смартфона. Удалите ненужные приложения, затем перенесите ваши данные обратно во внутреннюю память. После этого отформатируйте карту MicroSD как съемный носитель. Только после этого можно спокойно приступать к обновлению системы.

С Android 6.0 Marshmallow проблем не было

Если мы форматируем MicroSD как внутреннюю память, мы можем устанавливать любые приложения на карту. Это значит, что если вы скачаете 2 гигабайта приложений, то они займут именно 2 гигабайта на карте. В случае, если мы отформатируем MicroSD как резервную память, то ситуация несколько изменится.

В Android Marshmallow теоретически возможно работать с картой MicroSD в качестве внутренней памяти. Операционная система позволяет переносить на карту приложения и данные этих приложений. Фактически, память смартфона можно расширить. К сожалению, некоторые производители смартфонов убрали из меню возможность форматировать карты как внутреннюю память в версии Android Marshmallow.

Используйте только быстрые карты MicroSD, иначе расширение памяти будет сопровождаться снижением производительности.

Нет такой опции

То, что в меню отсутствует опция форматирования памяти флешки как внутренней, это вовсе не означает, что эта опция не работает. Продвинутые пользователи сообщили, что использовали командную строку для форматирования карт MicroSD как внутреннюю память в смартфоне Galaxy S7. Мы успешно протестировали такой вариант на Samsung Galaxy S7, Sony Xperia Z5 и LG G4 с Android Marshmallow.

На всех смартфонах стояла операционная система Android 6.0 Marshmallow (или по умолчанию, или после обновления), а также во всех моделях был слот для карты памяти. Как мы уже упоминали, опция форматирования как внутреннюю память в меню телефона отсутствовала. Только в телефоне One A9 от HTC и всех смартфонах Motorola Moto такая опция сохранилась.

Переходи на темную сторону, расширяй память.Я до сих пор не понимаю, почему Samsung, LG и Sony убрали эту опцию из меню. Я подключил все три смартфона со вставленной MicroSD картой к компьютеру.

После этого в ADB tools набрал нужные команды в командной строке. Как только вы открыли командную строку и подключили смартфон, можете вводить первую команду:

adb shell

Теперь командная строка может выполнять системные команды для смартфона. Нам нужно отформатировать карту памяти или ее часть как внутреннюю память. Даже не имея такой возможности в графическом интерфейсе телефонов Sony, Samsung и LG, мы можем передавать смартфону команды через консоль.

Сначала, однако, нам нужно узнать ID карты. Эту информацию можно узнать с помощью следующей команды:

sm list-disks

В моем случае диск называется 179.64. У вас может быть какое-то другое имя. Запомните точные идентификатор карты. Следующей командой мы отформатируем раздел карты MicroSD. Все данные будут удалены. Не забудьте сохранить важную информацию на другой карте, на компьютере или еще где-нибудь. Если вы не собираетесь вытаскивать карту памяти из телефона вовсе, вы можете разделить всю память карты. Для этого введите следующую команду в консоль:

sm partition disk: 179.64 private

Выполнение команды займет несколько секунд или минут, в зависимости от объема и скорости карты. Если вы хотите предоставить доступ части памяти карты другим устройствам, нужно исключить эту часть из скрытого раздела. Разделение карты на два раздела будет выглядеть следующим образом

sm partition disk: 179.64 mixed 50

Но это еще не конец работы. Теперь если вы хотите использовать карту памяти как внутреннюю память телефона, нужно перенести все приложения и данные. Вы можете сделать это через меню Android. Выберите опцию SD Сart , найдите пункт меню Переместить данные . Если вы не разделили карту, то у вас это не получится.


Переместите данные после того, как разделили память SD карты.Теперь все загружаемые приложения будут записываться на MicroSD. Только системные приложения и обновления будут находиться во внутренней памяти смартфона. Это значит, что вам больше не придется сталкиваться с проблемой нехватки памяти при загрузке или обновлении приложений.


В Sony Xperia Z5 общая память отображается немного странно. Вам в первую очередь нужно обращать внимание на память SD карты.

В чем подвох?

Скорость передачи данных MicroSD на порядок ниже, если сравнивать со встроенной памятью. Поэтому не жалейте денег на карту памяти с высокой скоростью приема и передачи данных. Sandisk Extreme Pro и Extreme Plus MicroSD пока что лучшие из тех, что мы видели. Со скоростью 74 мегабайта в секунду у вас не должно быть никаких задержек.

Любопытно, что только телефон LG G4 правильно считывал информацию с карты. Samsung показывал неестественно высокий уровень занятой памяти, а значения на Sony и вовсе были отрицательными. Тем не менее, у нас не было никаких проблем, и даже при подключении к компьютеру мы могли получить доступ ко всем данным, хотя мы видели только общий раздел, который доступен и другим устройствам. Проблемы появились только при установке системных обновлений.

Расширение памяти: успех!

Мы провели тест расширенной памяти на производительность. На все устройства мы установили Final Fantasy IX. Игра занимает 1.8 GB. После установки можно увидеть, где именно находятся данные игры. Во всех случаях после установки на карте SD отражается на 1.8 GB меньше свободного места. При форматировании карты как съемной памяти этого достичь не удастся, так как не получится перенести данные полностью.

Сравните показатели внутренней памяти и памяти карты на скриншоте.

Что произойдет…

Разумеется, логично будет спросить, что же произойдет, если мы вытащим карту. На самом деле, это большая проблема для приложений, ведь в этом случае у них не будет доступа к необходимым для работы данным. Поскольку все системные данные находятся во внутренней памяти, то иконки приложений сменились стандартной системной иконкой, но все вернулось на свои места, когда мы снова вставили карту.

Если вы потеряете или повредите SD карту, все данные будут утеряны. Восстановить их не удастся, так как они зашифрованы как внутренняя память. Поэтому не забывайте делать регулярный бэкап. Вот и все, теперь вы можете наслаждаться недорогим способом расширения внутренней памяти вашего телефона с Android Marshmallow.

Безопасное извлечение SD карты, отформатированной как внутренняя память

Чтобы безопасно извлечь карту из смартфона, необходимо выполнить все шаги в обратном порядке. Поскольку внутренней памяти, как правило, недостаточно, вам придется перенести фотографии и другие данные на другой физический или облачный носитель и удалить все приложения. После этого вернитесь в пункт настроек Память и USB и нажмите Перенести данные в пункте Внутренняя память в меню. После этого отформатируйте SD карту как съемный носитель. Обязательно сделайте бэкап, чтобы не потерять данные.

Сработало? Какую карту вы используете? Напишите в комментариях.

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

И всё же пользователи сталкиваются с такой проблемой: в телефоне установлена внешний носитель, но все приложения автоматически скачиваются во внутреннюю память. Из-за этого постоянно появляется уведомление о том, что недостаточно места. На Андроид эту проблему можно решить несколькими способами.

Как скачивать игры и приложения на карту памяти SD

Существует несколько способов применения внешней карты для скачивания на неё приложений и игр. Так, можно установить SD-карту как память по умолчанию, переместить приложения с помощью стандартных настроек или объединения памяти.

Установка внешнего SD-накопителя по умолчанию

Вы можете установить SD-карту в качестве памяти по умолчанию, и тогда смартфон будет определять её как приоритетную для хранения данных.

Для этого:

Некоторые приложения всё равно будут сохраняться во внутренней памяти, это определяется их настройками.

Использование настроек для перемещения приложений

К сожалению, в настройках нет возможности выбрать автоматическую установку приложений на внешний носитель. Но вы можете вручную переместить часть из них (не все приложения поддерживают такой перенос).

Для этого:

Есть ещё один вариант: можно переносить приложения не отдельно каждое, а все вместе. Для этого:

Оъединение внутренней и внешней памяти

Этот способ доступен для смартфонов, на которых установлена версия Android от 6.0 и выше.

Видео: как настроить скачивание игр и приложений на SD-карту

Видео: перемещение игр на внешний накопитель с помощью Apps2SD

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

Практически каждое приложение на Андроид устанавливается во внутреннюю память устройства. А она ведь не резиновая, так что ей свойственно заполняться. Так что с такой ситуацией может столкнуться любой пользователь. На помощь придет SD-карта, объемы которой могут доходить до десятков и даже сотен ГБ. Сейчас мы во всех деталях расскажем, как перенести приложение и кэш на SD карту.

Также стоит отметить, что не каждая карта подойдет для процедуры замены внутренней памяти на внешнюю. Все дело в классах скорости SD-карт, которые разняться от медленных (C2 и С4), до быстрых (С10 и С16). Если рассматриваемые ниже процедуры производить на медленных SD, то перенос данных отразится на общем быстродействии устройства, потому рекомендуется пользоваться только быстрыми флешками.

Способов замены внутренней памяти на внешнюю не так уж и много, потому мы остановимся лишь на самых эффективных, причем они будут описываться последовательно: от простых к более сложным.

Перенос кэша для версий Android 4.0+

Стоит заметить, что данный способ не требует наличия ROOT-прав, но подходит не для всех приложений. Так что, если в описании приложения нет нужных кнопок, расстраиваться не стоит, ведь это был самый легкий способ. Для еще большего облегчения можно воспользоваться утилитой или ей подобной, где все приложения удобно структурированы, что ускоряет поиск нужных.

ВНИМАНИЕ! Представленные ниже способы можно применить только на устройствах с РУТ-правами. Все дальнейшие операции делаются на ваш страх и риск, никто не дает 100% гарантии, что в случае неудачи вы не получите кирпич. Также мы не несем никакой ответственности за потерю личных данных.

Перенос при помощи сторонних программ

Если приложение не поддерживает стандартный перенос данных, то можно это сделать насильственно при помощи сторонних утилит, таких как:

Принцип работы данных программ очень схож, так что рассмотрим способ на примере Link2SD.

Этот способ, в отличии от следующего, не требует от пользователя особых знаний, кроме элементарных понятий о Рут-правах.

Полный перенос android приложений на SD карту памяти

Внимательный пользователь смог заметить, что у Link2SD и других схожих утилит есть интересная функция «Сослать». С ее помощью переносятся не отдельные части программы, как в предыдущих пунктах, а абсолютно все данные. При этом программа будет считать, что работает она во внутренней памяти устройства, что для некоторых из них является важным условием нормальной работоспособности.

Для реализации этого способа SD-карту надо «разбить» на два раздела, после чего с нее удалятся все данные, потому будьте внимательны и сделайте резервную копию важной информации.

Разделы на карте памяти можно делать как на компьютере, с помощью таких программ как Paragon Hard Disk Manager 12 Server или MiniTool Partition Wizard Home Edition. Но это достаточно трудоемкий процесс, а потому мы все сделаем прямо на смартфоне, воспользовавшись .

  1. Скачиваем и инсталлируем утилиту.
  2. В настройках устройства находим раздел «Память», где жмем «Извлечь SD».

  3. Заходим непосредственно в AParted и в первой вкладке Create, два раза нажимаем ADD.

  4. В Part 1 оставляем Fat32, а в Part 2 выбираем ext2 или любой другой формат, если знаете для чего они вообще нужны.
  5. Смотрим чтоб поле Format было отмечено и выбираем необходимый размер памяти для каждого из разделов. При этом Part 1 будет оставаться нашей стандартной «флешкой», а вот на Part 2 будут ссылаться приложения.
  6. Жмем APPLY и подтверждаем действие.

  7. Терпеливо дожидаемся окончания процесса.

Теперь приложения и игры можно безопасно ссылать во второй раздел карты памяти, с помощью соответствующей функции Link2SD или его аналога.

Перенос кэша на флешку

Данный способ пригодится для пользователей, которые любят игры с большим кэшем. Сейчас многие крупные проекты (к примеру, серия игр , ) занимают несколько гигабайт. То же самое касается и навигационных карт. Не все устройства могут похвастаться таким объемом встроенной памяти, поэтому на помощь приходит FolderMount. Оно позволяет создавать виртуальные папки, чтобы система по-прежнему считала, что данные приложения находятся во внутренней памяти, хотя фактически все файлы расположены на флешке.

  1. Устанавливаем .
  2. Запускаем и предоставляем права Суперпользователя.
  3. Открываем выдвигающееся меню в левой части экрана.

  4. Переходим в «Анализатор приложений», ищем нужную игру и кликаем по ней.

  5. В открывшемся окне видим объем, который занимают отдельно данные приложения и его кэш.
  6. Нажимаем кнопку «Создать пару» напротив размера кэша.

  7. На вопрос отвечаем «Да» и нажимаем галочку в верхней части экрана, после этого снова необходимо ответить «Да».

  8. В строке уведомлений можно будет увидеть процесс переноса файлов.
  9. Как только перенос завершится (достигнет 100%), снова открываем выдвигающееся меню и выбираем «Список пар».
  10. Осталось лишь нажать переключатель напротив названия игры, которые вы переносили.

Замена внутренней памяти на внешнюю

Этот способ позволяет обмануть систему, т.е Android будет считать SD-карту памятью устройства. Одним из главных преимуществ является тот факт, что все приложения будут автоматически устанавливаться на флешку. Идеально подходит для устройств с очень маленьким объемом внутренней памяти. Для его осуществления понадобится файловый менеджер, лучше всего использовать Total Commander. Смысл способа – поменять местами пути к памяти устройства и флешке.

  1. Устанавливаем
  2. Кликаем по файл, далее «Редактировать».

  3. В файле содержится множество строк, которые начинаются с # (символ решетки). Но нам нужна строка, начинающаяся со слов «dev_mount» и без (!!!) решетки в начале.
    Таких строк должно быть 2: первая обозначает внутреннюю память, вторая – внешнюю.

    Например, если ваши строки:
    dev_mount sdcard/mnt/sdcard
    dev_mount extsd/mnt/extsd

    То они должны стать:
    dev_mount sdcard/mnt/extsd
    dev_mount extsd/mnt/sdcard

    То есть самое главное – поменять местами слова после /mnt/.

  4. Больше ничего изменять не нужно, нажимаем кнопку «Сохранить» (иконка дискеты).
  5. Перезагружаем устройство.

Встроенная память Android устройства часто быстро заканчивается, поэтому пользователям приходится хранить большие объемы информации на microSD. Но что делать, если Андроид не сохраняет на карту памяти скачиваемый контент - приложения, фото, музыку, и другие файлы?

Данная статья подходит для всех брендов, выпускающих телефоны на Android 9/8/7/6: Samsung, HTC, Lenovo, LG, Sony, ZTE, Huawei, Meizu, Fly, Alcatel, Xiaomi, Nokia и прочие. Мы не несем ответственности за ваши действия.

Проблемы с картой памяти

Прежде всего, необходимо убедиться, что карта памяти исправна и готова принимать файлы. Что делать:

Карта памяти может быть несовместимой со смартфоном - например, превышать объем, допустимый для конкретной модели телефона. Если флешка больше какого-то объема гигабайт (32, 64, 128 и т.д.), то он просто не распознает ее, т.к. не запрограммирован на такой объем. В таком случае единственным выходом будет использование другого носителя microSD, меньшего объема.

Если ни одна карта не определяется, имеет смысл обратиться в сервисный центр. Возможно, есть аппаратные неполадки у телефона, которые мешают ему работать с внешними накопителями.

Неправильная папка в браузере

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

  1. Откройте раздел «Загрузки» в главном меню.
  2. Нажмите «Настройки».
  3. В поле «Путь загрузки» укажите папку на карте памяти.
Увеличить

После такой короткой настройки файлы в браузере будут скачиваться только в указанный каталог на карте, не забивая внутреннюю память.

Файлы нельзя перенести на карту памяти

Чаще всего это относится к встроенным приложениям Android. В телефоне они могут храниться только на внутреннем накопителе, иначе смартфон не будет работать. В то же время любое приложение от стороннего разработчика можно переместить на микроСД.

  1. Откройте настройки Андроида, зайдите в раздел «Приложения».
  2. Найдите программу, которую хотите перенести на карту памяти вместе со всеми файлами.
  3. Нажмите «Переместить на SD».
Увеличить

Если кнопка неактивна, значит, переместить приложение нельзя. Если будет написано «Переместить на телефон» вместо «Переместить на SD», то это значит, что файлы программы уже хранятся на карте памяти.

Сбились настройки переноса файлов на карту памяти

В настройках Android вы можете вручную указать, какая память используется по умолчанию - внутренняя или внешняя. В зависимости от выбранного значения, файлы будут скачиваться на телефон или microSD-карту. После обновления системы настройки могут слететь, поэтому стоит их проверить.

Подобная настройка есть не у каждой модели и производителя. Проверьте у себя.

  1. Откройте настройки Андроида.
  2. Перейдите в раздел «Память».
  3. В поле «Место установки» или «Память по умолчанию» выберите значение «SD».
Увеличить

Когда настройки нет

Если нет возможности задать место сохранения файлов по-умолчанию, то здесь на помощь придут сами приложения. В том же браузере Samsung «Интернет» есть возможность задать место хранения:


Увеличить

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