11 votes

Est-ce que la plupart des appareils Android utilisent GPT comme schéma de partitionnement ?

On parle beaucoup des partitions Android que l'on peut trouver chez Google. Parfois, je peux trouver des références à GPT dans la documentation des processeurs mobiles ou sur XDA Developers (où j'ai appris que certains appareils utilisent effectivement GPT comme schéma). En dehors de cela, il n'y a pas beaucoup de discussions sur ce que les appareils Android utilisent pour stocker les informations de partition. Il y a des exceptions : Je sais que certains appareils utilisent la méthode basée sur la ligne de commande du sous-système MTD, comme certains des premiers appareils HTC, et je sais que les appareils Qualcomm semblent utiliser une table de partition GUID.

Si les partitions d'un périphérique sont représentées par des nœuds de périphérique commençant par mtd o mtdblock Linux reçoit alors les informations de partition à partir des arguments de démarrage. Si les partitions sont représentées par des nœuds de périphériques commençant par mmcblk alors le schéma de partition est ambigu. Il pourrait utiliser une table de partition GUID, mais le problème est que la table devrait commencer au premier secteur, qui est également l'endroit où se trouvent tous les chargeurs de démarrage de première étape, selon mon expérience.

Tout comme les informations de partition sur les périphériques dont les nœuds de partitions commencent par mtd peuvent être trouvés dans /proc/mtd sur les dispositifs dont les nœuds commencent par mmcblk les mêmes informations peuvent (généralement) être trouvées à l'adresse suivante /proc/emmc . Je ne sais pas pourquoi l'eMMC, un type de périphérique de stockage, est traité comme une alternative à la MTD, qui est une interface d'accès au stockage flash. Mais este sur GitHub semble impliquer que les informations de partition pour les dispositifs avec /proc/emmc n'est pas réuni une table comme GPT.

Cette même page semble également dire que les noyaux démarrés par U-Boot exposent les partitions d'une manière différente de MTD ou GPT. Voici le passage :

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.

Cette phrase est vidée de son sens pour moi par la partie concernant l'accès séquentiel. Peut-être que quelqu'un peut mieux l'expliquer.

Le GPT est-il courant sur les appareils Android ? Je n'ai vu aucune référence au partitionnement sur le site des développeurs Android. Si les chargeurs de démarrage sont effectivement stockés après la table de partition, cela signifie-t-il que les puces tiennent compte de GPT ?

5voto

lakshmipathi Points 211

Si je ne me trompe pas, GPT est assez courant. C'est un format plus avancé que le MBR. Sur mon Kitkat, il y a 36 partitions. GPT a des fonctions comme la sauvegarde de la table de partition et le nommage/flag, et supporte des disques plus grands que MBR. (edit:Android 6.0 introduit la possibilité de adopter un support de stockage externe qui utilise GPT comme format de partition par défaut).

Le dispositif peut ou non connaître le GPT. Typiquement, avec MBR, les premiers 512 octets sont utilisés pour la table de partition. Lorsque nous utilisons GPT, il ne stocke pas de données sur le premier secteur. Au lieu de cela, il marque comme il protège MBR. Ainsi, si un appareil qui cherche le MBR se plaint qu'il n'y a pas de partition.

Si vous êtes intéressé par un document approfondi :

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X