суббота, 3 мая 2014 г.

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

Покупая телефон/планшет Вы заметили – что написано в характеристиках к примеру: «Встроенная память 4 Гб». Но на практике доступно памяти меньше, чем указано в спецификации устройства. Реально оказалось внутренней памяти для установки приложений всего 1Гб («Внутренняя память» раздел /data). Также часть встроенной памяти (из этих 4Гб) монтируется системой как карта памяти (SD, «Память телефона» раздел /emmc) и имеет размер 1,64 Гб. Вы скажете 1+1,64=2,64 но никак не 4. Где же остальное? А остальное используется для разделов, необходимых для работы самого устройства, которые пользователю недоступны. Это разделы boot,  recovery, nvram, cache и т.д. – в разных устройствах могут немного отличаться. Но это для нас уже лишнее, нас интересует – как нам увеличить размер диска «Внутренняя память», и как спокойно качать игры с КЭШами по 2Гб и играть в них. 
Инструкции для телефона как монитровать разделы дисков в систему находятся в файле vold.fstab , а он в свою очередь находится в /system/etc/vold.fstab. Добраться к нему можно с помощью любого файлового менеджера, с рут доступом. На примере моего Lenovo S750 ниже инфографик как монтируются разделы в системе по умолчанию:
Слева телефон, справа карта памяти физическая. Память телефона условно разделена на 2 раздела, ибо они только нам и нужны, хотя мы уже знаем – что там их немного больше. Вся проблема в том – что приложения и игры думают – что флешка это «зеленый» раздел, а не реальную флешку внимания не обращают.
Самое простое – что можно сделать в этой ситуации – это заставить монтировать разделы наоборот, т.е. чтоб флешка была в данном случае памятью телефона SD, а память телефона extSD.
Часто в телефонах от фирмы леново замечал в папке /system/etc две версии файла vold.fstab и vold.fstab.nand – в таком случае переименовываем vold.fstab к примеру в vold.fstab.backup, а vold.fstab.nand в просто vold.fstab. Затем перезагрузить устройство и должно получится вот так:

Если после перезагрузки не поменялись местами разделы, либо нет файла vold.fsrab.nand, то для начала вернуть всё на место, как было и редактировать вручную сам файл, для этого проще всего его скопировать на флешку, и далее в компьютер, на большом брате редактировать проще.
Файл может иметь такой вид:

## Vold 2.0 Generic fstab## - San Mehat (san@android.com)##
 ######################### Regular device mount#### Format: dev_mount <label> <mount_point> <part> <sysfs_path1...>
## label        - Label for the volume## mount_point  - Where the volume will be mounted## part         - Partition # (1 based), or 'auto' for first usable partition.## <sysfs_path> - List of sysfs paths to source devices###################### ## Example of a standard sdcard mount for the emulator / Dream# Mounts the first usable partition of the specified devicedev_mount sdcard /storage/sdcard0 emmc@fat /devices/platform/goldfish_mmc.0 /devices/platform/mtk-msdc.0/mmc_hostdev_mount sdcard2 /storage/sdcard1 auto /devices/platform/goldfish_mmc.1 /devices/platform/mtk-msdc.1/mmc_host## Example of a dual card setup# dev_mount left_sdcard  /mnt/sdcard1  auto /devices/platform/goldfish_mmc.0 /devices/platform/mtk-sd.0/mmc_host/mmc0# dev_mount right_sdcard /mnt/sdcard2  auto /devices/platform/goldfish_mmc.1 /devices/platform/mtk-sd.2/mmc_host/mmc2 ## Example of specifying a specific partition for mounts# dev_mount sdcard /mnt/sdcard 2 /devices/platform/goldfish_mmc.0 /devices/platform/msm_sdcc.2/mmc_host/mmc1 # usb otg disk
dev_mount usbotg /mnt/usbotg auto /devices/platform/mt_usb /devices/platform/musbfsh_hdrc

Редактировать лучше редакторами типа AkelPad, т.к. в них удобнее смотрится файл, с разметкой и переносами, в то время – как в обычном блокноте – всё в один ряд. Содержимое файлов может отличаться и дальше прийдется разбираться самим. Также умельцы делают патчи для телефонов, которые кроме того – что автоматически могут менять разделы местами, могут также изменять их размер, в таком случае мы можем получить почти всю доступную память в качестве внутренней памяти телефона (0,98 + 1,64 – но нужно еще чуток оставить для extsd раздела), например для моего Lenovo S750 благодаря добрым людям есть такой патч, после переразметки получается внутренняя память 2,5 Гб, а огрызок extsd – всего 143 мб. Но применяя такой патч всегда следует позаботиться о сохранности данных с флешки, внутренней памяти, да и полный бэкап не помешает никогда.

Комментариев нет:

Отправить комментарий

Написать комментарий