Существует много разговоров о разделах Android, которые можно найти в Google. Иногда я могу найти ссылки на GPT в документации для мобильных процессоров или на разработчиков XDA (где я узнал, что некоторые устройства используют GPT в качестве своей схемы). Кроме того, не очень много дискуссий о том, какие устройства Android используют для хранения информации о разделах. Есть исключения: я знаю, что некоторые устройства используют метод, основанный на командной строке подсистемы MTD, как некоторые из более ранних устройств HTC, и я знаю, что устройства Qualcomm, кажется, используют таблицу разделов GUID.
Если разделы устройства представлены узлами устройства, начинающимися с mtd
или mtdblock
, то Linux получает информацию о разделах из аргументов загрузки. Если разделы представлены узлами устройства, начинающимися с mmcblk
, то схема разбиения неоднозначна. Это может быть использование таблицы разделов GUID, но проблема в том, что таблица должна начинаться с первого сектора, где, по моему опыту, находятся все начальные загрузчики первого этапа.
Точно так же, как информация о разделах на устройствах, с которых начинаются узлы разделов, mtd
может быть найдена /proc/mtd
на устройствах, с которых начинаются узлы устройств mmcblk
, такая же информация (обычно) может быть найдена на /proc/emmc
. Почему eMMC, тип устройства хранения данных, рассматривается как альтернатива MTD, который является интерфейсом для доступа к флэш-памяти, я не знаю. Но эта страница на GitHub, кажется, подразумевает, что информация о разделах для устройств с /proc/emmc
не собранной таблицей, как GPT.
На той же странице, похоже, также говорится, что ядра, загружаемые U-Boot, открывают разделы не так, как MTD или GPT. Вот отрывок:
Since MTK devices use the uboot mechanism, partitions including boot and recovery, are not revealed as separate partitions, but rather accessed sequencially by size and start parameters.
Это предложение становится бессмысленным для меня битом о последовательном доступе. Возможно, кто-то может объяснить это лучше.
Итак, насколько распространен GPT на устройствах Android? Я не видел ссылок на разделы на сайте разработчиков Android. Если загрузчики действительно хранятся после таблицы разделов, значит ли это, что чипы поддерживают GPT?
источник
fdisk -l /dev/block/mmcblk0
. Кстати, эта ветка может быть полезна: ссылка на таблицу разделов El GrandeОтветы:
Если я не ошибаюсь, GPT довольно распространен. Это довольно продвинутый формат, чем MBR. На моем Kitkat у них 36 разделов. GPT имеет такие функции, как резервное копирование таблицы разделов и имен / флагов, поддерживает больший диск, чем MBR. (редактировать: Android 6.0 предоставляет возможность использовать внешний носитель, который использует GPT в качестве формата раздела по умолчанию.)
Устройство может знать или может знать о GPT. Обычно с MBR первые 512 байт используются для таблицы разделов. Когда мы используем GPT, он не хранит никаких данных по 1-му сектору. Вместо этого отмечается как защитный MBR. Так что, если устройство ищет MBR, жалуется, что нет раздела.
Если вы заинтересованы в углубленном документе:
источник