Как переключить внутреннюю память на sd. Android не сохраняет на карту памяти microSD

Пожалуй, главная и самая заметная фишка нового Android 6.0 Marshmallow для обывателей - возможность отформатировать карту памяти microSD в качестве внутреннего накопителя . Анонс этоу функции, как и ожидалось, многих впечатлил, однако ни Nexus 5X от LG, ни Nexus 6P от Huawei не имели возможности расширения памяти с помощью карты памяти, поэтому об этом на несколько месяцев просто забыли.

Сейчас же, в марте-апреле 2016 года, начали выходить новые флагманы на Android 6.0 Marshmallow (Samsung Galaxy S7 и S7 edge, вскоре появится в России и LG G5), а другие смартфоны начали получать обновление до этой версии системы - проблема вновь стала актуальна.

Скоростные классы устройства также можно найти на карте памяти: C4 или C10 (Class 10), либо UHS Speed Class 1 (U1), UHS Speed Class 3 (U3)


Стоит сразу отметить, что форматировать карту памяти в качестве внутреннего накопителя можно далеко не каждую. Нужно обратить внимание на небольшую греческую цифру "I" прямо на карте. Она означает, что это карта типа Ultra High Speed (UHS-I). Важно заметить, что тип карты UHS-I поддерживает большое количество скоростных классов, в том числе Class 4 (C4), Class 10 (C10), U1 и U3. Чем выше скорость, тем не хуже, поскольку это в случае использования карты памяти как внутреннего накопителя (Format as Internal Drive) может влиять на скорость работы приложений.

Греческая цифра на microSD означает Ultra High Speed - UHS-I или UHS-II тип карты памяти. Последний имеет два ряда контактов и не поддерживается современными смартфонами.


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

При этом на рынке крайне трудно найти неподходящую флешку, да и не стоят они дорого: для примера за 300 рублей уже сегодня можно купить UHS-I карту памяти со скоростным классом 10 (С10) и объемом 16 ГБ.


Но... у крупных брендов есть свое мнение и клиенты, которых они, видимо, не хотят разочаровать. Поэтому, внимание, возможность форматировать microSD карту памяти, как внутренний накопитель (смонтировать microSD как внутренний накопитель) отсутствует у Samsung Galaxy S7 и Galaxy S7 edge, флагмана LG G5. Но на этом история не заканчивается, проблема внутреннего накопителя довольно остро стоит у Sony Xperia (в Xperia Z3 Compact пользователь довольствуется 16 ГБ встроенной памяти). С обновлением до Android 6.0 Marshmallow проблема могла быть решена, но Sony Mobile также решили закрыть возможность форматирования microSD как внутреннего накопителя на своих смартфонах.

Так выглядит возможность форматирования microSD как внутреннего накопителя в смартфоне Moto X Force


Неутешительные итоги


Пользователи смартфонов Samsung, LG и Sony Xperia лишены возможности расширить память даже при наличии карты памяти нужного типа. Справедливости ради стоит сказать, что данную возможность можно открыть, если сделать ROOT-устройства, но мы в данном случае обсуждаем то, что пользователь получает "из коробки". На данный момент из устройств, получивших обновление до Android 6.0 Marshmallow, возможность расширения внутренней памяти с помощью microSD доступна на смартфонах Moto (и видимо будет доступна на Lenovo и ZUK), а также у устройств HTC. По поводу Huawei и Honor пока неизвестно, поскольку эти устройства пока не получают обновления до Android 6.0.

Остаётся только сожалеть о том, что крупные компании (занимающие достаточно большую долю на российском рынке) взяли на себя такую ответственность и решили попросту убрать интересную и важную фишку, вместо того, чтобы лишний раз объяснить пользователям о различиях карт памяти и просто рекомендовать скоростные классы и типа накопителей microSD.

Сразу оговорюсь, что речь пойдет не о программах типа 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 будут указывать на внешнюю карту.

Проблема нехватки памяти – одна из основоположных как для ПК, так и для мобильных устройств. При малом количестве свободной памяти система обычно начинает подтормаживать, подвисать, работает нестабильно и ненадёжно. Особенно актуально это для Андроид-устройств, многие из которых изначально обладают довольно небольшим объёмом основной памяти (т.н. «Internal Storage»). В такой ситуации у некоторых пользователей может возникнуть идея попробовать использовать внешнюю SD-карту в качестве основной памяти на их Андроид-устройстве. В данном материале я расскажу, как SD-карту сделать основной памятью на гаджетах Андроид, и какие способы нам в этом помогут.

