У меня есть телефон Samsung GT-I9505 с установленным Google Edition Rom. Поскольку в моем телефоне 16 ГБ встроенной памяти, я купил microSD на 32 ГБ. Однако телефон по-прежнему использует эмулированную SD-карту для хранения всех данных.
Я просмотрел файловую систему и нашел два места, которые могут представлять интерес:
символическая ссылка: /sdcard -> /storage/emulated/legacy
символическая ссылка: /storage/sdcard0 -> /storage/emulated/legacy
Моя фактическая SD-карта, однако, находится на/storage/extSdCard
Насколько я понимаю, приложения используют первую символическую ссылку для доступа к SD-карте. Я пытался использовать эмулятор терминала с правами root, чтобы эти символические ссылки указывали в правильном направлении, однако он говорит, что файловая система доступна только для чтения.
Здесь я застрял и прошу вашей помощи, чтобы мой телефон использовал правильную SD-карту.
Насколько я знаю, вы можете изменить это, отредактировав /system/etc/vold.fstab
, но если в нем нет того, что вам нужно, вам, возможно, придется вмешаться init.rc
внутри boot.img
.
Я не уверен, что то, что вы пытаетесь сделать, безопасно, учитывая недавний переход на fuse
SD-карты.
Здесь несколько подходов, никто не пробовал себя, поскольку у меня никогда не было этой проблемы:
Во-первых, прежде чем вручную изменять символические ссылки, вам может потребоваться перемонтировать корневую файловую систему для чтения и записи. Тем не менее, даже если вам это удастся, вам, возможно, придется повторять действия после каждой перезагрузки — так что давайте проверим другие варианты.
Есть несколько доступных приложений , которые решают эту проблему, некоторые из них даже специфичны для устройств Samsung. Хорошим кандидатом, вероятно, является Root External 2 Internal SD , который «меняет местами» две карты именно так, как вы хотите. Никакой ручной возни с init.rc
или vold.fstab
не требуется.
Root External 2 Internal SD
, но это не помогло. Перемонтирование раздела /system позволило мне продвинуться немного дальше, но изменение символической ссылки /sdcard на /storage/extSdCard, похоже, не помогает. Приложения по-прежнему сохраняют данные на эмулированную SD-карту.getExternalFilesDirs()
и т. д.). Грустные новости. Но, может быть, изучение ссылок API на внешнее хранилище и его конфигурацию для конкретных устройств может пролить свет и дать полезные советы?
свз
vold.fstab
, но после перезагрузки никаких видимых изменений.Дантис
init
. Я думаю, вы можете попробовать изменитьinit.rc
, но сначала обязательно сделайте резервную копию Nandroid - вмешательство в ядро это рискованное дело!свз
sdcard
или чего-либо подобного вinit.rc
.Дантис
Дантис
init.qcom.rc
. Искатьexport EXTERNAL_STORAGE