Partitions et utilisation disque sous Android

Mise à jour : Android 7 - LineageOS 14

Android dispose d'un noyau de type Linux. Ce document décrit le partitionnement et l'utilisation du disque à partir du shell.

Sommaire

1 - Partitionnement et système de fichier

Note : certaines commandes peuvent ne pas être disponibles dans la ROM de base : fdisk, blkid, ... et nécessiter les droits root. En mode recovery TWRP, ces commandes sont disponibles via la busybox intégrée et les droits root intégrés.

1.1 - Liste des unités de stockage physique

crackling:/ # ls -l sys/block |grep -vE "loop|ram"                             
total 0
lrwxrwxrwx 1 root root 0 2018-05-15 17:48 dm-0 -> ../devices/virtual/block/dm-0
lrwxrwxrwx 1 root root 0 2018-05-15 17:48 mmcblk0 -> ../devices/soc.0/7824900.sdhci/mmc_host/mmc0/mmc0:0001/block/mmcblk0
lrwxrwxrwx 1 root root 0 2018-05-15 17:48 mmcblk0rpmb -> ../devices/soc.0/7824900.sdhci/mmc_host/mmc0/mmc0:0001/block/mmcblk0/mmcblk0rpmb
lrwxrwxrwx 1 root root 0 2018-05-15 17:48 mmcblk1 -> ../devices/soc.0/7864900.sdhci/mmc_host/mmc1/mmc1:0007/block/mmcblk1

Le système ci-dessus possède

1.2 - Liste des partitions

1.2.1 A partir de /proc/partitions

crackling:/ # cat /proc/partitions                                                                                                       
major minor #blocks name

179 0 15267840 mmcblk0
179 1 512 mmcblk0p1
179 2 512 mmcblk0p2
179 3 1024 mmcblk0p3
179 4 1024 mmcblk0p4
179 5 512 mmcblk0p5
179 6 512 mmcblk0p6
179 7 512 mmcblk0p7
179 8 512 mmcblk0p8
179 9 512 mmcblk0p9
179 10 512 mmcblk0p10
179 11 4 mmcblk0p11
179 12 1536 mmcblk0p12
179 13 1536 mmcblk0p13
179 14 1024 mmcblk0p14
179 15 1 mmcblk0p15
179 16 8 mmcblk0p16
179 17 10240 mmcblk0p17
179 18 512 mmcblk0p18
179 19 65536 mmcblk0p19
179 20 32 mmcblk0p20
179 21 65536 mmcblk0p21
179 22 1536 mmcblk0p22
179 23 16 mmcblk0p23
179 24 32768 mmcblk0p24
179 25 1572864 mmcblk0p25
179 26 32768 mmcblk0p26
179 27 65536 mmcblk0p27
179 28 32768 mmcblk0p28
179 29 153600 mmcblk0p29
179 30 512 mmcblk0p30
179 31 12983791 mmcblk0p31
179 32 4096 mmcblk0rpmb
179 64 30375936 mmcblk1
179 65 16384 mmcblk1p1
179 66 30358511 mmcblk1p2
253 0 30358511 dm-0

1.2.2 A partir de fdisk

$ adb shell fdisk -l /dev/block/mmcblk0
Found valid GPT with protective MBR; using GPT

Disk /dev/block/mmcblk0: 15269888 sectors, 3360M
Logical sector size: 512
Disk identifier (GUID): 52444e41-494f-2044-4d4d-43204449534b
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 15269854

Number Start (sector) End (sector) Size Code Name
2 256 1023 384K 0700 MasterTOC
3 1024 3071 1024K 0700 PIT
4 6144 8191 1024K 0700 MD5HDR
5 8192 9215 512K 0700 STEboot1
6 9216 10239 512K 0700 STEboot2
7 10240 11263 512K 0700 Dnt
8 11264 12287 512K 0700 reserved
9 16384 18431 1024K 0700 CSPSAFS
10 18432 20479 1024K 0700 CSPSAFS2
11 20480 53247 16.0M 0700 EFS
12 53248 86015 16.0M 0700 ModemFS
13 86016 118783 16.0M 0700 ModemFS2
14 118784 221183 50.0M 0700 Fota
15 380928 381055 65536 0700 IPL Modem
16 385024 413695 14.0M 0700 Modem
17 417792 421887 2048K 0700 Loke4
18 421888 425983 2048K 0700 2ndLoke4
19 425984 458751 16.0M 0700 PARAM
20 458752 491519 16.0M 0700 Kernel
21 491520 524287 16.0M 0700 Kernel2
22 524288 2981887 1200M 0700 SYSTEM
23 2981888 4702207 840M 0700 CACHEFS
24 4702208 5357567 320M 0700 HIDDEN
25 5357568 15269854 4839M 0700 DATAFS

