Перераспределение памяти телефона вручную

Как известно, для перераспределения памяти есть тема, но, некоторым хочется распределить по-своему, например, не трогать размер cache. Это не так сложно, как кажется. У меня, во всяком случае, получилось, хотя я не гуру в андроиде  :). Описываемый мною способ основывается на этой информации

Итак, кратко теория

В нашем телефоне есть четыре больших раздела, размеры которых мы можем поменять:

  • system (в стандартной прошивке размер 768мб + 1мб между разделами)
  • cache (512мб + 1мб)
  • data (768мб + 1мб)
  • SD (около 1.5Гб)

Раздел system лучше от греха подальше не трогать, такой большой размер cache вроде бы нужен для нормальной работы OTA (обновление по воздуху). Так как эти обновления бывают редко, бОльшую часть времени этот раздел практически пустой и в этой программе во всех вариантах переразметки кэш уменьшают. Ну и святое дело отгрызть от внутренней SD, если все равно стоит внешняя SD :D.

Размеры этих разделов хранятся в MBR и EBR1. Но, просто изменить их там недостаточно, надо потом заново отформатировать изменившиеся разделы.

Общая схема действий

  1. Нам нужны custom recovery, чтобы не потерять наши данные. Я использовал TWRP, вроде бы сработает и на CWM
  2. Если у вас что-то записано на внутренней SD, перепишите это на внешнюю SD. Если какие-то программы установлены на внутреннюю карту, то либо переустановите на телефон, либо забекапьте с помощью Titanium
  3. Заходим в recovery и делаем backup, разделы system и data. Будьте внимательны, бекап надо сделать на внешнюю SD. По умолчанию TWRP может сделать бекап на внутреннюю SD и тогда вы его потеряете после переразметки!
  4. Записываем через Flash Tool измененные файлы MBR и EBR1 (как именно менять чуть ниже)
  5. Заходим в recovery и делаем Wipe -> factory reset, при этом и отформатируются нужные разделы. Если при этом менялся размер SD, вы увидите кучу сообщений об ошибке, но не переживайте, ничего страшного в этом нет.
  6. Тут же в recovery сделайте restore
  7. Запустите аппарат. Вы увидите сообщение о том, что SD надо отформатировать, отформатируйте.
  8. Наслаждайтесь :D

Как и что менять в MBR и EBR1

Прежде всего нам нужен какой-нибудь Hex Editor. Например, этот

Сами файлы MBR и EBR1 берете из прошивки для Flash Tool, той, которая у вас установлена. Можно также их скачать из телефона напрямую, с помощью того же Flash Tool. В файле MBR записаны размеры разделов system и cache, в файле EBR1 - data и SD. 

Рассмотрим самый простой случай: мы хотим увеличить размер data за счет SD, не трогая cache.

Вот так выглядит стандартный EBR1.

В начале идет куча нулей, четвертая строка снизу отвечает за data, третья снизу за SD. Если вы не собираетесь настраивать размеры разделов с точностью до килобайта, вам достаточно менять цифры только в столбце 08 и 0c. Те значения, которые мы будем менять, я выделил красным. Каждая единица в столбце соответствует 32мб. Как мы видим, в стандартной прошивке там число 18 в шестандцатиричной системе, что соответствует 24 в десятичной. Умножаем 24 на 32 и получаем как раз 768мб. На размер для SD не смотрите, он указан в виде "до конца памяти".

 

Вот так выглядит мой EBR1.

Итак, я увеличил размер /data. Сейчас у меня в столбце прописано число 4a. Запустите калькулятор винды, выберите вид программиста, выберите Hex, наберите 4a, потом выберите Dec. Вы увидите, что это соответствует 74 в десятичной системе, то есть 2368Мб. Раз мы увеличили размер раздела /data, мы должны сдвинуть начало раздела SD. На сколько увеличили размер, настолько и сдвигаем. Запускаем калькулятор, вид программист, режим Hex. Вычитаем: 4a (стало) - 18 (было) = 32. Добавляем 41 (старый сдвиг SD), получаем число 73. Его и записываем в столбце 08 в строке SD. Но, надо и уменьшить размер SD. В том же калькуляторе набираем BE (старое значение из столбца 0c для SD) и вычитаем 32, получаем число 8C, которое и прописываем в столбце 0c. (Обратите внимание, все числа в шестандцатеричном формате) В этом случае размер SD получился около 20Мб. Чтобы этот хвостик не мешал, можно применить патч из основной темы про перераспределение памяти.

Не запутались? На всякий случай, прикладываю свои файлы MBR и EBR1. mbr_ebr1.zip

Если же вы хотите и размер cache изменить, схема в принципе та же, только задействуется еще и файл MBR. Cache в нем указан в последней строке. В родной прошивке там стоит число 10, что соответствует 16 в десятичной системе, умножаем на 32, получаем 512Мб. Если вы хотите, например, уменьшить его в два раза, значит в столбце 0c для cache пишете 08, соответственно надо сдвинуть начало /data (уменьшаем значение в столбце 08 в файле EBR1 для data на 8) и увеличить размер data (увеличиваем значение в столбце 0c в файле EBR1 для data на 8)

Надеюсь, понятно объяснил :) 

Внимание! Файлы, которые я выложил, подходят для P770, прошивка 110/113. Для других телефонов/прошивок берите за основу MBR и EBR1 из своих прошивок! Возможно, у вас используется также и файл EBR2!

thunderboltmld

Забавное из жизни планшетов...

iPhone 5 Прикол
...другие приколы...
 

Реклама

Все права принадлежат PlanshetClub.ru. При копировании материала ссылка обязательна. 2011-2013 © PlanshetClub.ru