Alcatel Idol 3 (4.7") 6039Y. Переразметка внутренней памяти.

label
label
label
Продолжаем тему про Alcatel Idol 3 (6039Y) ... Не так давно я публиковал его обзор, а также способ установки TWRP и получения root-прав. И вот сегодня "всплыла" очередная интересная информация про этот аппарат. Как вы могли наверное понять из обзора, в 6039Y установлено 8 Gb внутренней памяти. Однако, это не совсем так. Как выяснилось, благодаря пользователю petrov.0 с форума xda-developers - в аппарате все же установлена 16 Gb'ная память. В этом посте - [6039y] **GUIDE** Repartitioning of the internal memory находится подробное руководство по переразметке памяти и увеличению раздела userdata за счет userdatabak, предназначение которого, честно говоря, пока непонятно. Все операции делаются через TWRP с интегрированным gdisk. На интерес, я решил посмотреть карту разделов в своем 6039Y:

Disk /dev/block/mmcblk0: 30535680 sectors, 14.6 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 98101B32-BBE2-4BF2-A06E-2BB33D000C20
Partition table holds up to 40 entries
First usable sector is 34, last usable sector is 30535646
Partitions will be aligned on 2-sector boundaries
Total free space is 256464 sectors (125.2 MiB)

Number Start (sector) End (sector) Size Code Name
1 131072 262143 64.0 MiB 0700 modem
2 262144 265215 1.5 MiB FFFF tunning
3 265216 267263 1024.0 KiB FFFF traceability
4 267264 267265 1024 bytes FFFF fsc
5 267266 267281 8.0 KiB FFFF ssd
6 267282 268305 512.0 KiB FFFF sbl1
7 268306 269329 512.0 KiB 0700 sbl1bak
8 269330 270353 512.0 KiB FFFF rpm
9 270354 271377 512.0 KiB 0700 rpmbak
10 271378 272401 512.0 KiB FFFF tz
11 272402 273425 512.0 KiB 0700 tzbak
12 273426 274449 512.0 KiB FFFF hyp
13 274450 275473 512.0 KiB 0700 hypbak
14 275474 278545 1.5 MiB FFFF modemst1
15 278546 281617 1.5 MiB FFFF modemst2
16 281618 283665 1024.0 KiB FFFF simlock
17 283666 286737 1.5 MiB FFFF efsdata
18 393216 393279 32.0 KiB FFFF DDR
19 393280 396351 1.5 MiB FFFF fsg
20 396352 396383 16.0 KiB FFFF sec
21 396384 398431 1024.0 KiB FFFF aboot
22 398432 400479 1024.0 KiB 0700 abootbak
23 400480 466015 32.0 MiB FFFF boot
24 466016 531551 32.0 MiB FFFF recovery
25 531552 4306427 1.8 GiB FFFF system
26 4325376 4390911 32.0 MiB FFFF persist
27 4390912 4407295 8.0 MiB FFFF splash
28 4407296 4448255 20.0 MiB 0700 tctpersist
29 4448256 4468735 10.0 MiB 0700 hdcp
30 4468736 4468751 8.0 KiB FFFF fota
31 4468752 4993039 256.0 MiB FFFF cache
32 4993040 4995087 1024.0 KiB FFFF misc
33 4995088 4996111 512.0 KiB FFFF keystore
34 4996112 4996175 32.0 KiB FFFF config
35 4996176 4996303 64.0 KiB FFFF oem
36 4996304 5000399 2.0 MiB FFFF FactoryRP
37 5000400 15269853 4.9 GiB FFFF userdata
38 15269854 30535646 7.3 GiB 0700 userdatabak

Как можно увидеть номер последнего сектора 30535646, при размере сектора в 512 байт получаем 30535646*512 = 15634250752 байт. Т.е. 16 Gb eMMC Flash. Подробную информацию о разделах userdata и userdatabak вы можете видеть ниже:

Partition GUID code: 1B81E7E6-F50D-419B-A739-2AEEF8DA3335 (Unknown)
Partition unique GUID: BDD7FA27-93D4-40BC-B266-313E074E0E87
First sector: 5000400 (at 2.4 GiB)
Last sector: 15269853 (at 7.3 GiB)
Partition size: 10269454 sectors (4.9 GiB)
Attribute flags: 0000000000000000
Partition name: 'userdata'

Partition GUID code: EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (Microsoft basic data)
Partition unique GUID: BD12CF41-10E7-BBF7-D096-5553B89882E7
First sector: 15269854 (at 7.3 GiB)
Last sector: 30535646 (at 14.6 GiB)
Partition size: 15265793 sectors (7.3 GiB)
Attribute flags: 0000000000000000
Partition name: 'userdatabak'

Перед тем как делать переразметку, я решил все-таки посмотреть на содержимое раздела userdatabak, хотя бы ради того чтобы попытаться понять что же там хранится. Для этого я решил скопировать образ раздела целиком на ПК с помощью NetCat (методику я уже описывал тут), правда здесь я пошел по более простому пути, без использования mkfifo и т.п. Вообщем, что я сделал, загрузился в TWRP, далее:

adb forward tcp:5555 tcp:5555 (для перенаправления порта из adb, это на ПК)
nc -l -p 5555 -e dd if=/dev/block/platform/soc.0/by-name/userdatabak (в adb shell на устройстве)
nc 127.0.0.1 5555 > userdatabak (на ПК)

В результате я получил копию раздела userdatabak в соответствующем файле на ПК. Оказалось что он состоит из одних 0x00, т.е. по-сути пустой и по всей видимости никак не используется ОС аппарата. Поэтому я решил провести эксперимент и провести переразметку на своем устройстве. Предварительно, я все же сделал его backup через свой TWRP из этого поста, в других сборках TWRP во время длительной операции создания backup'а включается "хранитель экрана", т.е. на экране при этом появляется надпись "Swipe to unlock" и как раз свайпом закрыть этот хранитель экрана нельзя, т.е. выйти из этого состояния невозможно. В моей сборке TWRP эта проблема решена, хранитель экрана просто не активируется. Ну а теперь сама инструкция по переразметке.

Переразметка памяти на Alcatel Idol 3 (6039Y)

  1. Скачиваем TWRP с интегрированным gdisk, а также последний platform-tools (т.е. adb и fastboot), если у вас еще его нет. Взять комплект с platform-tool можно, например, из этого архива (там же будет и TWRP моей сборки).
  2. Активируем на телефоне отладку по USB в меню разработчика. Меню разработчика на Alcatel Idol 3 (6039Y) активируется стандартным способом, т.е. тапаем 7 раз по Номер версии в информации о телефоне и становимся разработчиками, после чего ставим галочку [x] Отладка по USB. Либо же ставим из Play Market приложение Debug Menu Access и заходим в меню "Для разработчиков" через него.
  3. Далее перезагружаем телефон в режим bootloader через ADB, т.е. выполняем в консоли:
    adb reboot bootloader
  4. Далее загружаемся в TWRP с поддержкой gdisk - fastboot -i 0x1bbb boot twrp-2.8.7.0-idol3-6039y-with-gdisk.img
  5. Заходим в консоль ADB - adb shell и отмонтируем разделы umount /cache && umount /sdcard && umount /and-sec
  6. Запускаем gdisk и смотрим карту разделов - gdisk /dev/block/mmcblk0 , в появившемся меню вводим команду p и нажимаем Enter. В результате на экране у вас появляется карта разделов:


  7. Далее получаем информацию о разделах userdata и userdatabak с помощью команды i , т.е. вводим сначала i, а потом номер интересующего нас раздела, 37 и 38. Получаем что-то вроде:

    Здесь нас интересуют Partition GUID code, First sector, Last sector и Partition name. Эти данные понадобятся нам при переразметке.
  8. Сохраняем backup текущей таблицы разделов с помощью команды b , в качестве имени файла вводим /external_sd/gpt.backup:


  9. Удаляем разделы 37 и 38 с помощью команды d:

  10. Создаем новый раздел 37 (userdata) с таким же Partition GUID code и start sector с помощью n :
    Подчеркнутые значения вводятся нами вручную. Здесь 5000400 - это первый сектор раздела 37, который мы узнали на шаге 7, 30535546 - его последний сектор (это значение новое), а 1B81E7E6-F50D-419B-A739-2AEEF8DA3335 - это Partition GUID code раздела 37, тоже из 7-го шага.


  11. Аналогично используем команду n для создания раздела 38:

    Здесь все аналогично. В качестве First sector указываем 30535547, следующий за последним сектором раздела 37 сектор. Последний сектор - это 30535646, т.е. последний сектор раздела 38, как он и был у нас раньше, а EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 - это Partition GUID code раздела 38. Обратите внимание, что все значения нужно вводить без ошибок (!) и ни в коем случае не соглашаться с значениями предлагаемыми по-умолчанию. Т.к. если просто в каком-то месте случайно нажать Enter не введя значение - можно нечаянно повредить структуру разделов.


  12. Задаем вновь созданным разделам имена с помощью команды c :


  13. Проверяем новую структуру разделов с помощью команды p , т.е. смотрим что у нас получилось (изменения в структуру на самом деле еще не внесены):
    37         5000400        30535546   12.2 GiB    FFFF  userdata
    38 30535548 30535646 49.5 KiB 0700 userdatabak

  14. И если у нас все также, т.е. раздел userdata (37) имеет размер 12.2 Gib, а userdatabak (38) - 49.5 KiB - фиксируем изменения в структуре разделов с помощью команды - w :
    И выходим из gdisk с помощью команды q.


  15. Теперь мы должны откорректировать файловую систему под новый размер раздела, делаем последовательно:

    e2fsck -f /dev/block/mmcblk0p37 (проверка файловой системы, если найдены ошибки - отвечаем yes, т.е. y)
    resize2fs -f /dev/block/mmcblk0p37 (изменение размера ФС, если вас интересует полный мануал по команде resizefs - его можно найти, например, здесь)
  16. На этом всё, переразметка завершена - перезагружаем устройство с помощью reboot.
Результат:


Как видно из скриншотов меню Настройки -> Память, AIDA64 и CPU-Z размер раздела внутренней памяти (userdata) вырос у нас до 11.91 ГБ за счет сокращения места в непонятном разделе userdatabak. Что и требовалось получить ...

p.s. Совсем забыл сказать, данные в userdata (т.е. все ваши установленные приложения, сохраненные файлы и т.п.) в процессе переразметки остаются на месте. Тем неменее перед проведением процедуры - я бы все равно сделал backup на внешнюю microSD через TWRP, во-избежание, так сказать.

Полезные ссылки


Обновлено 26.09.2015 16:14

Два важных замечания. После обновления версии прошивки до 010 04 fastboot становится недоступным, на данный момент есть два решения - восстановление работоспособности fastboot на 010 04, либо прошивка TWRP через QFIL, описанная в этом посте - Alcatel Idol 3. Прошивка TWRP на версии ПО 010 04 и выше.

Также, для автоматизации процесса переразметки теперь достаточно прошить вот этот 6039Y_repartitioning.zip через TWRP. Все действия описанные в статье в нем выполняются автоматически в пакетном режиме с использованием - sgdisk. Т.е. для увеличения объема свободной памяти в разделе userdata можно просто загрузиться в TWRP и через Install Zip установить zip для переразметки.

Обновлено 04.10.2015 07:05

Выяснилось что на некоторых аппаратах (видимо, зависит от партии) объем физической памяти не 16 Gb, а именно 8 Gb, как заявлено. Естественно что провести переразметку на таком аппарате нельзя. Чтобы узнать заранее сколько памяти установлено в вашем Alcatel Idol 3 4.7" 6039Y можно воспользоваться приложением Idol 3 Firmware Checker, которое показывает информацию о версии установленной прошивке и объеме физической памяти, установленной в аппарате.


Внимание! Материалы приведенные в данной статье размещены в ознакомительных целях. Все действия описанные в данной статье вы осуществляете на свой страх и риск! Автор(ы) статьи не несут ответственности за вышедшее из строя оборудование, в результате ошибочных действий или неверного понимания вами смысла изложенного в ней материала, а также в силу любых прямых и косвенных причин, которые потенциально могут привести к неработоспособности вашего устройства или любым другим проблемам с ним. Если вы не уверены в своих силах, сомневаетесь и т.п. - не выполняйте ничего из вышеописанного. Используя материалы из этой статьи вы соглашаетесь с тем, что ответственность за ваши действия несете вы и только вы.
Share This :



sentiment_satisfied Emoticon