Как Android должен обрабатывать несколько разделов на внешней SD-карте?
В качестве эксперимента взял карту SDXC на 64 Гб, посмотрел в Gparted, оказывается она отформатирована exfat
, при старте какое-то количество Мб нераспределено. Используя gparted
и gnome-disks
, мне удалось разделить раздел на два exfat
раздела, каждый из которых должен иметь размер около 32 ГБ.
Вставил это в Xperia Z2, стандартное ПЗУ (последнее обновление Android 5.x). Телефон не выдавал никаких уведомлений при подключении SD-карты, но уведомлял об отключении карты и жаловался, что ее следует сначала отключить. Я проверил немного via adb logcat
, и похоже, что с монтированием все в порядке, так как /storage/sdcard1
. Но когда я смотрю на это через «Настройки/Хранилище», я вижу только 29,12 ГБ для «SD-карты». Подключив карту обратно к ПК, я вижу, что файлы Android сохранены только в первом разделе, а не во втором. Тот же результат, если первый раздел exfat
, а второй раздел fat32
.
Итак, в принципе, это ожидаемое поведение Android при наличии SD-карты с двумя разделами — он просто монтирует первый и игнорирует остальные? Могу ли я смонтировать второй раздел, скажем adb shell
, и нужно ли мне для этого корневое устройство?
По умолчанию Android использует только первый раздел, найденный на карте, и монтирует его, как описано в вашем вопросе. Последующие разделы будут игнорироваться. Это то, что используется такими инструментами, как link2sd : поскольку система не будет вмешиваться в другие разделы, они используют их для своих целей — будь то перемещение приложений для освобождения места во внутренней памяти (Link2SD), наличие раздела/файла подкачки или что-то в этом роде. еще.
Теперь, если вы хотите использовать несколько разделов в своих целях, вам придется позаботиться о них самостоятельно, что, наряду с очевидным созданием, также включает в себя монтирование. Для этого вам, скорее всего, понадобится root; Я не читал о доступном пользователю методе FUSE для этого (откройте, чтобы узнать, существует ли он :)
Я согласен с Иззи. У вас должен быть рутированный телефон для выполнения таких задач, как «монтирование». А андроид по умолчанию монтирует только первый раздел.
Среда Android довольно строгая, они даже запрещают обычным пользователям монтировать предохранители! Требуется рутированный мобильный телефон. Я где-то читал, что будущая версия Android позволяет использовать SD-карту для внутренней памяти. Я не знаю, разрешают ли они также раздел SD-карты.