Разбираем, как SD-карту сделать основной памятью на Андроид

Для осуществления данной задачи вам понадобится скоростная SD-карта (желательно, 10 класса или быстрее). Карты 6, а особенно 4 и 2 классов для таких целей не пригодны, ваша система вследствие их использования существенно замедлит свою работу, что вряд ли понравится кому-то из пользователей.

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


Способ №1. Изменяем содержимое файла Vold.fstab

Первый из описанных способов предполагает изменение содержимого файла системных настроек «Vold.fstab». После осуществления указанных изменений ОС Андроид будет считать вашу SD-карту внутренней памятью устройства, при этом учтите, что ряд установленных ранее приложений могут перестать работать.

Важно знать, что данный способ работает только на рутированных устройствах, на которых установлена ОС Андроид ниже (!) , нежели версия 4.4.2. В версиях ОС Андроид 4.4.2 и выше указанный файл, скорее всего, вы попросту не найдёте.

Также учтите, что ошибка в реализации данного способа (в частности, добавление в нужные строки лишних символов) может самым печальным образом сказаться на работоспособности вашего устройства. Потому тщательно взвесьте возможные риски, и если, всё-таки, приняли решение, тогда приступайте к его реализации.

Итак, для осуществления данного способа выполните следующее:

Например, это могут быть такие строки:

  • dev_mount sdcard/storage/sdcard0 emmc@xxxxxx
  • dev_mount sdcard2/storage/sdcard1 auto/xxxxxx

Для осуществления нужных изменений нам необходимо поменять путь в указанных строках местами, то есть, проще говоря, вместо 0 поставьте единичку в первой строке, а во второй вместо 1 поставьте 0.

После изменений эти строки будут иметь вид:

  • dev_mount sdcard/storage/sdcard1 emmc@xxxxxx
  • dev_mount sdcard2/storage/sdcard0 auto/xxxxx

Сохраните произведёнными вами изменения, а затем перезагрузите гаджет.

Ещё один вариант как сделать карту памяти основной на андроид:


Способ №2. Используем настройки ОС Андроид 6.0 и выше

Кроме первого способа, в котором я рассмотрел, как переключить память телефона на карту памяти, существует и другой способ, работающий только на настройках ОС Андроид 6.0 (Marshmallow) или выше, и позволяющий задействовать SD-карту как основную для сохранения файлов и работы с ними. Для его реализации рекомендую сделать копию данных с вашей SD-карты (если таковые на ней имеются), так как данная карта будет отформатирована системой.

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

Я тестировал разные приложения для расширения внутренней памяти Android-устройств: App2SD, Link2SD, FolderMount. Личный опыт показал, что всё-таки наилучшим решением есть приложение Link2SD. Приложение (как и другие подобные программы) требует наличие рута в Android-устройстве, но если все сделать правильно, то можно надолго забыть о вопросе с нехваткой внутренней памяти.

Пошаговое руководство

Чтобы расширить память Android-устройства с помощью приложения Link2SD, необходимо выполнить следующие шаги:

  1. Позаботится о том, чтобы на устройстве был установленный рабочий рут;
  2. Подготовить карту памяти;
  3. Установить и настроить приложение Link2SD.

Рутирование устройства

Несмотря на множество так называемых "универсальных" приложений рутирования Android-устройств, личный опыт показывает, что рутирование – это уникальный процесс для каждого устройства. Ищите в интернете приложение (способ) рутирования именно для Вашей модели устройства. Работа с одним из подобных "универсальных" приложений рутирования Android-устройств описана .

Подготовка карты памяти

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

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

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

Если Вы по какой-то причине позже решите вернуть карту памяти в исходное состояние воспользуйтесь или инструкцией.

Настройка Link2SD

Если Вы успешно выполнили два предыдущих пункта, самое время сделать последний шаг: установить и настроить приложение Link2SD.

При первом запуске программа запросит права суперпользователя, разрешите ей получить такие права, нажав на кнопку "Разрешить".