1.3 - Taille - occupation - points de montages

crackling:/ # df -h |grep /dev/block                                                                                                     
/dev/block/mmcblk0p25 1.4G 975M 513M 66% /system
/dev/block/mmcblk0p31 12G 5.8G 6.5G 48% /data
/dev/block/mmcblk0p29 148M 14M 134M 10% /cache
/dev/block/mmcblk0p28 27M 240K 27M 1% /persist
/dev/block/mmcblk0p21 64M 52M 12M 81% /firmware
/dev/block/dm-0 29G 5.8G 23G 21% /mnt/expand/b17d8594-37b5-4d2f-b842-1a132d9e8c66

Les principaux types de système de fichier sont ext4, f2fs et vfat. Pour afficher le système de fichier d'une partition :

# mount -f |grep /system
/dev/block/mmcblk0p25 on /system type ext4 (rw,seclabel,relatime,data=ordered)


# blkid
/dev/block/dm-0: UUID="f0068a1a-30e0-45c7-8f91-c3c09afea3c5" TYPE="f2fs"
/dev/block/mmcblk1p1: UUID="57f8f4bc-abf4-655f-bf67-946fc0f9f25b" TYPE="ext4"
/dev/block/mmcblk0p25: UUID="57f8f4bc-abf4-655f-bf67-946fc0f9f25b" TYPE="ext4"
/dev/block/mmcblk0p24: UUID="57f8f4bc-abf4-655f-bf67-946fc0f9f25b" TYPE="ext4"
/dev/block/mmcblk0p23: UUID="57f8f4bc-abf4-655f-bf67-946fc0f9f25b" TYPE="ext4"
/dev/block/mmcblk0p22: UUID="fb9309f0-c90e-425c-94e9-8185b3a023c6" TYPE="f2fs"
/dev/block/mmcblk0p12: UUID="57f8f4bc-abf4-655f-bf67-946fc0f9f25b" TYPE="ext4"
/dev/block/mmcblk0p11: UUID="57f8f4bc-abf4-655f-bf67-946fc0f9f25b" TYPE="ext4"

1. 4 - Carte SD externe

La carte SD externe, lorsqu'elle est présente, peut-être utilisée

golden:/ # df -h |grep /mt/expand
/dev/block/dm-0 15G 1.0G 14G 8% /mnt/expand/f6740725-dc6d-4220-8bae-049ee2c95b7c
golden:/ # blkid |grep mmcblk1p1
/dev/block/mmcblk1p1: UUID="cc975aa0-d3ef-4c42-a00b-e1423abc7ace" TYPE="f2fs"
golden:/ # df -h |grep /storage/                                                
/dev/fuse 4.6G 612M 4.0G 13% /storage/emulated
/dev/fuse 15G 224K 15G 1% /storage/383F-0915
golden:/ # blkid |grep mmcblk1p1
/dev/block/mmcblk1p1: UUID="383F-0915" TYPE="vfat"

Voir en Annexe 1, la sélection de l'un ou l'autre mode.

2 - Montage

Le montage (ou démontage) des systèmes de fichier nécessite les droits root.

2.1 - En mode normal

Le système ne dispose pas de table /etc/fstab. Les commandes mount ou cat /sys/mounts listent les systèmes de fichier montés

$ mount |grep system
/dev/block/mmcblk0p22 on /system type f2fs (r,relatime,background_gc=on,user_xattr,acl,active_logs=6)
~ # mount -o remount,rw /system
~ # mount -o remount,ro /system

2.2 - En mode recovery

