Перейти к содержимому

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

ID: 1   Опубликовано: (изменено)

Более простой способ: Разметка памяти мобильных устройств

 

Это не так сложно, как кажется. У меня, во всяком случае, получилось, хотя я не гуру в андроиде  :D . Описываемый мною способ основывается на этой информации
 
Итак, кратко теория.
 
В нашем телефоне есть четыре больших раздела, размеры которых мы можем поменять:
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.
 
 

post-10353-0-21701300-1378193628_thumb.p
В начале идет куча нулей, четвертая строка снизу отвечает за data, третья снизу за SD. Если вы не собираетесь настраивать размеры разделов с точностью до килобайта, вам достаточно менять цифры только в столбце 08 и 0c. Те значения, которые мы будем менять, я выделил красным. Каждая единица в столбце соответствует 32мб. Как мы видим, в стандартной прошивке там число 18 в шестандцатиричной системе, что соответствует 24 в десятичной. Умножаем 24 на 32 и получаем как раз 768мб. На размер для SD не смотрите, он указан в виде "до конца памяти".
 
post-10353-0-81834300-1378198048_thumb.p
Итак, я увеличил размер /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!
Изменено пользователем linerty
Разметка памяти мобильных устройств

Поделиться этой записью


Ссылка на запись
Поделиться на других сайтах
  • Поделиться:

ID: 2   Опубликовано: (изменено)

Я так понял внутренней памяти в твоём телефоне 20 Мб и 2,5Гб под Data? И правленые файлы MBR и EBR1

для именно такой кройки?

 

 

1. Нам нужны custom recovery, чтобы не потерять наши данные. Я использовал TWRP, вроде бы сработает и на CWM

а на заводском прокатит?

Последовательность такая:.?

 

1.В папке с прошивкой заменить родные   MBR и EBR1 на изменённые

2. Нажать кнопку Scatter-Loading, перейти в папку с прошивкой в подпапку target_bin и выбрать файл MT6577_Android_scatter_emmc.txt

3. Снять галки со всех файлов кроме MBR и EBR1

4.нажать Download

 И не сочти просьбу за нахальство- поправь пожалуйста файлы для 2,5Gb внутренней и 80Gb SdCard.

ЗЫ прошивал с компа P770_ROW_S110_130204_ PC потом обновил до 113. 

после возможной перепрошивки разделы опять кроить?

 

 

 

Изменено пользователем Роман 1974

Поделиться этой записью


Ссылка на запись
Поделиться на других сайтах
  • Поделиться:

ID: 3   Опубликовано: (изменено)

Для других телефонов/прошивок берите за основу MBR и EBR1 из своих прошивок!

Верно, но...

Для других телефонов нужно быть ОЧЕНЬ внимательным. Может потребоваться править ещё и EBR2. Также, в них могут по другому описываться адреса/размеры разделов, не так как на P770.

Например, в EBR1 не разделы data и SD, а system.

От чего это зависит, от фирмы-производителя или версии андроида, я не понял. Вероятнее, от фирмы.

 

после возможной перепрошивки разделы опять кроить?

в смысле опять? во время перепрошивки сразу подмени MBR и EBR1...

Гм, а при прошивке будут шиться (шиться не по новым адресам, причём, а мимо :) ) и кэш и дата и СД... Вот этого я, честно говоря, не понимаю, для чего их необходимо шить, если потом, вроде как, надо делать фактори ресет.

 

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

Кроме этого есть ещё некий блок PMT, который будет хранить данные о старой разметке.

Я не знаю для чего этот блок вообще нужен (кроме того что MTK дроид тулз берет из него информацию про раметку разделов)... И как его нужно скорректировать, чтобы показывал новые размеры.