Дальше появится диалог выбора файловой системы 2-го раздела SD-карты памяти. Если такой диалог не появился или Вам нужно повторно его открыть, нажмите на кнопку меню в приложении и выберите опцию "Пересоздать скрипт монтирования". Выберите пункт соответствующий файловой системе второго раздела Вашей карты памяти и нажмите "ОК". Если получите сообщение об ошибке, откройте диалог снова и выберите какой нибудь другой пункт (у меня скрипт сработал успешно на пункте "ext2", хотя второй раздел карты памяти был отформатирован в "ext3"). Вы должны получить сообщение об успешном монтировании раздела. После этого перезагрузите устройство, нажав на кнопку "Перезагрузить устройство".

Зайдите снова в программу, подождите пока загрузится список приложений, выберите приложение, которое хотите переместить, и нажмите на кнопку "Сослать". В следующем диалоге выберите, какие данные приложения Вы хотите перенести (я обычно переношу все что можно). В бесплатной версии Link2SD можно перенести всё кроме данных приложения, но даже от этого эффект будет ощутимым.

ВНИМАНИЕ: начиная с версии андроид 4.4 и выше Google отключил встроенную функцию, чтобы перенести данные на карту памяти, и лишь некоторые производители интегрируют ее самостоятельно и не все приложения можно перенести – поэтому у кого нету кнопки перенести, можете сразу переходить к третьему разделу.

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

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

Для этого в андроиде есть очень полезная функция перенести данные отдельных приложений на внешнее хранилищекарту micro SD.

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

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

Способ с помощью программы наиболее эффективный, поскольку встроенная функция все чаще удаляется производителями оборудования xiaomi, redmi, lg, zte, redmi 4x, htc, asus, huawei, samsung, meizu, lenovo, lg, samsung, fly, alcatel, redmi, sony xperia, prestigio и вы не найдете ее на большинстве даже лучших современных смартфонов.

ПРИМЕЧАНИЕ: в зависимости от версии андроид, например, андроид 6.0, андроид 7, андроид 5.1, андроид 4.4 и так далее, также есть свои нюансы при перемещении файлов с телефона на карту памяти sd.

Первый способ перенести данные с внутренней памяти телефона android на sd карту – встроенные инструменты

Android имеет функцию, которая позволяет перемещать приложение на карту. Просто зайдите в «Настройки»> «Диспетчер приложений».

Здесь сразу следует заметить, что, например, в моем в самсунг галакси с андроид 6 функция «Диспетчер приложений» была, а когда он обновился до андроид 7.0, то пропала. Вместо нее появилась неплохая оптимизация.

Если у вас есть диспетчер приложений, то можете увидеть игры и программы, установленные на карте памяти SD, а также те, которые можно перенести.

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

Через некоторое время приложение будет перемещено.

Второй способ перенести данные с внутренней памяти телефона android на sd карту – через компьютер

Этот способ хорошо подойдет для перемещения мультимедийных файлов, таких как фотографии, фильмы, песни, изображения (и многое другое).

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


При просмотре содержимого смартфона вы можете увидеть два отдельных носителя: внутреннюю память и внешнюю сиди карту.

Для удобства можете использовать программу Apowersoft Phone Manager. Если у вас нет компьютера, то можете использовать программу File Manager, которую нужно предварительно установить самостоятельно на свой телефон андроид.

Третий способ перенести данные с внутренней памяти телефона android на sd карту – с помощью приложений

Если хотите перенести приложения и игры на карту памяти, в магазине Google Play можно найти программы, которые быстро сделают такой процесс. Я рекомендую воспользоваться AppMgr III (известную как App 2 SD).

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

После запуска AppMgr III увидите, которые можно перенести. С AppMgr III сможете быстро сразу перенести все на карту памяти, а не по одному.

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

Какие приложения можно перенести на карту памяти и какие нельзя или не рекомендовано

Можно ли перенести все приложения на карту памяти? Нет все нельзя. Почему нельзя перенести все? Поэтому что это не предусмотрено системой андроид, производителем телефона или автором приложения.

Нельзя перенести на карту памяти SD whatsapp (ватсап), facebook – если встроенный был изначально, обновления, плей маркет, youtube, прошивку и другие изначально встроенные.

Некоторые владельцы смартфонов желают перенести кеш, особенно от игры – это доступно с помощью программы – «FolderMount».


Также можно легко перенести карты: от яндекс навигатор, навител (от navitel даже рекомендовано), garmin, ситигид, гугл карты.

Иногда меня спрашивают, как перенести viber и приложение вк на флеш карту сд. Это зависит от смартфона и версии андроид. Иногда система позволяет иногда нет.

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