~ # cat /etc/fstab
/dev/block/mmcblk0p25 /system ext4 rw 0 0
/dev/block/mmcblk0p31 /data f2fs rw 0 0
/dev/block/mmcblk0p29 /cache f2fs rw 0 0
/dev/block/mmcblk0p28 /persist ext4 rw 0 0
/dev/block/mmcblk0p21 /firmware vfat rw 0 0
/dev/block/dm-0 /sdcard1 f2fs rw 0 0
~ # mount /system

2.3 - Carte SD externe utilisée en extension de la carte SD interne

/mnt/expand/b17d8594-37b5-4d2f-b842-1a132d9e8c66

Son contenu est donné par :

crackling:/ $ ls -l mnt/expand/b17d8594-37b5-4d2f-b842-1a132d9e8c66                                                                                          
total 0
drwxrwx--x 13 system system 3488 2018-05-10 14:15 app
drwxr-x--x 3 root root 3488 1970-01-17 19:34 local
drwxrwx--- 4 media_rw media_rw 3488 2018-01-26 19:00 media
drwxrwx--t 3 system misc 3488 2018-01-22 02:59 misc
drwx--x--x 3 system system 3488 1970-01-17 19:34 user
drwx--x--x 3 system system 3488 1970-01-17 19:34 user_de

3 - Quelques emplacements

3.1 - Applications et données applications

Les principaux emplacements sont :

/system/app/<nom_fichier_paquet_sans_apk>
/system/priv-app/<nom_fichier_paquet_sans_apk>
/data/app/<nom_fichier_paquet_sans_apk>
/data/app-private/<nom_fichier_paquet_sans_apk>

/<Carte_SD_externe>/app/<nom_fichier_paquet_sans_apk>
/data/data/<nom_du_paquet_sans_apk>

/sdcard/<nom_du_paquet_sans_apk>
/sdcard>/Android/<nom_du_paquet_sans_apk>

Exemples :

golden:/ # ls /sdcard/Android/data/org.fdroid.fdroid/cache/apks/f-droid.org--1                                                   
org.billthefarmer.editor_120.apk
......
golden:/ # ls /sdcard/Android/data/com.github.yeriomin.yalpstore/                         <
me.kuder.diskinfo.49908.apk

3.2 - Données utilisateur

crackling:/ # ls /sdcard
846b44643ec609f507828878741e1f9a Birthdays Documents_partagés Magnifier Notifications Ringtones backups myMail rerware
AUDIO PROLog BubbleUPnP Download MapsWithMe OpenSignal TWRP bluetooth navit wifiaudio
Alarms DCIM Iphigenie Movies Pictures Uptodown copie_ecran.jpg osmand wm
Android Documents LazyList Music Podcasts WhatsApp dianxin pdf x

On y trouve par exemple

Photos                         >> /sdcard/DCIM
Documents >> /sdcard/Documents
Téléchargement >> /sdcard/Download
Films >> /sdcard/Movies
Musique >> /sdcard/Music
Photos >> /sdcard/Pictures
Sonneries >> /sdcard/Ringtones
...
Données par application >>/sdcard/<nom_application>
Données par application >>/sdcard/Android/<nom_application>
crackling:/ $ ls -l /sdcard
lrwxrwxrwx 1 root root 21 1970-01-01 01:00 /sdcard -> /storage/self/primary
crackling:/ $ ls -l /storage/self/primary
lrwxrwxrwx 1 root root 19 1970-01-01 13:40 /storage/self/primary -> /mnt/user/0/primary
crackling:/ $ ls -l /mnt/user/0/primary
lrwxrwxrwx 1 root root 19 2018-05-10 21:31 /mnt/user/0/primary -> /storage/emulated/0
crackling:/ $ mount -f |grep /storage/emulated
/mnt/expand/b17d8594-37b5-4d2f-b842-1a132d9e8c66/media on /storage/emulated type sdcardfs (rw,nosuid,nodev,noexec,noatime,fsuid=1023,fsgid=1023,gid=1015,multiuser,mask=6)
golden:/ # ls -l /data/media/                                                  
total 16
drwxrwx--- 19 media_rw media_rw 4096 2018-05-09 21:41 0
drwxrwxr-x 2 media_rw media_rw 4096 2012-01-01 03:49 ob