Вроде бы (насколько я понял Хакер'а), надо прошивать (во флештуле) не через кнопку "даунлоад", а через "фирмваре/апгрейд". И тогда PMT сделается правильный. Но чтобы отшиться через "фирмваре/апгрейд" необходимо шить ПОЛНУЮ прошивку, а не только даунлоадить файлы MBR и EBR1...

Можно вообще забыть что он есть, и не править его. Пусть будут старые значения, на работу смарта это не влияет.

А может PMT делается из scatter файла, я так толком и не понял...

Изменено пользователем KrAzY

Поделиться этой записью


Ссылка на запись
Поделиться на других сайтах
  • Поделиться:

Вроде бы (насколько я понял Хакер'а), надо прошивать (во флештуле) не через кнопку "даунлоад", а через "фирмваре/апгрейд". И тогда PMT сделается правильный. Но чтобы отшиться через "фирмваре/апгрейд" необходимо шить ПОЛНУЮ прошивку, а не только даунлоадить файлы MBR и EBR1...

Можно вообще забыть что он есть, и не править его. Пусть будут старые значения, на работу смарта это не влияет.

А может PMT делается из scatter файла, я так толком и не понял...

 

Если я правильно понял, PMT делается из scatter. По идее, можно подправить scatter, при этом убрать в нем разделы cache, data и возможно даже system, ведь он есть в бекапе. Точнее, не просто убрать, а добавить впереди __NODL_

Поделиться этой записью


Ссылка на запись
Поделиться на других сайтах
  • Поделиться:

Я так понял внутренней памяти в твоём телефоне 20 Мб и 2,5Гб под Data? И правленые файлы MBR и EBR1

для именно такой кройки?

 

 

Нет, data чуть меньше. 768 + 1,5Гб + 64мб. Я же cache не трогал.

 

а на заводском прокатит?

 

Не уверен. Возможно, потеряешь свои данные. 

 

 

 И не сочти просьбу за нахальство- поправь пожалуйста файлы для 2,5Gb внутренней и 80Gb SdCard.

 

Если cache не трогать, так не выйдет.

 

ЗЫ прошивал с компа P770_ROW_S110_130204_ PC потом обновил до 113. 

после возможной перепрошивки разделы опять кроить?

 

При большом желании можно сразу прошить раскроенную, но я пока не пробовал.

 

Поделиться этой записью


Ссылка на запись
Поделиться на других сайтах
  • Поделиться:
Если я правильно понял, PMT делается из scatter. По идее, можно подправить scatter, при этом убрать в нем разделы cache, data и возможно даже system, ведь он есть в бекапе. Точнее, не просто убрать, а добавить впереди __NODL_
Возможно. Тоже что-то краем глаза видел про __NODL_, но как это работает не проверял.

Поделиться этой записью


Ссылка на запись
Поделиться на других сайтах
  • Поделиться:

 

Если я правильно понял, PMT делается из scatter. По идее, можно подправить scatter, при этом убрать в нем разделы cache, data и возможно даже system, ведь он есть в бекапе. Точнее, не просто убрать, а добавить впереди __NODL_
Возможно. Тоже что-то краем глаза видел про __NODL_, но как это работает не проверял.

 

Мне вот тоже пока лень экспериментировать, может как-нибудь соберусь

Поделиться этой записью


Ссылка на запись
Поделиться на других сайтах
  • Поделиться:
Не уверен. Возможно, потеряешь свои данные
 

Данные какие? прошивку? Тоесть получу кирпич? Или тот хлам чем обычно заполняют телефоны(муза игры и тд)

походу мне надо сначала TWR Ставить.

Поделиться этой записью


Ссылка на запись
Поделиться на других сайтах
  • Поделиться:

 

Не уверен. Возможно, потеряешь свои данные
 

Данные какие? прошивку? Тоесть получу кирпич? Или тот хлам чем обычно заполняют телефоны(муза игры и тд)

походу мне надо сначала TWR Ставить.

 

 

лучше поставь, это не сложно

Поделиться этой записью


Ссылка на запись
Поделиться на других сайтах
  • Поделиться:

Каждый приходит к перераспределению памяти своим путём, хотя и вряд ли принципиально отличающимся от других. Совет в известной теме отложил на крайний случай - не хотелось уменьшать размер кэша. Решил ознакомиться с новостями на форуме, на котором месяц отсутствовал. Наткнулся на эту тему. Не воспользоваться описанным не смог. Теперь про впечатления.

 

0. Дано: Инжектор от Фокстрота. Бэкапил программы и данные Титаниумом, но не все - только те, данные которых мне тоже хотелось сохранить. Системные утилиты, сервисы не трогал - их при необходимости можно восстановить хоть перепрошивкой. Бэкапил бессистемно, но неоднократно за последние пару месяцев. Перед собственно процессом зашёл в рекавери (TWRP у меня) и сделал полный бэкап всех разделов на MicroSD-карту (внешнюю). Потом загрузился в обычном режиме и переписал полностью всё содержимое внутренней и внешней карт на ПК (со звуком, фотографиями и книгами получилось гигов 20 - потратил это время на знакомство и освежение в памяти всяких инструкций и советов, в т. ч. изложенное в этой теме изучил до понимания.

 

1. Дальше контроль предлагаемого EBR1, запуск Flash_tool.exe. Подсунул ему скаттер от ROW_S110, выбрал прошивку только EBR1, указав патченный файл. Подключил выключенный телефон - через несколько секунд всё было готово.

 

2. Включение телефона со входом в рекавери - что тут сказать? Постарались инженеры защитить кнопки громкости от случайного (и неслучайного) нажатия. Но без чехла, на удивление, получается с первого раза. Делаю по инструкции factory reset, затем TWRP ругается красной надписью "Fail" и предлагает перезагрузку (reboot). При старте появляется сообщение (в шторке) о необходимости форматирования внутренней SD-карты - соглашаюсь. Для 20 мегабайт - секундное дело. Всё?

 

3. Да не всё. Запускаю калькулятор с десктопа (не стал менять Apex из Инжектора, калькулятор же сторонний) - ругается, что программа удалена. Все программы, которые были перенесены на внешнюю карту, я проверять не стал. Но бэкап Титаниума тут и пригодился: восстановил всё с данными, но уже не стал переносить программы на внешнюю карту. Работоспособность всех программ ещё не проверил, но, надеюсь, тут если что и возникнет нежелательное, то решение найдётся. Пока у меня осталось свободными 1.5 Гб системной памяти. (Я, напомню, воспользовался предлагаемым в шапке разбиением, увеличив раздел data на 1.6 Гб за счёт внутренней SD-карты.)

 

Итого: бэкапить и ещё раз бэкапить (и приложения с данными, и разделы из кастомного рекавери). Читать инструкции до понимания.

 

PS. thunderboltmld, кстати, хорошо бы подправить в шапке шестнадцатиричные числа, явно указав для наглядности их с суффиксом "h", например:

Вычитаем: 4Ah (стало) - 18h (было) = 32h. Добавляем 41h (старый сдвиг SD), получаем число 73h.

 

Поделиться этой записью


Ссылка на запись
Поделиться на других сайтах
  • Поделиться:

ID: 11   Опубликовано: (изменено)

Сделал всё по инструкции. Имею системную память 3.6Gb, доступно 1.85Gb, внутреннюю SD 19,18Mb, доступно 1,14Мб (кинул mp3 для звонков и пр.). Спасибо автору и + в репу.

З.Ы. а какой теперь cache? Как и был 512+1мб? 

Изменено пользователем Роман 1974

Поделиться этой записью


Ссылка на запись
Поделиться на других сайтах
  • Поделиться:

Сделал всё по инструкции. Имею системную память 3.6Gb, доступно 1.85Gb, внутреннюю SD 19,18Mb, доступно 1,14Мб (кинул mp3 для звонков и пр.). Спасибо автору и + в репу.

З.Ы. а какой теперь cache? Как и был 512+1мб? 

Да, cache не поменялся

Поделиться этой записью


Ссылка на запись
Поделиться на других сайтах
  • Поделиться:

ID: 13   Опубликовано: (изменено)

Ну вот и у меня руки "дошли" до перераспределения, заодно проверил: 

 

При большом желании можно сразу прошить раскроенную, но я пока не пробовал.

 

Стояла 108(МВидео), рекавери родное.

MBR и EBR1 взял из шапки, запихал в 113 прошивку и Flesh Tool`ом залил на тело.

 

P.S.

Инструкция: http://lenovo-forums.ru/topic/729-%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F-%D0%BF%D0%BE-%D0%BF%D1%80%D0%BE%D1%88%D0%B8%D0%B2%D0%BA%D0%B5-lenovo-p770-%D1%81-%D0%BF%D0%BA/

Прошивка 113: http://lenovo-forums.ru/topic/2177-dump-p770-row-113-130424/

MBR и EBR1: http://lenovo-forums.ru/index.php?app=core&module=attach&section=attach&attach_id=4406

Изменено пользователем Laurelin

Поделиться этой записью


Ссылка на запись
Поделиться на других сайтах
  • Поделиться:

Сейчас проделал тоже семое что и Laurelin.

 

Все прошло успешно. Рекавери родное, прошивка 113 официальная. Спасибо!

Поделиться этой записью


Ссылка на запись
Поделиться на других сайтах
  • Поделиться:

а для чего брать ebr именно из своей прошивки? получается, что после установки другой прошивки размеры разделов восстановятся на заводские?

Поделиться этой записью


Ссылка на запись
Поделиться на других сайтах
  • Поделиться:

а для чего брать ebr именно из своей прошивки? получается, что после установки другой прошивки размеры разделов восстановятся на заводские?

Если другая прошивка ставится через флештул, то конечно восстановятся

Поделиться этой записью


Ссылка на запись
Поделиться на других сайтах
  • Поделиться:

Есть ли информация про распределение на MTK6589 устройствах?

У меня похоже и ebr2 используется, а вот как с ними работать я не понял, точнее нет полной информации по данной теме

Поделиться этой записью


Ссылка на запись
Поделиться на других сайтах
  • Поделиться:

Есть ли информация про распределение на MTK6589 устройствах?

У меня похоже и ebr2 используется, а вот как с ними работать я не понял, точнее нет полной информации по данной теме

 

Выложите здесь скаттер от вашей прошивки и скрины MBR, EBR1 и EBR2, посмотрим вместе

Поделиться этой записью


Ссылка на запись
Поделиться на других сайтах
  • Поделиться:
распределение на MTK6589
распределение зависит не от модели процессора, а от программной начинки (от версии Андроида? не знаю). Или от производителя...

На 6577 я видел три разных способа разметок в MBR,  EBR1 (и раз было и в EBR2 тоже).

Поделиться этой записью


Ссылка на запись
Поделиться на других сайтах
  • Поделиться:

ID: 20   Опубликовано: (изменено)

Выложите здесь скаттер от вашей прошивки и скрины MBR, EBR1 и EBR2, посмотрим вместе

Вот мои MBR, EBR1 и EBR2

BootRecord.7z

EBR1_25 и EBR2_25 - это я уже сделал с распределением на 2,5Гб. Практически вроде работает, но есть подозрение что не все правильно сделал.

Информацию по распределению взял здесь - на этой основе и распределил.

И вот здесь еще есть и здесь подробнее.

 

Вот далее смотрим типа скринов (снял копию в тексте)

cat /proc/emmcpartno:    start_sect   nr_sects  partition_nameemmc_p1: 00000400 00000002 "ebr1"emmc_p2: 00006800 00005000 "protect_f"emmc_p3: 0000b800 00005000 "protect_s"emmc_p4: 00016c00 00003000 "sec_ro"	emmc_p5: 00021000 00145000 "android"emmc_p6: 00166000 00080000 "cache"emmc_p7: 001e6000 00200000 "usrdata"emmc_p8: 003e6000 00347800 "fat"_____________________________________________________________Оригинальные файлы MBR, EBR1, EBR2MBR:0000000001C0:  00 00 05 00│00 00 00 04│00 00 FF FF│FF FF 00 000000000001D0:  00 00 83 00│00 00 00 68│00 00 00 50│00 00 00 000000000001E0:  00 00 83 00│00 00 00 B8│00 00 00 50│00 00 00 000000000001F0:  00 00 83 00│00 00 00 6C│01 00 00 30│00 00 55 AAEBR1:0000000001C0:  00 00 83 00│00 00 00 0C│02 00 00 50│14 00 00 000000000001D0:  00 00 83 00│00 00 00 5C│16 00 00 00│08 00 00 000000000001E0:  00 00 83 00│00 00 00 5C│1E 00 00 00│20 00 00 000000000001F0:  00 00 05 00│00 00 00 B8│01 00 FF FF│FF FF 55 AAEBR2:0000000001C0:  00 00 83 00│00 00 00 A4│3C 00 00 78│34 00 00 000000000001D0:  00 00 00 00│00 00 00 00│00 00 00 00│00 00 00 000000000001E0:  00 00 00 00│00 00 00 00│00 00 00 00│00 00 00 000000000001F0:  00 00 00 00│00 00 00 00│00 00 00 00│00 00 55 AA______________________________________________________________Измененные файлы под 2.5 ГбEBR1_25:0000000001C0:  00 00 83 00│00 00 00 0C│02 00 00 50│14 00 00 000000000001D0:  00 00 83 00│00 00 00 5C│16 00 00 00│08 00 00 000000000001E0:  00 00 83 00│00 00 00 5C│1E 00 00 00│50 00 00 000000000001F0:  00 00 05 00│00 00 00 B8│01 00 FF FF│FF FF 55 AAEBR2_25:0000000001C0:  00 00 83 00│00 00 00 A4│68 00 00 78│95 00 00 000000000001D0:  00 00 00 00│00 00 00 00│00 00 00 00│00 00 00 000000000001E0:  00 00 00 00│00 00 00 00│00 00 00 00│00 00 00 000000000001F0:  00 00 00 00│00 00 00 00│00 00 00 00│00 00 55 AA
Изменено пользователем Andrey_GAV

Поделиться этой записью


Ссылка на запись
Поделиться на других сайтах
  • Поделиться:

Перераспределение для Lenovo-A660 (делал по расчетам автора темы, все работает).

Увеличение DATA за счет Cache и частично внутренней SD.

 

Результат:

внутренняя (системная) память 3,79Гб;

внутренняя SD-карта 565,8Мб;

Cache 128Мб.

 

Краткое описание действий:

1. Backup (Boot, Data, System) в TWRP 2.5.0.0;

2. Прошиваем MBR и EBR1 с помощью FlashTool (Download);

3. Wipe (Cache, Dalvik-cache, Data, System);

4. Restore (Boot, Data, System);

5. Reboot system.

6. Форматирование SD по запросу системы.

расширенное описание в шапке темы.

 

Есть готовые файлы MBR и EBR1 MBR_EBR1_A660.zip

 

52526869bc4b8_MBR_LenovoA660.jpg

 

52526a1cce69a_EBR1_LenovoA660.jpg

 

 

P.S. как по мне, так хорошее соотношение перераспределения разделов, если прошивка кастомная то обновления по воздуху не будет, соответственно Cache в полном объёме не нужен, а оставшийся кусок внутренней SD вполне годится для файлов создаваемых системой, так же своих картинок и мелодий привязанных к тел.кн. и т.п. (т.е. безболезненное форматирование внешней SD или же её замена).

Это моё мнение и мне так удобнее.

Поделиться этой записью


Ссылка на запись
Поделиться на других сайтах
  • Поделиться:

 

Выложите здесь скаттер от вашей прошивки и скрины MBR, EBR1 и EBR2, посмотрим вместе

Вот мои MBR, EBR1 и EBR2

attachicon.gifBootRecord.7z

EBR1_25 и EBR2_25 - это я уже сделал с распределением на 2,5Гб. Практически вроде работает, но есть подозрение что не все правильно сделал.

Информацию по распределению взял здесь - на этой основе и распределил.

И вот здесь еще есть и здесь подробнее.

 

Вот далее смотрим типа скринов (снял копию в тексте)

cat /proc/emmcpartno:    start_sect   nr_sects  partition_nameemmc_p1: 00000400 00000002 "ebr1"emmc_p2: 00006800 00005000 "protect_f"emmc_p3: 0000b800 00005000 "protect_s"emmc_p4: 00016c00 00003000 "sec_ro"	emmc_p5: 00021000 00145000 "android"emmc_p6: 00166000 00080000 "cache"emmc_p7: 001e6000 00200000 "usrdata"emmc_p8: 003e6000 00347800 "fat"_____________________________________________________________Оригинальные файлы MBR, EBR1, EBR2MBR:0000000001C0:  00 00 05 00│00 00 00 04│00 00 FF FF│FF FF 00 000000000001D0:  00 00 83 00│00 00 00 68│00 00 00 50│00 00 00 000000000001E0:  00 00 83 00│00 00 00 B8│00 00 00 50│00 00 00 000000000001F0:  00 00 83 00│00 00 00 6C│01 00 00 30│00 00 55 AAEBR1:0000000001C0:  00 00 83 00│00 00 00 0C│02 00 00 50│14 00 00 000000000001D0:  00 00 83 00│00 00 00 5C│16 00 00 00│08 00 00 000000000001E0:  00 00 83 00│00 00 00 5C│1E 00 00 00│20 00 00 000000000001F0:  00 00 05 00│00 00 00 B8│01 00 FF FF│FF FF 55 AAEBR2:0000000001C0:  00 00 83 00│00 00 00 A4│3C 00 00 78│34 00 00 000000000001D0:  00 00 00 00│00 00 00 00│00 00 00 00│00 00 00 000000000001E0:  00 00 00 00│00 00 00 00│00 00 00 00│00 00 00 000000000001F0:  00 00 00 00│00 00 00 00│00 00 00 00│00 00 55 AA______________________________________________________________Измененные файлы под 2.5 ГбEBR1_25:0000000001C0:  00 00 83 00│00 00 00 0C│02 00 00 50│14 00 00 000000000001D0:  00 00 83 00│00 00 00 5C│16 00 00 00│08 00 00 000000000001E0:  00 00 83 00│00 00 00 5C│1E 00 00 00│50 00 00 000000000001F0:  00 00 05 00│00 00 00 B8│01 00 FF FF│FF FF 55 AAEBR2_25:0000000001C0:  00 00 83 00│00 00 00 A4│68 00 00 78│95 00 00 000000000001D0:  00 00 00 00│00 00 00 00│00 00 00 00│00 00 00 000000000001E0:  00 00 00 00│00 00 00 00│00 00 00 00│00 00 00 000000000001F0:  00 00 00 00│00 00 00 00│00 00 00 00│00 00 55 AA

Не нравится мне ваш EBR2. По идее, там не 68 должно быть, а 6C. И не 95, а 04

Поделиться этой записью


Ссылка на запись
Поделиться на других сайтах
  • Поделиться:
Не нравится мне ваш EBR2. По идее, там не 68 должно быть, а 6C. И не 95, а 04

Это ведь про мой измененный файл? Возможно и так.... - Я сам так и не понял как правильно сделать.

Можешь расписать как ты так посчитал? Я запутался совсем уже...

Поделиться этой записью


Ссылка на запись
Поделиться на других сайтах
  • Поделиться:

Это ведь про мой измененный файл? Возможно и так.... - Я сам так и не понял как правильно сделать.

Можешь расписать как ты так посчитал? Я запутался совсем уже...

 

Да все просто. Ты добавил 30h в 4-й с конца столбец 3-й строки EBR1, увеличив тем самым размер раздела data. Значит, теперь надо сдвинуть начало раздела FAT на эти же 30h и уменьшить размер раздела fat тоже на 30h. Значит добавляем 30h в 9-м столбце первой строки EBR2 и вычитаем 30h из 4-го с конца столбца этой же строки. 

Поделиться этой записью


Ссылка на запись
Поделиться на других сайтах
  • Поделиться:

ID: 25   Опубликовано: (изменено)

Да все просто. Ты добавил 30h в 4-й с конца столбец 3-й строки EBR1, увеличив тем самым размер раздела data. Значит, теперь надо сдвинуть начало раздела FAT на эти же 30h и уменьшить размер раздела fat тоже на 30h. Значит добавляем 30h в 9-м столбце первой строки EBR2 и вычитаем 30h из 4-го с конца столбца этой же строки.

Логично.

Выходит берем за правильную разметку - это родные данные.

Тогда выходит так:

В EBR1:

0000000001E0: 00 00 83 00│00 00 00 5C│1E 00 00 00│20 00 00 00

начало раздела с 001e5c00h размер 00200000h (1.073.741.824 байт), меняем на 00500000h (2.684.354.560 байт)

0000000001F0: 00 00 05 00│00 00 00 B8│01 00 FF FF│FF FF 55 AA

 здесь идет следующий раздел, 0001b800h - это адрес чего? начала раздела или начала записи EBR2? и длинной до конца памяти

 

В EBR2:

0000000001C0: 00 00 83 00│00 00 00 A4│3C 00 00 78│34 00 00 00

начало раздела 003ca400h и размер 00347800h (1760559104 байт) - это раздел FAT? почему метка у него 83 - как линукс?

 

В общем я запутался с адресацией на начала разделов и на начала записи EBR-ов и отступов между разделами.

Выходит у меня вложенная структура:

MBR описывает основной раздел со своим EBR1 и разделы "protect_f", "protect_s", "sec_ro"

EBR1 - разделы "android""cache""usrdata" и в нем еще следующий раздел со своим EBR2

EBR2 - содержит только "fat"

Изменено пользователем Andrey_GAV

Поделиться этой записью


Ссылка на запись
Поделиться на других сайтах
  • Поделиться:

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта.


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас
  • Поделиться:
Скрыть сайдбар
  • Недавние просмотры   0 members

    No registered users viewing this page.

×